Perchè il confronto tra vet[i].nominativo e stre non viene eseguito correttamente???
Sono entambi di tipo stringa, ma il confronto proprio non lo esegue, cioè anche se sono uguali non accede all'if ma va avanti come se fossero diversi....questo è il prog:
Help me....anche perchè con la funzione strcmp() il confronto viene eseguito correttamente....mha...codice:#include <stdio.h> #include <conio.h> #include <iostream.h> #include <stdlib.h> #include <conio.c> const int n=5; typedef char stringa[50]; struct allievi{ stringa nominativo; int eta; float peso,altezza; }; allievi vet[n]; void inserisci_allievi(void); void ricerca(void); int main(){ inserisci_allievi(); ricerca(); getch(); return 0; } void inserisci_allievi(void){ int i; for(i=0;i<=n-1;i++){ cout<<"\nInserisci il nominativo dell'alunno numero " <<(i+1) <<" : "; cin>>vet[i].nominativo; cout<<"\nInserisci l'eta' dell'alunno numero " <<(i+1) <<" : "; cin>>vet[i].eta; cout<<"\nInserisci il peso dell'alunno numero " <<(i+1) <<" : "; cin>>vet[i].peso; cout<<"\nInserisci l'altezza dell'alunno numero " <<(i+1) <<" : "; cin>>vet[i].altezza; cout<<"\n"; } } void ricerca(void){ int i, flag=0; stringa stre; cout<<"\nInserisci il nominativo da ricercare nel vettore di struct: "; cin>>stre; for(i=0;i<=n-1;i++){ if(vet[i].nominativo==stre){ flag=1; cout<<"\nL'alunno numero " <<(i+1) <<" presenta il nominativo " <<stre <<" ed ha " <<vet[i].eta <<" anni, pesa " <<vet[i].peso <<" chili"; cout<<"\ned e' alto " <<vet[i].altezza <<" centimetri."; } } if(flag==0) cout<<"\nNon e' presente nessun allievo di nome " <<stre; }