Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - ho un problema con strcmp in while
Forum - C/C++ - ho un problema con strcmp in while

Avatar
bip (Normal User)
Rookie


Messaggi: 36
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 23:51
Mercoledì, 12/11/2008
il programma e questo:

#include <iostream>
#include <string>
using namespace std;

struct data{
       int gior;
       int mese;
       int anno;
       };


struct studenti{
          char nome[20];
          char cognome[20];
          data nato;
          data diploma;
              }classe[20];
int s=0;
char *z;

main(){


  for(int o=0;o<=3;o++){
        cout<<"inserisci il numero di studenti non superiore a 20\x20";
cin>>z;
        while(strcmp(z, "n") !=0 ){

cout<<"inserisci nome\x20";
cin>>classe[o].nome;
cout<<"inserisci anno di nascita\x20";
cin>>classe[o].nato.anno;
cout<<"inserisci anno del diploma\x20";
cin>>classe[o].diploma.anno;

}

}




for(int x=0;x<=3;x++){
  if(classe[x].diploma.anno-classe[x].nato.anno<20){
     cout<<endl<<"nome:\x20"<<classe[x].nome<<endl;
     cout<<"nato il:\x20"<<classe[x].nato.anno<<endl;
     cout<<"diplomato il:\x20"<<classe[x].diploma.anno<<endl;
     ++s;
     }
}
cout<<"totale dei diplomati sotto i 20 anni:\x20"<<s<<endl;


system("pause");

   }
ma quando setto la variabile z mi va in buffer tutto perchè?
e se perpiacere mi mettete anche un es pratico vene sarei grato thx


%0edf
PM Quote
Avatar
munkaka (Member)
Pro


Messaggi: 119
Iscritto: 07/09/2008

Segnala al moderatore
Postato alle 15:46
Giovedì, 13/11/2008
ciao
ma char *z non è un puntatore ?
cmq ho provato con char z; e non funziona, non so perchè
ma con char z[1]; funziona


Q: I need help, give me some pointers!
R: 0x3A28213A, 0x6339392C, 0x7363684E, ...
PM Quote
Avatar
bip (Normal User)
Rookie


Messaggi: 36
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 8:19
Sabato, 15/11/2008
bha avevo messo char *z perche iil compilatore mi dava invalid conversion char to char e ho provato con il puntatore ma nulla di fatto ho rpovato come mi hai detoo tu amico mio cioè sostituire z con z[1]
ma non mi funziona a te come fa a funzionare ?
:( grazie x l'impegno


%0edf
PM Quote
Avatar
munkaka (Member)
Pro


Messaggi: 119
Iscritto: 07/09/2008

Segnala al moderatore
Postato alle 17:28
Sabato, 15/11/2008
ricordati che poi devi modificare anche il cin, invece di
cin>>z;
devi scrivere:
cin>>z[0];

dimmi se ti funziona cosi


Q: I need help, give me some pointers!
R: 0x3A28213A, 0x6339392C, 0x7363684E, ...
PM Quote