Más contenido relacionado
La actualidad más candente (20)
Similar a 5... reglas de produccion (20)
Más de Jacqui Venegas (7)
5... reglas de produccion
- 1. CÓDIGO
#include <iostream>
#include <string>
#include <stdlib.h>
#include <iomanip>
#include <fstream>
FILE *doc;
using namespace std;
void insertar (char *,char *,char *, int);
void menu();
void mostrarDatos();
void escribirEnArchivo();
void recuperarDeArchivo();
int buscar (char*);
int buscarLugarVacio();
void inicializar();
const int num=1000;
struct Pasajero{
char nombre[100];
char origen[100];
char destino[100];
double pasaje;
};
Pasajero pas[num];
int main(int argc, char** argv) {
doc=fopen("salida.txt","a+");
char nombrex[100];
char origenx[100];
char destinox[100];
recuperarDeArchivo();
mostrarDatos ();
//return EXIT_SUCCESS;
//return 0;
}
void inicializar(){
for(int i=0; i<num; i++){
strcpy (pas[i].nombre, "");
strcpy (pas[i].origen, "");
strcpy (pas[i].destino, "");
pas[i].pasaje=0;
}
}
void recuperarDeArchivo(){
ifstream lecturaArchivo("PROD.txt",ios::in);
if(!lecturaArchivo){
cerr<<"No se pudo abrir el archivo"<<endl;
exit(1);
}
char nombrex[100];
char origenx[100];
char destinox[100];
int i=0;
while(lecturaArchivo>>nombrex>>origenx>>destinox){
insertar(nombrex,origenx,destinox,i);
i++;
}
}
void escribirEnArchivo(){
- 2. ofstream salidaArchivo("salida.txt", ios::out);
doc=fopen("salida.txt","a+");
if(!salidaArchivo){
cerr<<"No se pudo abrir el archivo"<<endl;
exit(1);
}
for(int i=0; i<num; i++){
if(strcmp(pas[i].nombre,"")!=0){
salidaArchivo<<pas[i].nombre<<' '
<<pas[i] .origen<<' '
<<pas[i].destino<<' '<<pas[i].pasaje<<' '<<endl;
}
}
doc=fopen("salida.txt", "a+");
}
void insertar(char *nx,char *ox,char *dx, int posicion){
if(posicion==-1){
cout<<"Ya no hay lugar"<<endl;
return;
}
strcpy (pas[posicion].nombre, nx);
strcpy (pas[posicion].origen,ox);
strcpy (pas[posicion].destino, dx);
}
void mostrarDatos(){
ofstream salidaArchivo("salidaxx.txt", ios::out);
if(!salidaArchivo){
cerr<<"No se pudo abrir el archivo"<<endl;
exit(1);
}
cout<<endl;
cout<<setw(10)<<"REGLAS DE PRODUCCION"<<' '<<endl;
for(int i=0; i<num;i++){
if(strcmp(pas[i].nombre,"")!=0){
cout<<setw(10)<<pas[i].nombre<<' '<<endl;
}
}
}