Oppure

Loading
25/12/08 20:57
bip
codice:

#include<iostream>
using namespace std;

struct data{
int giorno;
char mese[20];
int anno;
};

struct utente{
char codicefiscale[16];
int matricola;
char nome[20];
char via[20];
char localita[25];
char provincia[2];
struct data nato;
} user[20];


char o[1];
int z=0;



main(){

while(strcmp(o,"s";)!=0||z<2){
cout<<"\nnome\n";
cin>>user[z].nome;
cout<<"\nvia\n";
cin>>user[z].via;
cout<<"\nlocalità\n";
cin>>user[z].localita;
cout<<"\nsigla provincia\n";
cin>>user[z].provincia;
cout<<"\ngiorno\n";
cin>>user[z].nato.giorno;
cout<<"\nmese\n";
cin>>user[z].nato.mese;
cout<<"\nanno\n";
cin>>user[z].nato.anno;
cout<<"\ncodice fiscale\n";
cin>>user[z].codicefiscale;
cout<<"termina programma";
cin>>o[1];
z++;
};

//cout<<"termine dell'esecuzione";

for(int x=0;x<2;x++){
//cout<<"n° matricola\n";
//cin>>user[x].matricola;
cout<<"nome\n"<<user[x].nome;
cout<<"via\n"<<user[x].via;
cout<<"località\n"<<user[x].localita;
cout<<"sigla provincia\n"<<user[x].provincia;
cout<<"giorno\n"<<user[x].nato.giorno;
cout<<"mese\n"<<user[x].nato.mese;
cout<<"anno\n"<<user[x].nato.anno;
cout<<"codice fiscale\n"<<user[x].codicefiscale;
};

system("pause";);

}

vorrei che il while terminasse perche z<2 oppure perchè strcmp = s ma anche se scrivo s non temina il ciclo come devo fare?
aaa
26/12/08 7:18
mc
Visto che questo è il forum c++ ... perchè non usi le std::sting ?

std::string s = "Ciao";

std::cout << (s == "Ciao" ? "si" : "no") << std::endl;

aaa
26/12/08 10:50
bip
Io stò facendo c++ ma nessuno mi ha spiegato le std string non ne abbimo parla.. quindo non capisco nulla non sai aiutarmi con il while che mi controlli se il char è s blocchi il ciclo oppure se z è minore di blocchi comunque il ciclo.... senza le std string che andrò a guardarmele ma nel mio corso tira un aria strana sembra che si possa usare o fare solo quello che la prof vuole se usciamo da quello che lei ci dice senza discutere senò la infastidiamo e io quest'anno l'ho gia inastidia abbastanza ;)8-|
aaa
26/12/08 11:03
mc
Bene, allora puoi dire alla prof che quello che state facendo non è C++ ...
Ti do una mano, va ...
Primo domandati che ti serve un'array di un carattere ? È rindondante ...

char o; /* UN carattere */

int main(void) {

while(o != 's' || z < valore){

/* blablabla */

}

return 0;

}
aaa
26/12/08 11:06
mc
Anzi meglio così:

char o; /* UN carattere */

int main() {

do {

/* blablabla */

   cin << o;

}while(o != 's' || z < 2);

return 0;

} 
aaa
26/12/08 22:38
bip
grz1000:k:
scusa le ultime due domanda penso

ma che snso ho return 0
e dichiarare una funzione di tipo void
aaa
27/12/08 3:56
mc
Postato originariamente da bip:

grazie1000:k:
scusa le ultime due domanda penso

ma che senso ha return 0
e dichiarare una funzione di tipo void


return 0 è previsto dallo standard ... dato che main restituisce un int.
void significa che non ritorna niente.
Ultima modifica effettuata da mc 27/12/08 3:57
aaa
03/01/09 22:40
bip
mc cosa vuol dire che il void non torna niente mi fa perpiare un esempio che voglio capire e mmi spieghi che voudire?:-| grzda
aaa