Anuncios Google

Necesito ayuda con la opcion 2 de mi programa en lenguaje c, alguien me apoya?

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct agenda{

char nombre[20];

int telefono;

 

}est;

 

    char cadena[20];

    char caracter;

 int opcion, agregar, busqueda;

 

 main()

{

do

{

 

 

  FILE * flujo = fopen("datos.txt", "a+");

if (flujo == NULL) {

        perror ("error en la apertura del archivo");

    }

 

printf ("\n");

printf ("********MENU*******\n");

printf ("1.- Agregar contacto\n");

printf ("2.- buscar contacto\n");

printf ("3.- Mostrar contacto\n");

printf ("4.- Salir\n");

 printf("\t\t\tINGRESA TU OPCION:\n");

 

    scanf ("%d",&opcion);

 

    switch (opcion)

    {

          case 1:

fflush (stdin);

 

 

printf ("cuantos contactos desea agregar?");

scanf ("%d", &agregar);

for (int i=0; i<=agregar;i++){

 

      printf ("ingrese el contacto\n");

    gets (cadena);

    fputs ("\n", flujo);

    fputs (cadena, flujo);

    printf ("Contacto agregado exitosamente\n");

}

break;

 

          case 2:

 

fflush (stdin);

        printf ("Escibra el nombre del contacto que busca\n");

        gets (cadena);

        while(!feof(flujo)){

            fread(&est,sizeof(est),1,flujo);

        }

            if (strstr(cadena,est.nombre)!=NULL){

                printf ("El contacto es: Nombre: %s Telefono: %d",est.nombre,est.telefono);

             } else{

            printf ("no existe\n");

            }

 

 

        break;

 

        case 3:

            fflush (stdin);

    while (feof(flujo) == 0) {

 

caracter = fgetc(flujo);

 

        printf ("%c", caracter);

    }

 

printf ("\n");

    printf("Estos son los contactos existentes\n");

    break;

 

 case 4:

    printf( "\t\t\tSALIENDO\n");

exit (-1);

    break;

    default:

    printf ("\t\t\tLA OPCION ELEGIDA ES ERRONEA:\n");

    break;

 

 

    }

 

 

fclose (flujo);

  getchar();

} while (opcion != 4);

 

return 0;

    }


Anuncios Google