Dlaczego program się wsypuje po wyświetleniu właściwej wartości?

0

Witam, program się wysypuje ale if wyświetla prawdziwa wartość dlaczego ?

#include <stdio.h>
#include <stdlib.h>

typedef struct {
int id;
char imie[20];
char nazwisko[20];
int wiek;
} tosoba;

int main()
{
    tosoba ja[5];
    char szukane[20];
    char decyzja;
    do
    {


    for (int i=0;i<5;i++)
    {
     printf("Podaj id %d:\n", i+1);
     scanf("%i",&ja[i].id);

     printf("Podaj imie %d:\n", i+1);
     scanf("%s",&ja[i].imie);

     printf("Podaj nazwisko %d:\n", i+1);
     scanf("%s",&ja[i].nazwisko);

     printf("Podaj wiek %d:\n", i+1);
     scanf("%i",&ja[i].wiek);
     system("cls");
    }

    printf("Podaj imie ktore szukamy:\n");
    scanf("%s", &szukane);

    for (int j=0;j<5;j++)
    {
    if( strcmp (szukane)== strcmp (ja[j].imie))                                                                                  
    {
    printf("id to: %i\nImie to: %s\nNazwisko to: %s\nwiek to: %i\n",ja[j].id,ja[j].imie,ja[j].nazwisko,ja[j].wiek);              //tutaj sie wysypuje wyswietlajac wynik if`a
    }
    }
    printf("Czy chcesz zakonczyc program?Tak=t\nNie=n");
    scanf("%c",decyzja);
    }while (decyzja=='y');





    return 0;
}

3

Przecież to się nie kompiluje...
Brak include'ów (np. stdio), albo takie kwiatki:

if( strcmp (szukane)== strcmp (ja[j].imie))    
0

Czyli jak ta linijka powinna być sformułowana?

0

Ok już rozumiem, źle to zapisałem. Sprawdzę to zaraz

1

Od razu sprawdź też wywołanie funkcji scanf() i zobacz kiedy używać '&'.

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