Dev - C++ - manejo de archivos en cpp

 
Vista:
sin imagen de perfil

manejo de archivos en cpp

Publicado por Rodrigo (1 intervención) el 08/07/2021 06:11:47
Buenas tardes , quería pedir ayuda a alguna persona que pueda solucionar mi problema

La actividad es realizar un sistema que permita guardar datos en archivo txt

Clientes-(cédula,edad,teléfono,nombre,apellido)
Producto-(nombre,código,cantidad)

Este mismo trabajo tienes validaciones

Las cuales son , no puede existir dos cédulas iguales , no pueden existir dos códigos de producto iguales y solo se permiten registrar clientes mayores de edad

No se programar mucho , hice algo del programa , tiene menú y registra tanto cliente como producto y cumple con la validación de no registrar mayores de edad

El problema es que no me permite registrar mas de un cliente o mas de un producto , y me falta hacer las otras dos validaciones, y no las puedo hacer hasta que arregle que el programa me permita registrar a mas clientes o productos

Necesito ayuda para poder terminar mi programa , si alguien me puede ayudar a terminar mi programa se lo agradecería mucho.

Este es mi código

#include <fstream>
#include <stdio.h>
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
int opcion;
bool repetir = true;

FILE *fichero;
int i;

fichero = fopen("Registro.txt", "wt");
if (fichero == NULL)
printf("No se pudo abrir el archivo.\n");

do {
system("cls");


cout << "\n\nMenu de Registro" << endl;
cout << "1.Registrar Cliente" << endl;
cout << "2.Registrar Producto" << endl;
cout << "0.Salir" << endl;

cout << "\nIngrese una opcion: ";
cin >> opcion;

switch (opcion) {
case 1:

struct datos
{
char Nombre[21];
int Edad;
char Ape[10];
char Telf[20];
char Cedu[20];

char producto[21];
char codi[21];
char cant[21];


}persona;



{


int Edad;

do{

puts("Edad:");
scanf("%d", &persona.Edad);
getchar();


}while(persona.Edad<18);

fprintf(fichero, "%d ", persona.Edad);




puts("\nNombre:");
gets(persona.Nombre);
fprintf(fichero, "%s ", persona.Nombre);
puts("Apellido: ");
gets(persona.Ape);
fprintf(fichero, "%s ", persona.Ape);
puts("Telefono: ");
gets(persona.Telf);
fprintf(fichero, "%s ", persona.Telf);
puts("Cedula: ");
gets(persona.Cedu);
fprintf(fichero, "%s ", persona.Cedu);
fclose(fichero);



}
fichero = fopen("Registro.txt", "rt");
if (fichero == NULL)
printf("No se pudo abrir el archivo.\n");
else
{
while (!feof(fichero))

{
fgets(persona.Nombre, 21, fichero);
puts(persona.Nombre);
fscanf(fichero, "%d", &persona.Edad);
getchar();
printf("%d", persona.Edad);
fgets(persona.Ape, 10, fichero);
puts(persona.Ape);
fgets(persona.Telf, 20, fichero);
puts(persona.Telf);
fgets(persona.Telf, 20, fichero);
puts(persona.Telf);
}
fclose(fichero);
}

system("pause>nul");
break;

case 2:



{


puts("\nRegistrar Producto");
gets(persona.producto);
fprintf(fichero, "%s ", persona.producto);

puts("\nNombre del Producto: ");
gets(persona.producto);
fprintf(fichero, "%s ", persona.producto);
puts("\nRegistrar Codigo de Producto: ");
gets(persona.codi);
fprintf(fichero, "%s ", persona.codi);
puts("\nRegistrar Cantidad de Producto: ");
gets(persona.cant);
fprintf(fichero, "%s ", persona.cant);

fclose(fichero);
}
fichero = fopen("Registro.txt", "rt");
if (fichero == NULL)
printf("No se pudo abrir el archivo.\n");
else
{
while (!feof(fichero))

{

fgets(persona.producto, 21, fichero);
puts(persona.producto);
fgets(persona.codi, 21, fichero);
puts(persona.codi);
fgets(persona.cant, 21, fichero);
puts(persona.cant);

}
fclose(fichero);
}

system("pause>nul");
break;

case 0:
repetir = false;
break;
}
} while (repetir);

return 0;
}
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