Salve ragazzi,ho creato un programma che determini,dati un elenco,il massimo e il minimo dei numeri.
Il ciclo è un do while che si ripete se una variabile char di un solo elemento contiene "s" o "S".
Il problema è che mi da un errore,all'inserimento della risposta si controlla se la risposta è coerente con le possibilità di risposte,ovvero "s","S","n","N", altrimenti si ripete,ma da questo ciclo non esce mai,qualsiasi cosa si scrive,ecco il codice:
codice:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
bool primo=1;
float num,mx,mn;
char risp;
do{
cout<<"inserisci numero: ";
cin>>num;
cout<<'\n';
if (primo==1){
mx=num;
mn=num;
primo=0;
}
else{
if (mx<num)
mx=num;
if (mn>num)
mn=num;
}
do{
cout<<"vuoi inserire altri numeri? ";
cin>>risp;
cout<<'\n';
}
while ((risp!= 'S') || (risp != 'N'));
}
while (risp == 'S');
cout<<"il massimo è: "<<mx<<'\n'<<"il minimo è: "<<mn<<'\n';
system ("pause");
return 0;
}
sbaglio qualcosa nel confronto?