PDA

View Full Version : [c++] Array di Record


iSiDxIraFunesta
31-03-2013, 22:15
Quando vado a eseguirlo, dopo aver caricato l'array e vado a premere invio per immettere l'ultimo campo dell'ultimo spazio dell'array, il programma si chiude...non riesco a capire il perchč non ritorna sul main :wtf: dopo la procedura...

#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct contatto
{
string nomi;
string email;
string cell;
};
int c,risp;
const int d=3;
contatto a[d];
void carica (contatto a[d]);
int main()
{
cout<<" +-----------------------+"<<endl;
cout<<" | Agenda |"<<endl;
cout<<" +-----------------------+"<<endl;
cout<<endl;
cout<<endl;
cout<<" Premi 1 per caricare la classifica;"<<endl;
cout<<" Premi 2 per stampare la classifica ordinata;"<<endl;
cout<<" Premi 3 per uscire;"<<endl;
cout<<endl;
do
{
cout<<"La tua scelta e': ";
cin>>risp;

cout<<endl;
cout<<endl;
switch(risp)
{
case 1:carica(a);break;
}
}
while(risp=!3);
system("pause");
}


//Caricamento Agenda
void carica (contatto a[d])
{
for(int i=0;i<d;i++)
{
cout<<"Inserisci il nome "<<i<<" : ";cin>>a[i].nomi;
cout<<"Inserisci l'email "<<i<<" : ";cin>>a[i].email;
cout<<"Inserisci il numero di cellulare "<<i<<" : ";cin>>a[i].cell;
cout<<endl;
}
}

IngMetallo
01-04-2013, 12:57
Devi sistemare la condizione del while :
while(risp=!3);

hai invertito l'uguale con il punto esclamativo :)

Scrivendo in questo modo :
while(risp!=3);

dovrebbe funzionare.

iSiDxIraFunesta
01-04-2013, 18:28
DOH !:doh: hai ragione deve essermi sfuggito,ora va!
grazieee :)

IngMetallo
01-04-2013, 20:34
Figurati :) A volte non č facile scovare anche il pių stupido degli errori.