problem z if-em

0

Witam, jestem początkującym w te klocki i mam drobny problem. Jeśli masz chwile i chcesz znaleźć błąd tego kodu byłbym wdzięczny. Problem znajduje się przy if-ie ale nie mogę go rozgryźć. Program to prosta baza danych z funkcją wyszukiwania osób po nazwisku.

#include <iostream>
#include <conio.h>
#include <string.h>//pozwala operować na łańcuchach znaków(tekstach)
using namespace std;

struct dane
{
    char imie[20];
    char telefon[10];
};

struct osoba
{
    char nazwisko[20];
    int numer;
    dane d[3];
};

osoba lista[3];
void stworz_liste()
{
   strcpy(lista[0].nazwisko,"wsciekly");//strcpy przepisuje tekst do zmiennej nazwisko
   strcpy(lista[0].d[0].imie,"Pies");
   strcpy(lista[0].d[0].telefon,"111");
   lista[0].numer=1;
   strcpy(lista[1].nazwisko,"lewy");
   strcpy(lista[1].d[1].imie,"Dowod"); 
   strcpy(lista[1].d[1].telefon,"666"); 
   lista[1].numer=2; 
   strcpy(lista[2].nazwisko,"goraca");   
   strcpy(lista[2].d[2].imie,"Plaza");   
   strcpy(lista[2].d[2].telefon,"333");   
   lista[2].numer=3;
}

void wybierz_lista(char kto)
{
    for(int i=0;i<3;i++)  
    {
     if (kto=='lista[i].nazwisko')
        {
         cout<<lista<<endl;
        }
    }
        else
        cout<<"Nie ma takiego nazwiska";
        getch();
    
}

main()
{
    stworz_liste();    
    cout<<"Podaj nazwisko ";    
    char ktora_osoba;
    cin>>ktora_osoba;
    wybierz_lista(ktora_osoba);
    getch();
}
0

a co tam robią 'uszy'?????

0
  1. char przechowuje JEDEN znak.
  2. Porównywanie C-stringów / char[] / char* robi się za pomocą strcmp() a nie ==
1
void wybierz_lista(char kto)
if (kto=='lista[i].nazwisko')

normalnie combo breaker

0

Dzięki wielkie już problem ogarnięty.

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