Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/12/2006, 07:36
Aprendiz-DAO
 
Fecha de Ingreso: diciembre-2006
Mensajes: 13
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Tremenda Duda!!

Bueno tenías algunos errores del estilo: antes de declarar las variables hacías un clrscr(). Después cambié otras cosas (saque algunos ciclos while por ejemplo) y seguí la recomendación de MaxExtreme de definir al clrscr como función del sistema (Igualmente creo que me equivoqué en incluir la libreria que contiene la función system... por eso no funciona tal vez...).
Después la consulta individual no funciona bien... (pido ayuda jej!), pero la dejé planteada para que veas como la pretendía realizar. (Algunas cosas las hice de una forma distinta a como las habías planteado).

Código:
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
#define N 30
#define W 40

#ifdef WIN32   
#define clrscr() system("cls");
#else
#define clrscr() system("clear");
#endif		   


int Menu(void)
{
	int opcion;

	printf("0-salir\n1-altas\n2-consulta general\n3-consulta individual\n");// empieza con 0
	printf("opcion?:");
	scanf("%i",&opcion);
	getc(stdin);
	return opcion;
}

void altas();
void congen();
void conind();
void salir();

void main(void)
{
	int opcion;

    opcion= Menu();
    while(opcion!=0)
    {
        switch(opcion)
        {
        case 1: 
            clrscr();
			altas();
            break;
        case 2:
			clrscr();
			congen();
            break;
        case 3:
			clrscr();
			conind();
            break;
        default:
            printf("Ingrese una opcion correcta\n");
            break;
        }
        opcion= Menu();
    }
	salir();
}


void altas()
{ 
	FILE *arch;
	char nom[N],cum[N],dir[W],tel[N];
	
	clrscr();
	printf("nombre:");
	flushall();
	gets(nom);
	printf("cumplea¤os:");
	gets(cum);
	printf("direccion:");
	gets(dir);
	printf("telefono:");
	gets(tel);
	arch=fopen("amigos.txt","a");
	
	if(arch==NULL)
	{
		printf("problemas al abrir el archivo de amigos\n");
		getc(stdin);
		exit(1);
	}
	fprintf(arch,"Nombre:\n%s\nCumplea¤os:\n%s\nDireccion:\n%s\nTelefono:\n%s\n",nom,cum,dir,tel);
	
	if(fclose(arch)!=0)
	{
		printf("problemas al cerrar el archivo de amigos\n");
		getc(stdin);
	}
	
}

void congen()
{ 
	FILE *arch;
	int nro=1;
	char DATOS[N];
	
	clrscr();
	arch=fopen("amigos.txt","r");
	if(arch==NULL)
	{
		 printf("problemas al abrir el archivo de amigos\n");
		 getc(stdin);
		 exit(1);
	}
	printf("\nLista de amigos\n\n");
	fgets(DATOS,N,arch);

	while(feof(arch)==0)
	{
		printf("%s",DATOS);
		fgets(DATOS,N,arch);

		if((nro!=0)&&((nro%8)==0))
		{
			printf("\nPulse enter para continuar\n");
			getc(stdin);
		}
		else
		{
			if((nro!=0)&&((nro%2)==0))
				printf("\n");
		}
		nro++;
	}

	if(fclose(arch)!=0)
		printf("problemas al cerrar el archivo de amigos\n");
}

void conind()
{ 
	FILE *arch;
	char DATOS[N],NOMBRE[W];
	int b;
	
	clrscr();
	
	arch=fopen("amigos.txt","r");
	if(arch==NULL)
	{
		printf("problemas al abrir el archivo de amigos");
		getc(stdin);
		exit(1);
	}
	printf("nombre del amigo: ");
	flushall();
	gets(NOMBRE);
	fgets(DATOS,N,arch);
	while(feof(arch)==0)
	{
		b=0;

		if((strcmp(NOMBRE,DATOS))&&(b==0)) // Aca tengo un problema...
		{
			b++;
			//if(b==1)
			//	printf("Nombre: %s",DATOS);
			printf("b %i",b);
			while(b<=4)
			{
				printf("%s",DATOS);
				b++;
				fgets(DATOS,N,arch);
			}
		}
		fgets(DATOS,N,arch);
	}
	if(fclose(arch)!=0)
		printf("problemas al cerrar archivo de amigos");
	if(b==0)
		printf("no se encontro ese nombre");
	getc(stdin);
}

void salir()
{
	clrscr();
	printf("adios");
	getc(stdin);
}