Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/12/2006, 01:43
fernandoBH
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Tremenda Duda!!

Hola, tengo una duda en C esque estoy estudiando por que tengo examen y solo tengo algunas dudas para terminar de estudiar, bueno, para practicar estoy haciendo una agenda de mis amigos, utilizando funciones y archivos, solo que no se como hacerle bien.. en fin pegare aqui lo que hize, haber si alguien me ayuda y me explica bien como se hace..

#include<stdio.h>
#include<conio.h>
#include<string.h>
void altas();
void congen();
void conind();
void salir();
void main()
{ int op;
do
{
printf("1-altas\n2-consulta general\n3-consulta individual\n4-salir\n");
printf("opcion?:");
scanf("%d",&op);
switch(op)
{ case 1:clrscr();
altas();
break;
case 2:clrscr();
congen();
break;
case 3:clrscr();
conind();
break;
case 4:clrscr();
salir();
break;
default:clrscr();
printf("opcion no valida");
}
}while(op!=4);
getch();
}
void altas()
{ FILE *arch;
char nom[30],cum[30],dir[40],tel[30],op;
do
{clrscr();
printf("nombre:");
flushall();
gets(nom);
printf("cumplea¤os:");
gets(cum);
printf("direccion:");
gets(dir);
printf("telefono:");
gets(tel);
arch=fopen("c:\amigos.txt","a");
if(arch==NULL)
{
printf("problemas al abrir el archivo de amigos");
getch();
exit(1);
}
fprintf(arch,"%s %s %s %s",nom,cum,dir,tel);
if(fclose(arch)!=0)
{
printf("problemas al cerrar el archivo de amigos");
getch();
}
printf("deceas dar de alta a alguien mas..s/n?:");
scanf("%c",&op);
}while(op=='s');
getch();
}
void congen()
{ clrscr();
FILE *arch;
char nom[30],cum[30],dir[40],tel[30];
arch=fopen("c:\amigos.txt","r");
if(arch==NULL)
{
printf("problemas al abrir el archivo de amigos");
getch();
exit(1);
}
printf("lista de amigos");
fscanf(arch,"%s %s %s %s",nom,cum,dir,tel);
while(feof(arch)==0)
{
printf("nombre: %s\n",nom);
printf("cumplea¤os: %s\n",cum);
printf("direccion: %s\n",dir);
printf("telefono: %s\n",tel);
fscanf(arch,"%s %s %s %s",nom,cum,dir,tel);
}
if(fclose(arch)!=0)
printf("problemas al cerrar el archivo de amigos");
getch();
}
void conind()
{ clrscr();
FILE *arch;
char n[30],nom[30],cum[30],dir[40],tel[30];
int b;
arch=fopen("c:\amigos.txt","r");
if(arch==NULL)
{
printf("problemas al abrir el archivo de amigos");
getch();
exit(1);
}
printf("nombre del amigo: ");
flushall();
get(n);
fscanf(arch,"%s %s %s %s",nom,cum,dir,tel);
while(feof(arch)==0)
{
b=0;
if(strcmp(n,nom)==0)
{
b=1;
printf("nombre: %s\m",nom);
printf("cumplea¤os: %s\n",cum);
printf("direccion: %s\n",dir);
printf("telefono: %s\n",tel);
}
fscanf(arch,"%s %s %s %s",nom,cum,dir,tel);
}
if(fclose(arch)!=0)
printf("problemas al cerrar archivo de amigos");
if(b==0)
printf("no se encontro ese nombre");
getch();
}
void salir()
{
clrscr();
printf("adios");
getch();
}

bien...para aclarar la duda, no se como combinar funciones y archivos, no se si tenga que regresar algun valor para que en la segunda funcion de consulta general pues agarre bien... espero que me ayuden gracias.