PDA

View Full Version : urge,sn in classe ed ho un prob con il c++


mikisx
16-05-2007, 09:21
#include<iostream.h>
#include<string.h>
int eta[10],uomini,donne,percuomini,percdonne,pgiovane,pvecchio,posgiovane,posvecchio,somma,media,maggiorenni,risp,n,i,a,s;
char nomi[10][15],sesso[10];
void main()
{
do
{
cout<<"quanti persone sono presenti nel gruppo?";
cin>>n;
}
while((n<0)||(n>10));
for(i=0;i<n;i++)
{
cout<<"inserisci il nome";
cin>>nomi[i];
}
for(i=0;i<n;i++)
{
cout<<"e la relativa eta'";
cin>>eta[i];
}
for(i=0;i<n;i++)
{
cout<<"e' maschio-m-,o femmina-f-?";
cin>>sesso[i];
}
do
{
cout<<"**1** calcola l'eta' media";
cout<<"**2** visualizza il numero delle persone maggiorenni";
cout<<"**3** visualizza percentuale maschi e percentuale femmine";
cout<<"**4** visualizzare i nomi e le eta' del piu' anziano e del piu' giovane";
cout<<"**5** visualizzare l'elenco dei soli maschi";
cout<<"**0** esci";
cin>>risp;
switch (risp);
case 1:
{
somma=0;
media=0;
for(i=0;i<n;i++)
{
somma=somma+eta[i];
media=somma/n;
cout<<"l' eta' media e':\n"<<media;
}
break;
}
case 2:
{
maggiorenni=18;
for(i=0;i<n;i++)
{
if(eta[i]>=maggiorenni)
a++;
}
if(a>0)
cout<<"il numero di maggiorenni presenti e':"<<a;
else
cout<<"non sono presenti maggiorenni";
break;
}
case 3:
{
uomini=0;
donne=0;
for(i=0;i<n;i++)
{
if(sesso[i]=="m")
uomini++;
else
donne++;
}
percuomini=(n/100)*uomini;
percdonne=(n/100)*donne;
cout<<"la percentuale degli uomini e quella delle donne sono rispettivamente:\n"<<percuomini<<" e "<<percdonne;
break;
}
case 4:
{
pgiovane=eta[0];
pvecchio=eta[0];
for(i=1;i<n;i++)
{
if(eta[i]>pvecchio)
{
pvecchio=eta[i];
posvecchio=i;
}
}
for(j=1;j<n;j++)
{
if(eta[j]<pgiovane)
{
pgiovane=eta[j];
posgiovane=j;
}
}
cout<<"il piu' giovane e:\n"<<nome[j]<<"--->"<<eta[j]<<" anni";
cout<<"il piu' anziano e:\n"<<nome[i]<<"--->"<<eta[i]<<" anni";
break;
}
case 5:
{
s=0;
for(i=0;i<n;i++)
{
if(sesso[i]==m)
{
cout<<"\n"<<nomi[i];
s++;
}
}
if(s==0)
cout<<"nessun uomo e' presente";
break;
}
}
while(risp!=0);
}







12 errori ed 1 warning...consigli?

cionci
16-05-2007, 09:45
Lo switch ha questo formato:

switch( ... )
{

case x:

case y:

}

Ti mancano le parentesi...e sono inutili quelle che metti in apertura e chiusura di case...

mikisx
16-05-2007, 10:01
grazie,cmq guardandolo un po ho risolto il prob...
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
int eta[10],uomini,donne,percuomini,percdonne,pgiovane,pvecchio,posgiovane,posvecchio,somma,maggiorenni,risp,n,i,a,s,j;
float media;
char nomi[10][15],sesso[10];
void main()
{
do
{
cout<<"quanti persone sono presenti nel gruppo?\n";
cin>>n;
}
while((n<0)||(n>10));
cout<<"inserisci il nome\n";
for(i=0;i<n;i++)
{
cin>>nomi[i];
}
cout<<"e la relativa eta'\n";
for(i=0;i<n;i++)
{
cin>>eta[i];
}
cout<<"e' maschio-m-,o femmina-f-?\n";
for(i=0;i<n;i++)
{
cin>>sesso[i];
}
do
{
system("cls");
cout<<"\n\n**1** calcola l'eta' media\n";
cout<<"**2** visualizza il numero delle persone maggiorenni\n";
cout<<"**3** visualizza percentuale maschi e percentuale femmine\n";
cout<<"**4** visualizzare i nomi e le eta' del piu' anziano e del piu' giovane\n";
cout<<"**5** visualizzare l'elenco dei soli maschi\n";
cout<<"**0** esci\n";
cin>>risp;
switch (risp)
{
case 1:
{
somma=0;
media=0;
for(i=0;i<n;i++)
{
somma=somma+eta[i];
}
media=somma/n;
cout<<"l' eta' media e':\n"<<media;
system("cls");
break;
}
case 2:
{
maggiorenni=18;
for(i=0;i<n;i++)
{
if(eta[i]>=maggiorenni)
a++;
}
if(a>0)
cout<<"il numero di maggiorenni presenti e' : "<<a;
else
cout<<"non sono presenti maggiorenni\n";
system("cls");
break;
}
case 3:
{
uomini=0;
donne=0;
for(i=0;i<n;i++)
{
if(sesso[i]=='m')
uomini++;
else
donne++;
}
percuomini=((n/uomini)*100)/4;
percdonne=((n/donne)*100)/4;
cout<<"la percentuale degli uomini e quella delle donne sono rispettivamente:\n"<<percuomini<<" e "<<percdonne;
system("cls");
break;
}
case 4:
{
pgiovane=eta[0];
pvecchio=eta[0];
for(i=1;i<n;i++)
{
if(eta[i]>pvecchio)
{
pvecchio=eta[i];
posvecchio=i;
}
}
for(j=1;j<n;j++)
{
if(eta[j]<pgiovane)
{
pgiovane=eta[j];
posgiovane=j;
}
}
cout<<"il piu' giovane e:\n"<<nomi[posgiovane]<<"--->"<<pgiovane<<" anni";
cout<<"il piu' anziano e:\n"<<nomi[posvecchio]<<"--->"<<pvecchio<<" anni";
system("cls");
break;
}
case 5:
{
s=0;
for(i=0;i<n;i++)
{
if(sesso[i]=='m')
{
cout<<"\n"<<nomi[i];
s++;
}
}
if(s==0)
cout<<"\nnessun uomo e' presente";
system("cls");
break;
}
}
}
while(risp!=0);
}

mikisx
16-05-2007, 10:03
siccome la prof ancora nn lo ha spiegato potreste dirmi cosa dovrei fare per memorizzare i dati inseriti sul prog nel hd?
vorrei che so,inserire i numeri in una rubrica fatta da me ed al riavvio ritrovarli...grazie ciao

cionci
16-05-2007, 10:22
Dai un'occhiata a questo: http://www.daniweb.com/techtalkforums/thread6542.html

mikisx
16-05-2007, 10:28
non ci ho capito un gran che....
potresti aggiungerlo al codice che ho post?
denghiu...