Non capisco il motivo

di Anonimizzato24402 il
7 risposte
Salve ho fatto un esercizio dove mi chiedeva:"presi in input il numero di persone che hanno votato in una consultazione referendaria,stampa la percentuale del si e del no".Ecco il mio codice:

#include <iostream>
using namespace std;
int main(){
	int nc,rs,rn,i;
	float percs,percn;
	char risp,s,n;
	cout<<"inserire il numero di persone che hanno votato:"<<endl;
	cin>>nc;
	rs=0;
	rn=0;
	for(i=0;i<nc;i++){
		cout<<"la persona "<<i+1<<" ha votato per [s/n] ?"<<endl;
		cin>>risp;
		if(risp==s)
		{
	        rs++;
		  
	    }
		if(risp==n)
		{
		    rn++;
		  	
	    }
}
    percs=(100*rs)/nc;
    percn=(100*rn)/nc;
	cout<<"la percentuale di persone che hanno votato per il si e' di:"<<percs<<"%"<<endl;
	cout<<"la percentuale di persone che hanno votato per il no e' di:"<<percn<<"%"<<endl;
	system("pause");
	return(0);
}
il problema è che non mi calcola la percentuale e non capisco il perchè.

7 Risposte

  • Guarda che s n sono variabili senza valore e non i caratteri 's' 'n'
  • Giusto che cretino che sono ho risolto grazie mille
  • Scusate ma qualcuno sa come trovare il voto massimo tra tot studenti? mi spiego meglio..... "presi in input tot alunni inserire il loro rispettivo voto in un compito e stampa il nome dello studente con il voto maggiore" io ho pensato di fare il ciclo for ma non so che istruzione devo scrivere per fare quello che la traccia mi chiede
  • Beh ... non si può scrivere il codice al posto tuo ... provaci magari crea un nuovo thread nel forum... si tratta di impostare una if in un ciclo...
  • Nel semplice caso le liste non c'entrano nulla.
  • Crea un array , dichiara 10 voti, imposti una bella if.
    le liste non penso sia una strada percorribile
    la if è la soluzione ideale
    devi solo impostare che il vettore sia maggiore del valore massimo
  • Non c'è neanche bisogno di array ...
Devi accedere o registrarti per scrivere nel forum
7 risposte