Título: problema con modificar registros Publicado por: bambam93 en 1 Mayo 2014, 04:24 am Buenas gente, miren tengo que entregar un menu para la universidad y ya que me tiene loco esta parte paso por aca a pedir su ayuda.
mi problema es que no puedo modificar los registros guardados en un txt. e intentado con varios codigos y nada, dejo el codigo (solo tiene ingresar y consultar )haber si me pueden ayudar #include <string.h> #include <stdio.h> #include <stdlib.h> FILE*doc; int cont=0; char s; char c; struct computador{ char codigometro[5]; char serial[10]; char modelo [15]; char marca [15]; char memoria [7]; char discoduro [7]; char procesador [15]; char velocidapro [7]; char serialmo [10]; char modelomo [15]; char marcamo[15]; char serialmou [10]; char modelomou [15]; char marcamou [15]; char serialte [10]; char modelote [15]; char marcate [15]; char serialcor [10]; char modelocor [15]; char marcacor [15]; };//cierre struct computador struct lapto{ char codigometro [5]; char serial [10]; char modelo [15]; char marca[15]; char memoria[7]; char discoduro [7]; char procesador [15]; char velocidapro [7]; };//cierre structlapto int main(){ char op; lapto lapto; computador computador; int opcion; system("color 1f"); printf("\n\n\n\n\t\t\t\t--- BIENVENIDOS ---"); printf("\n\n\t\t\tPrograma de Registro de Requerimientos "); printf("\n\t\t\t de la Gerencia de Soporte Tecnico "); printf("\n\t\t\t\tde C.A. Metro de Caracas \n\n\n\n\t\t\t"); system ("PAUSE"); system ("CLS"); do{ printf("\n\n\t\t\t\t Menu Principal"); printf("\n\n\n\t\t\t Ingresar Equipo (1)"); printf("\n\n\t\t\t Consultar Equipo (2)"); printf("\n\n\t\t\t Modificar Equipo (3)"); printf("\n\n\t\t\t Eliminar Equipo (4)"); printf("\n\n\t\t\t Creditos del proyecto (5)"); printf("\n\n\t\t\t Salir del programa (6)"); printf("\n\n\n\n\t\t\t Digite el numero de su opcion: "); scanf ("%d",& opcion); system ("CLS"); switch (opcion) {//switch menu principal case 1: printf("\n\n\t\t\t\tMenu Ingresar"); printf("\n\n\t\t\t\tComputador (1)"); printf("\n\n\t\t\t\tLaptop (2)"); printf("\n\n\n\n\t\tElija por teclado la opcion con la cual trabajara: "); scanf ("%d",& opcion); system ("CLS"); switch (opcion) //switch ingresar { case 1: doc = fopen("computador.txt","a"); do{ printf("\nIntroduzca los siguientes datos"); printf("\n\n Codigo Metro: "); scanf("%s",computador.codigometro); printf("\n\t\t\t\t COMPUTADOR "); printf("\n\n\tSerial: "); scanf("%s",computador.serial); printf("\n\tMarca: "); scanf("%s",computador.marca); printf("\n\tModelo: "); scanf("%s",computador.modelo); printf("\n\tMemoria RAM: "); scanf("%s",computador.memoria); printf("\n\tCapacidad Disco Duro: "); scanf("%s",computador.discoduro); printf("\n\tModelo procesador: "); scanf("%s",computador.procesador); printf("\n\tVelocidad del procesador: "); scanf("%s",computador.velocidapro); printf("\n\t\t\t\t MONITOR "); printf("\n\n\tSerial: "); scanf("%s",computador.serialmo); printf("\n\tMarca: "); scanf("%s",computador.marcamo); printf("\n\tModelo: "); scanf("%s",computador.modelomo); printf("\n\t\t\t\t TECLADO "); printf("\n\n\tSerial: "); scanf("%s",computador.serialte); printf("\n\tMarca: "); scanf("%s",computador.marcate); printf("\n\tModelo: "); scanf("%s",computador.modelote); printf("\n\t\t\t\t MOUSE "); printf("\n\n\tSerial: "); scanf("%s",computador.serialmou); printf("\n\tMarca: "); scanf("%s",computador.marcamou); printf("\n\tModelo: "); scanf("%s",computador.modelomou); printf("\n\t\t\t\t CORNETAS "); printf("\n\n\tSerial: "); scanf("%s",computador.serialcor); printf("\n\tMarca: "); scanf("%s",computador.marcacor); printf("\n\tModelo: \n\n"); scanf("%s",computador.modelocor); system ("PAUSE"); fprintf(doc,"\n\n Codigo Metro: %s",computador.codigometro); fprintf(doc,"\n\t\t\t\t COMPUTADOR "); fprintf(doc,"\n\n Serial: %s",computador.serial); fprintf(doc,"\t\t Marca: %s",computador.marca); fprintf(doc,"\t\t Modelo: %s\n\n",computador.modelo); fprintf(doc," Memoria RAM: %s",computador.memoria); fprintf(doc,"\t\t\tCapacidad Disco Duro: %s",computador.discoduro); fprintf(doc,"\n\n Modelo procesador: %s",computador.procesador); fprintf(doc,"\t Velocidad del procesador: %s",computador.velocidapro); fprintf(doc,"\n\n\t\t\t\t MONITOR ") ; fprintf(doc,"\n\n Serial: %s",computador.serialmo); fprintf(doc,"\t\t Marca: %s",computador.marcamo); fprintf(doc,"\t\t Modelo: %s\n\n",computador.modelomo); fprintf(doc,"\n\t\t\t\t TECLADO "); fprintf(doc,"\n\n Serial: %s",computador.serialte); fprintf(doc,"\t\t Marca: %s",computador.marcate); fprintf(doc,"\t\t Modelo: %s\n\n",computador.modelote); fprintf(doc,"\n\t\t\t\t MOUSE "); fprintf(doc,"\n\n Serial: %s",computador.serialmou); fprintf(doc,"\t\t Marca: %s",computador.marcamou); fprintf(doc,"\t\t Modelo: %s\n\n",computador.modelomou); fprintf(doc,"\n\t\t\t\t CORNETAS "); fprintf(doc,"\n\n Serial: %s",computador.serialcor); fprintf(doc,"\t\t Marca: %s",computador.marcacor); fprintf(doc,"\t\t Modelo: %s",computador.modelocor); fprintf(doc,"\n\n\t\t\t----------------------------------------------\n\n"); fprintf(doc,"\n\n\t\t\t----------------------------------------------\n\n"); cont++; printf("\nIngresar otro? (s/n)"); fflush( stdin ); scanf( "%c", &s); system ("CLS"); }while ( s != 'n'&& s != 'N' ); fclose(doc); printf ("Usted ingreso %d registros nuevos \n\n\n",cont); system ("PAUSE"); break; case 2: doc = fopen("lapto.txt","a"); do{ printf(" Introduzca los siguientes datos"); printf("\n Codigo Metro: "); scanf("%s",lapto.codigometro); printf("\n Serial: "); scanf("%s",lapto.serial); printf("\n Marca: "); scanf("%s",lapto.marca); printf("\n Modelo: "); scanf("%s",lapto.modelo); printf("\n Memoria RAM: "); scanf("%s",lapto.memoria); printf("\n Disco Duro: "); scanf("%s",lapto.discoduro); printf("\n Modelo procesador: "); scanf("%s",lapto.procesador); printf("\n velocidad del procesador: "); scanf("%s",lapto.velocidapro); fprintf(doc,"\n\n Codigo Metro: %s",lapto.codigometro); fprintf(doc,"\n\t\t\t\t LAPTOS "); fprintf(doc,"\n\n Serial: %s",lapto.serial); fprintf(doc,"\t\t Marca: %s",lapto.marca); fprintf(doc,"\t\t Modelo: %s\n\n",lapto.modelo); fprintf(doc," Memoria RAM: %s",lapto.memoria); fprintf(doc,"\t\t\t Capacidad Disco Duro: %s",lapto.discoduro); fprintf(doc,"\n\n\t\tModelo procesador: %s",lapto.procesador); fprintf(doc,"\t\tVelocidad del procesador: %s",lapto.velocidapro); fprintf(doc,"\n\n\t\t----------------------------------------------\n\n "); cont++; printf("\nIngresar otro? (s/n)"); fflush( stdin ); scanf( "%c", &s); system ("CLS"); }while ( s != 'n'&& s != 'N' ); fclose(doc); printf ("Usted ingreso %d registros nuevos \n\n\n",cont); system ("PAUSE"); break; default: printf ("Usted selecciono una opcion invalida\n"); system ("PAUSE"); break; } //cierre switch ingresar break; // case 1 switch ingresar case 2: printf("\n\n\t\t\t\tMenu Ingresar"); printf("\n\n\t\t\t\tComputador (1)"); printf("\n\n\t\t\t\tLapto (2)"); printf("\n\n\n\n\t\tElija por teclado la opcion con la cual trabajara: "); scanf ("%d",& opcion); system ("CLS"); switch (opcion) //switch consultar { case 1: doc = fopen("computador.txt","r"); if(doc==NULL) { printf ("Error al momento de encontrar el archivo\n\n\n"); system ("PAUSE"); return 1; } while ((c= getc(doc)) != EOF){ if (c=='\n') printf("\n"); else printf ("%c",c); } system ("PAUSE"); fclose(doc); break; case 2: doc = fopen("lapto.txt","r"); if(doc==NULL) { printf ("Error al momento de encontrar el archivo\n\n\n"); system ("PAUSE"); return 1; } while ((c= getc(doc)) != EOF){ if (c=='\n') printf("\n"); else printf ("%c",c); } system ("PAUSE"); fclose(doc); break; default: printf ("Usted selecciono una opcion invalida\n"); system ("PAUSE"); break; } //cierre switch consultar break; case 3: printf ("modificar\n"); system ("PAUSE"); break; case 4: printf ("eliminar\n"); system ("PAUSE"); break; case 5: printf ("\n\n\n\t\t\t REALIZADO POR:\n"); break; case 6: printf ("salir\n"); system ("PAUSE"); break; default: printf ("Usted seleccionó una opción invalida\n"); system ("PAUSE"); break; } //cierre switch menu principal system ("CLS"); printf("\nDesea seguir utilizando el programa.? (s/n)"); fflush( stdin ); scanf( "%c", &op); system ("CLS"); }while ( op != 'n'&& op != 'N' ); } //cierre del programa |