Título: ayuda con este codigo porfaavor Publicado por: david0903 en 30 Noviembre 2012, 10:30 am alguien me puede ayudar a modificar este codigo para que pueda ser compilado en dev-c++
#include <stdio.h> #include <string.h> #include <conio.h> typedef struct alumno{ char nombre[20]; char direccion[30]; int nota; } Alumno; /* Arreglo que almacena alumnos */ Alumno alumnos[100]; /* Contiene el numero de alumnos actual */ int total = 0; void cargar(), guardar(), insertar(Alumno info); void ingresar(), buscar(), modificar(), eliminar(), ordenar(), mostrar(); char menu(void); void main(void) { clrscr(); cargar(); char op; for(;;) { switch(op=menu()) { case '1': ingresar(); getch(); break; case '2': buscar(); getch(); break; case '3': modificar(); getch(); break; case '4': eliminar(); getch(); break; case '5': ordenar(); getch(); break; case '6': mostrar(); getch(); break; case '7': break; default : printf("Opcion no valida"); getch(); break; } if(op=='7') break; clrscr(); } printf("Presione (g) para guardar los cambios: "); if(getche()=='g') guardar(); } void insertar(Alumno info) { strcpy(alumnos[total].nombre, info.nombre); strcpy(alumnos[total].direccion, info.direccion); alumnos[total].nota = info.nota; total++; } void cargar() { Alumno info; FILE *fp; fp=fopen("alumnos.txt","r"); if(fp==NULL) { printf("No se puede abrir el archivo\n"); return; } while(!feof(fp)) { if(fread(&info, sizeof(Alumno), 1, fp)!=1) break; insertar(info); } fclose(fp); } void guardar() { Alumno info; FILE *fp; fp=fopen("alumnos.txt","w"); if(fp==NULL) { printf("No se puede abrir el archivo\n"); return; } for(int i=0; i<total; i++) fwrite(&alumnos, sizeof(Alumno), 1, fp); fclose(fp); } void ingresar() { Alumno info; printf("Ingrese nombre: "); gets(info.nombre); printf("Ingrese direccion: "); gets(info.direccion); printf("Ingrese nota: "); scanf("%d", &(info.nota)); insertar(info); printf("Alumno ingresado exitosamente"); } void buscar() { char nombre[20]; int i; printf("Ingrese nombre a buscar: "); gets(nombre); for(i=0; i<total; i++) if(!strcmp(alumnos.nombre, nombre)) { printf("--- Datos del alumno ---\n"); printf("Num.: %d\n", i+1); printf("Nombre: %s\n", alumnos.nombre); printf("Direccion: %s\n", alumnos.direccion); printf("Nota: %d", alumnos.nota); break; } if(i==total) printf("Alumno no encontrado"); } void modificar() { char nombre[20]; int i; printf("Ingrese nombre a modificar: "); gets(nombre); for(i=0; i<total; i++) if(!strcmp(alumnos.nombre, nombre)) { printf("--- Datos actuales del alumno ---\n"); printf("Num.: %d\n", i+1); printf("Nombre: %s\n", alumnos.nombre); printf("Direccion: %s\n", alumnos.direccion); printf("Nota: %d\n\n", alumnos.nota); printf("--- Nuevos datos del alumno ---\n"); printf("Ingrese nombre: "); gets(alumnos.nombre); printf("Ingrese direccion: "); gets(alumnos.direccion); printf("Ingrese nota: "); scanf("%d", &(alumnos.nota)); printf("\n\nDatos actualizados exitosamente!"); break; } if(i==total) printf("Alumno no encontrado"); } void eliminar() { char nombre[20]; int i; printf("Ingrese nombre a eliminar: "); gets(nombre); for(i=0; i<total; i++) if(!strcmp(alumnos.nombre, nombre)) { /* Recorre registros posteriores */ for(int j=i+1; j<total; j++) { strcpy(alumnos[j-1].nombre, alumnos[j].nombre); strcpy(alumnos[j-1].direccion, alumnos[j].direccion); alumnos[j-1].nota = alumnos[j].nota; } printf("Alumno eliminado"); total--; break; } if(i==total) printf("Alumno no encontrado"); } void ordenar() { int i, j; Alumno temp; for(i=0; i<total-1; i++) { for(j=i+1; j<total; j++) if(strcmp(alumnos.nombre, alumnos[j].nombre)>0) { /* Copia en variable temporal datos actuales */ strcpy(temp.nombre, alumnos.nombre); strcpy(temp.direccion, alumnos.direccion); temp.nota = alumnos.nota; /* Intercambia informacion */ strcpy(alumnos.nombre, alumnos[j].nombre); strcpy(alumnos.direccion, alumnos[j].direccion); alumnos.nota = alumnos[j].nota; strcpy(alumnos[j].nombre, temp.nombre); strcpy(alumnos[j].direccion, temp.direccion); alumnos[j].nota = temp.nota; } } printf("Se han ordenado los registros"); } void mostrar() { printf("--- Listado de alumnos ---\n"); printf("Num. - Nombre - Direccion - Nota\n"); for(int i=0; i<total; i++) { printf("%d - ", i+1); printf("%s - ", alumnos.nombre); printf("%s - ", alumnos.direccion); printf("%d\n", alumnos.nota); } } char menu(void) { char c; printf("(1)Ingresar, (2)Buscar, (3)Modificar, (4)Eliminar, (5)Ordenar, (6)Mostrar lista\n(7)Salir\n"); printf("Seleccion: "); c=getche(); printf("\n"); return(c); } Título: Re: ayuda con este codigo porfaavor Publicado por: durasno en 30 Noviembre 2012, 18:41 pm Citar modificar este codigo para que pueda ser compilado en dev-c++ ese es tu trabajo; si tenes dudas en algo preguntaSAludos |