Ragazzi io ho la seguente funzione:
Adesso a questa funzione dovrei passare come parametro la stringa cerca, la quale inserisco nel main nel seguente modo:codice:#include "stdafx.h" #include <iostream> #include <string.h> using namespace std; struct Concorrente { char nome[30]; char nazione[30]; int eta; int posizione; }; void InserisciRecord(Concorrente &record); void CercaConcorrente(Concorrente &record, char *cerca, int N); int _tmain(int argc, _TCHAR* argv[]) { Concorrente Giocatore[30]; int i, N; char cerca[30]; do { cout << "Quanti concorrenti vuoi inserire:\n"; cin >> N; } while(!(N >= 2) && (N < 100)); for (i = 0; i < N; i++) InserisciRecord(Giocatore[i]); cout << "Inserisci il nome del concorrente da ricercare:\n"; cin >> cerca; CercaConcorrente(Giocatore, &cerca, N); return 0; } void InserisciRecord(Concorrente &record) { cout << "Inserisci il nome del concorrente:\n"; cin >> record.nome; cout << "Inserisci la nazionalita' del concorrente:\n"; cin >> record.nazione; cout << "Inserisci l'eta' del concorrente:\n"; cin >> record.eta; cout << "Inserisci la posizione del concorrente:\n"; cin >> record.posizione; } void CercaConcorrente(Concorrente &record, char *cerca, int N) { int c = 0; int flag = 1; do { c++; if (strcmp(cerca, record.nome) == 0) { cout << "Nome: " << record.nome; cout << "\nNazionalita': " << record.nazione; cout << "\nEta': " << record.eta; cout << "\nPosizione: " << record.posizione; flag = 0; } } while(c < N); if (flag == 1) cout << "Non esiste nessun concorrente col nome " << record.nome << " che ha partecipato"; }
cin >> cerca;
Adesso ho 2 problemi, come posso effettuare il controllo con "cerca" e "record.nome" utilizzando la funzione strcmp per vedere se sono uguali?
come devo richiamare la funzione?
Passo bene la stringa come parametro?
Precisamente gli errori che mi dà sono questi:
error C2664: 'CercaConcorrente': impossibile convertire il parametro 1 da 'Concorrente [30]' a 'Concorrente &'
Grazie anticipatamente!

Rispondi quotando