02/06/2009, 18:17
|
| | Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 7 meses Puntos: 0 | |
Respuesta: Mmmm duda con programa en C++, help? Gracias kataty, mira esto es lo que llevo, pero no me guarda en un archivo... esta bien lo que estoy haciendo? Le pregunte al profesor y me dijo que tenia que usar la sentencia "write":
#include<stdio.h>
#include<string.h>
int cantAl;
int totalAl;
struct Alumno
{
char nombre[20];
char apellido[20];
char mail[20];
char rut[10];
char direccion[30];
char telefono[8];
}alumnos[100];
void ingresar();
int buscar();
void guardar();
int main()
{
cantAl = 0;
int menu;
printf("Menu\n");
printf("1.- Ingresar Alumnos\n");
printf("2.- Grabar alumnos en archivo\n");
printf("3.- Buscar un alumno\n");
printf("4.- Salir\n");
scanf("%d", &menu);
if(menu == 1)
{
ingresar();
}
else if(menu == 2)
{
guardar();
}
else if(menu == 3)
{
int al;
al = buscar();
if(al!=-1)
{
printf("Alumno encontrado\n");
printf(" rut: %s\n", alumnos[al].rut);
printf(" apellido: %s\n", alumnos[al].apellido);
printf(" nombre: %s\n", alumnos[al].nombre);
printf(" mail: %s\n", alumnos[al].mail);
printf(" direccion: %s\n", alumnos[al].direccion);
printf(" telefono: %s\n", alumnos[al].telefono);
}
else
printf("No encontrado\n");
}
else if(menu == 4)
{
return(0);
}
else
{
printf("numero invalido, vuelva a intentarlo\n");
}
main();
}
void ingresar()
{
printf("Ingrese nombre:");
scanf("%s",alumnos[cantAl].nombre);
printf("\nIngrese Apellido:");
scanf("%s",alumnos[cantAl].apellido);
printf("\nIngrese mail:");
scanf("%s",alumnos[cantAl].mail);
printf("\nIngrese rut:");
scanf("%s",alumnos[cantAl].rut);
printf("\nIngrese direccion:");
scanf("%s",alumnos[cantAl].direccion);
printf("\nIngrese telefono:");
scanf("%s",alumnos[cantAl].telefono);
cantAl++;
}
int buscar()
{
char rutAl[10];
printf("Ingrese el rut del alumno:");
scanf("%s", rutAl);
int i;
for (i = 0; i < cantAl; i++)
{
if(strcmp(alumnos[i].rut, rutAl) == 0)
{
break;
}
}
if(i != cantAl)
return (i);
else
return (-1);
}
void guardar()
{
FILE *fp;
fp = fopen("fichero.txt", "r");
printf("cant al:%d\n", cantAl);
for(int i = 0; i < cantAl; i++)
{
fprintf(fp, "%s;%s;%s;%s;%s;%s\n", alumnos[i].rut,alumnos[i].apellido,alumnos[i].nombre, alumnos[i].mail, alumnos[i].direccion,alumnos[i].telefono);
}
fclose ( fp );
} |