) y de paso me tiene que guardar todas las cadenas que vaya generando el programa en un archivo ".txt"... Logro que guarde en un archivo, sin embargo a la hora de tratar de mostrar datos por pantalla me genera un error... Aca el codigo que llevo hasta ahora... el codigo lo he tratado de hacer yo sin ayuda de ninguna pagina hasta ahora que pido me den la idea de porque me da este error y si me ayudan les agradezco... Código
include <iostream> #include <fstream> #include <string> int Proceso(); void Centra_Titulo(); void mostrar(); int Proceso() { int lim; int contador; int di[100]; int df[100]; ofstream abrir_datos; abrir_datos.open("Transiciones.txt", ios::out|ios::app); if(abrir_datos.fail()) { cerr>"Error Al Crear Archivo"; cin.get(); cin.get(); } else { cout<<"Cuantos estados desea ingresar: "; cin>>lim; for(contador=0; contador<lim; contador++) { cout<<"Ingrese los datos correspondientes al Estado No. "<<(contador+1)<<" ..."<<endl; cout<<"q";cin>>di[contador]; cout<<"q";cin>>df[contador]; abrir_datos<<di[contador]<<" "<<df[contador]<<endl; } cout<<"La expresion de transiciones es: "<<endl; cout<<"{ "; for(contador=0; contador<lim; contador++) { cout<<" q";cout<<di[contador]<<" ==>"; cout<<" q";cout<<df[contador]; if(contador<lim-1) { cout<<" | "; } } cout<<" }"; abrir_datos.close(); } } void mostrar() { int lim; int contador; int di[100]; int df[100]; ifstream abrir_datos; abrir_datos.open("Transiciones.txt",ios::in|ios::app); abrir_datos>>di[contador]; while (!abrir_datos.eof()) { abrir_datos>>df[contador]; for(contador=0; contador<lim; contador++) { cout<<" q";cout<<di[contador]<<" ==>"; cout<<" q";cout<<df[contador]; if(contador<lim-1) { cout<<" | "; } } cout<<" }"; abrir_datos>>di[contador]; } abrir_datos.close(); } void Centra_Titulo() { char titulo[100]= "Bienvenido al Programa De Automatas Deterministas" ; int pro = strlen(titulo); for (int i=1; i<(40-(pro/2)); i++) cout<<" "; cout<<titulo; } int main () { int cantidad; int opc; Centra_Titulo(); cout<<endl<<endl; cout<<"1. Ingreso de Datos"<<endl; cout<<"2. Mostrar todas las Expresiones desarrolladas"<<endl;; cout<<"3. Salir"<<endl; cout<<"Que desea hacer: "; cin>>opc; switch(opc) { case 1: Proceso(); break; case 2: mostrar(); break; } cin.get(); cin.get(); return 0; }
Pienso que el problema es esta linea de código de la funcion "mostrar":
Código
debido a que allí no ingreso el valor de la variable "lim" como en la funcion proceso, pero igual puede que no sea allí el problema y me lo este imaginando....
for(contador=0; contador<lim; contador++) {
PD: Estoy trabajando en Borland C++





Autor


En línea


