C/Visual C - proyecto fin carrera en c++ URGE

 
Vista:

proyecto fin carrera en c++ URGE

Publicado por Cristi (44 intervenciones) el 13/04/2006 17:54:54
hola muy buenas a todos. Necesito ayuda, stoy con un proyecto de c++ y estoy atascada, creo q lo ue me keda es facil pero no se solucionar lo que tengo y por tanto no puedo seguir. tengo practicamente todo echo, de echo hay un ejemplo ya funcionante, pero no se , el resto no me va aunque esta echo igual.
Si alguien puede ayudarme , por favor se ponga en contacto y juntos miramos en poco tiempo el programa y le explico. os mando la parte que va pero solo el codigo, pra q os hagais una idea, el resto seria lo mismo con varibles diferentes. La ultima parte de codigo es sustituir los valores anteriores por los neuvos, falta algo de codigo, aunq la mayoria esta en comentario
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

void texto::menu_texto(string line_aux) //BUSCO EL TEXTO Q KIERO EN EL FICHERO
{
int opc;
do
{
system("cls");
cout << " MENU TEXTO" << endl;
cout << "1. Tipo de letra" << endl;
cout << "2. Tamano" << endl;
cout << "3. Color" << endl;
cout << "4. Subrayado/Negrita/Cursiva" << endl;
cout << "5. Leyenda" << endl;
cout << "6. Salir" << endl;
cout << "Elije la opcion que deseas modificar el texto" << endl;

cin >> opc;

const int SIZE=2000;

char *line=new char[2000];
string copy;

copy="<FONT FACE";

ifstream in ("PaginaPrincipal1.html");

switch(opc)

{
case 1:
cout << "Tipo de Letra" << endl;

while (in.getline(line, SIZE)!=NULL)
{
if (line==line_aux)
{
break;
}
}

cout << line << endl;

int u;
do
{
in.getline(line,SIZE);

u=0;
for(int i=0;i<copy.size();++i)
if(copy.at(i)!=line[i])
break;
else
u++;
}while(u<10);

cout << line << endl;
fflush(stdin);
cin.get();

modificar_letra(line);
pedir_texto("tipoletra",1);
reescribir_texto(line);
break;

case 2:
cout << "Tamano" << endl;
while (in.getline(line, SIZE)!=NULL)
{
if (line==line_aux)
{
break;
}
}

cout <<line<<endl;

do
{
in.getline(line,SIZE);

u=0;
for(int i=0;i<copy.size();++i)
if(copy.at(i)!=line[i])
break;
else
u++;
}while(u<10);

cout << line << endl;
fflush(stdin);
cin.get();

modificar_letra(line);

pedir_texto("Tamano", 2);
reescribir_texto(line);

break;
case 3:
cout << "Color" << endl;
while (in.getline(line, SIZE)!=NULL)
{
if (line==line_aux)
{

break;
}
}

cout <<line<<endl;
do
{
in.getline(line,SIZE);

u=0;
for(int i=0;i<copy.size();++i)
if(copy.at(i)!=line[i])
break;
else
u++;
}while(u<10);

cout << line << endl;
fflush(stdin);
cin.get();
modificar_letra(line);
pedir_texto("Color", 3);
reescribir_texto(line);

break;
case 4:
cout << "Subrayado" << endl;
while (in.getline(line, SIZE)!=NULL)
{
if (line==line_aux)
{
break;
}
}
cout <<line<<endl;
do
{
in.getline(line,SIZE);

u=0;
for(int i=0;i<copy.size();++i)
if(copy.at(i)!=line[i])
break;
else
u++;
}while(u<10);

cout << line << endl;
fflush(stdin);
cin.get();
modificar_letra(line);
pedir_texto("Subrayado", 4);
reescribir_texto(line);

break;
case 5:
cout << "Leyenda" << endl;
while (in.getline(line, SIZE)!=NULL)
{
if (line==line_aux)
{
break;
}
}
cout <<line<<endl;
do
{
in.getline(line,SIZE);

u=0;
for(int i=0;i<copy.size();++i)
if(copy.at(i)!=line[i])
break;
else
u++;
}while(u<10);
in.getline(line,SIZE);
cout << line << endl;

fflush(stdin);
cin.get();
modificar_letra(line);
pedir_texto("Leyenda", 5);
reescribir_texto(line);
break;
}
}while(opc!=6);

}

string texto::modificar_letra(string a) //BUSCO EL CONTENIDO DE LAS VARIABLES PARA MODIFICAR
{

string tipo="FACE=\"";
tipoletra="";
string b;

int i=0;
int t=0;
do{
if (a.at(i)!=tipo[t])
{
++i;
t=0;
}
else
{
++t;
++i;
}
}while (t<6);
fflush(stdin);
cin.get();

while (a.at(i)!='"')
{
b=a.at(i);
tipoletra.append(b);
++i;
}
cout <<tipoletra<<endl;
fflush(stdin);
cin.get();

tipo="COLOR=\"";
colour="";
t=0;
do{
if (a.at(i)!=tipo[t])
{
++i;
t=0;
}
else
{
++t;
++i;
}
}while (t<7);
fflush(stdin);
cin.get();

while (a.at(i)!='"')
{
b=a.at(i);
colour.append(b);
++i;
}
cout<<colour<<endl;
fflush(stdin);
cin.get();

tipo="Size=\"";
tamano="";

t=0;

do{
if(a.at(i)!=tipo[t])
{
++i;
t=0;
}
else
{
++t;
++i;
}
}while (t<6);
fflush(stdin);
cin.get();

while (a.at(i)!='"')
{
b=a.at(i);
tamano.append(b);
++i;
}
cout <<tamano<<endl;
fflush(stdin);
cin.get();

subrayado="";
for(i=a.size()-2;i>a.size()-11;--i)
{
if (a.at(i)=='B' || a.at(i)=='S' || a.at(i)=='I')
{
b=a.at(i-1);
subrayado.append(b);
b=a.at(i);
subrayado.append(b);
b=a.at(i+1);
subrayado.append(b);
}
}
cout<<subrayado<<endl;
fflush(stdin);
cin.get();

return("Hola");
}

void texto::pedir_texto (string a, int b)//PIDO LOS NUEVOS VALORES
{
string letras;
string tamanio;
string colores;
string ley;
switch (b)
{
case 1:{
cout <<"introduce "<<a <<" nueva"<<endl;
cin>>letras;
//Controlar los errores
tipoletra=letras;
}
break;

case 2: {
cout <<"introduce "<<a<<" nueva"<<endl;
cin>>tamanio;
tamano=tamanio;
}
break;

case 3: {
cout <<"introduce "<<a<<" nueva"<<endl;
cin>>colores;
colour=colores;
}
break;

case 4: {/*
cout <<"introduce "<<a<<" nueva<<endl;
cin>>S;
*/
}
break;
case 5: {
cout <<"introduce "<<a<<" nueva"<<endl;
cin>>ley;
leyenda=ley;
}
break;
}

}

void texto::reescribir_texto (string line_aux) //CAMBIO VIEJOS POR NUEVOS.
{
const int SIZE =2000;
char *line =new char [SIZE];
// string line_aux;

// ifstream in ("PaginaPrincipal1.html");
// ofstream out("PaginaPrincipal2.html");

/* while (in.getline(line, SIZE)!=NULL)
{
out << line << endl;
if (line==line_aux)
{
break;
}
}*/
/* cout<<line<<endl;
fflush(stdin);
cin.get();*/

string a="<FONT FACE=\"";
a.append(tipoletra);
cout << a << endl;
a.append("\" COLOR=\"");
cout << a << endl;
a.append(colour);
cout << a << endl;
a.append("\" Size=\"");
a.append(tamano);
cout << a << endl;
a.append("\">");
a.append(subrayado);
cout << a << endl;
// out << a << endl;
// in.getline(line,SIZE);

/* while (in.getline(line, SIZE)!=NULL)
{
out << line << endl;
}
out.close();*/

fflush(stdin);
cin.get();

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder