Este programa hace que solo seleccione la parte izquierda de una
regla de producción utilizado archivos de texto.
Código implementado en c++
#include <iostream>
#include <string>
#include <stdlib.h>
#include <iomanip>
#include <fstream>
FILE *doc;
using namespace std;
void recuperarDeArchivo();
void insertar(char *,char *,char *,int pos);
void mosDatos();
const int num=1000;
struct pj{
char no[100];
char ori[100];
char de[100];
};
pj pas[num];
int main(int argc, char** argv) {
string nox[100];
recuperarDeArchivo();
mosDatos ();
}
void recuperarDeArchivo(){
ifstream
lecturaArchivo("producciones.txt", ios::in);// aqui es donde estan almacenadas las producciones.
if(!lecturaArchivo){
cerr<<"No
se pudo abrir el archivo"<<endl;
exit(1);
}
char nox[100];
char orix[100];
char dex[100];
int i=0;
while(lecturaArchivo>>nox>>orix>>dex){
insertar(nox,orix,dex,i);
i++;
}
}
void insertar(char *nx,char *ox,char *dx, int pos){
if(pos==-1){
cout<<"Ya
no hay lugar"<<endl;
return;
}
strcpy
(pas[pos].no, nx);
}
void mosDatos(){
ofstream
salidaArchivo("salidaa.txt", ios::out);// aqui se guarda la parte izquierda de la regla
if(!salidaArchivo){
cerr<<"No
se pudo abrir el archivo"<<endl;
exit(1);
}
cout<<endl;
cout<<"\t\t\t\tREALIZADO
POR:"<<endl;
cout<<"\t\t\tALBERTO
ALEXIS ALVA MARTINEZ"<<endl;
cout<<"\t\t\tCARLOS
LOPEZ IBARRA\n"<<endl;
cout<<setw(1)<<"REGLAS
DE PRODUCCION: "<<endl;
for(int i=0;
i<num;i++){
if(strcmp(pas[i].no,"")!=0){
cout<<"\n"<<setw(1)<<pas[i].no<<endl;
salidaArchivo<<"\n"<<pas[i].no<<endl;
}
}
}
PANTALLA DE SALIDA

0 comentarios :
Publicar un comentario