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

Odpowiedz Nowy wątek
2018-12-04 01:56
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;
}
edytowany 1x, ostatnio: furious programming, 2018-12-04 02:32

Pozostało 580 znaków

2018-12-04 06:46
kq
3

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

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

Pozostało 580 znaków

2018-12-04 08:54
0

Czyli jak ta linijka powinna być sformułowana?

Pozostało 580 znaków

2018-12-04 10:03
1

Zobacz sobie to: https://en.cppreference.com/w/c/string/byte/strcmp

Pozostało 580 znaków

2018-12-04 19:15
0

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

Pozostało 580 znaków

2018-12-04 19:50
1

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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