phonebook - jak szukać

0
 #include <stdio.h>
#include <stdlib.h>
int main ()
{
struct book
{        char imie [9], nick[9];
        int nr;
} wpis;
int i,ile,menu;
printf("powiedz ile osob zamierzasz wprowadzic?\n");
    scanf("%i",&ile);
    struct book tab[ile]; 
 
while (menu != 4)
      {
       printf("powiedz co chciałbys zrobic?\n");
 
       printf("dodac osobe--------------- wciśnij 1\n");
       printf("wyswietlic cala ksiazke--- wcisnij 2\n");
       printf("wyszukac osobe------------ wcisnij 3\n");
       printf("wyjdz z programu---------- wcisnij 4\n");
        scanf("%i",&menu);
 
/* -----------------------------menu wybor 1 -----------*/
 
if (menu==1)
   {
     printf("\n");
    printf("podaj imie nick i nr osoby\n");
    for (i=0;i<ile;i++) /*zapis osoby do book*/
        {
        printf("wprowadzanie osoby nr %i\n",i);
        scanf("%s",&tab[i].imie);
        scanf("%s",&tab[i].nick);
        scanf("%i",&tab[i].nr);
        printf("\n");
        }
    }
/*-----------------------------menu wybor 2--------------*/
if (menu==2)
   {
    for (i=0;i<ile;i++) /*odczyt ksiazki*/
        {
         printf("\n");
         printf("odczytywanie osoby nr %i\n",i);
         printf("\n");
         printf("imie:%s ",tab[i].imie);
         printf("nick:%s ",tab[i].nick);
         printf("nr:%i\n",tab[i].nr);
         printf("\n");
        }
    }
/*-----------------------------menu wybor 3-------------*/
if (menu==3)
   {
     printf("\n");
     printf("wpisz jakas dana poszukiwanej osoby\n");
     char dana[9];
     scanf("%s",&dana);
     printf("szukamy osoby o imieniu %c\n",dana);
     for (i=0;i<ile;i++) /*odczyt ksiazki w celu szukania*/
        {                                        
         if (dana==tab[i].imie)
           {
            printf("\n");
            printf("%i. %s %s %i",i,tab[i].imie,tab[i].nick,tab[i].nr);                       
            printf("\n");
           }
 
        }           
   }
else
    {exit;}
}
getchar();
return(0);
}
 

napisalem coś w rodzaju ksiazki telefonicznej gdzie do tablicy struktur wpisuje imie nick i nr. Petla działa dobrze, menu wybor 1 działa dobrze w menu wybor 2 wyświetla dobrze ale menu wybór 3 działa źle :(
siedziałem dużo nad tym programem i rozumiem ze problem tkwi chyba w tym że nie przepisuje tego czego szukam do zmiennej dana ------->

 printf("szukamy osoby o imieniu %c\n",dana); 

a poza tym wywala bład komilator ze porównuje pointer i wskaznik ??:(
z góry dzięki za pomoc!!

1

if (dana==tab[i].imie)

tablice znaków porównujemy funkcją strcmp!

A poza tym - jesteś pewny, że w buforze nie pozostaje znak końca wiersza przed

scanf("%s",&dana);

??

0

wiesz nie bardzo wiem o co ci z tym buforem końca wiersza ale użyłęm funkcji strcmp i działa !!! wielkie dzięki :)
tu jak coś jest bardzo dobrze zrobiony manulak jak deklarowac o w ogóle z przykłądem!!
Strcmp

1 użytkowników online, w tym zalogowanych: 0, gości: 1