Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/06/2009, 18:17
BateroCarbon
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 14 años, 11 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 );

}