4 réponses
Comme tu n'utilises pas de tableau, tu dois faire les tests dans la boucle de saisie des valeurs de températures,
donc dans ton do...while:
//MESSAGE DE BIENVENUE:
cout<<" BIENVENU A METEO -"<<endl;
cout<<endl;
cout<<"Nous allons emettre des statistiques "<<endl;
cout<<"sur diverses periodes de temps"<<endl;
//FIN ETAPE 1 || DEBUT ETAPE 2 ================================================
do {
cout<<"Entrez la temperature du jour :";
cin>>n;
count++;
if (n>=20)countc++;
else if (n==0)countg++;
else if (n<-15)countf++;
cout<<endl;
}
while(n!=-99);
//ETAPE 3:
cout<<"STATISTIQUES - periode de "<<(count-1)<<" jours: "<<endl<<endl;
cout<<" On a atteint les 20.0 degrés pendant "<<countc<<" jour(s). "<<endl;
cout<<" Il a gele pendant "<<countg<<" jour(s). "<<endl;
cout<<countf<<" jour(s) ont ete tres froide. "<<endl;
donc dans ton do...while:
//MESSAGE DE BIENVENUE:
cout<<" BIENVENU A METEO -"<<endl;
cout<<endl;
cout<<"Nous allons emettre des statistiques "<<endl;
cout<<"sur diverses periodes de temps"<<endl;
//FIN ETAPE 1 || DEBUT ETAPE 2 ================================================
do {
cout<<"Entrez la temperature du jour :";
cin>>n;
count++;
if (n>=20)countc++;
else if (n==0)countg++;
else if (n<-15)countf++;
cout<<endl;
}
while(n!=-99);
//ETAPE 3:
cout<<"STATISTIQUES - periode de "<<(count-1)<<" jours: "<<endl<<endl;
cout<<" On a atteint les 20.0 degrés pendant "<<countc<<" jour(s). "<<endl;
cout<<" Il a gele pendant "<<countg<<" jour(s). "<<endl;
cout<<countf<<" jour(s) ont ete tres froide. "<<endl;
Bonsoir,
J'ai fait quelques tests, il serait bien que tu en fasses toi aussi, j'ai pù oublier des cas de figure.
J'ai fait quelques tests, il serait bien que tu en fasses toi aussi, j'ai pù oublier des cas de figure.
#include <iostream> using namespace std; // test61.cpp int main() { int count = 0; int countc = 0; int countf = 0; int countg = 0; int rep_stop = 0; signed int plus_chaud = -1; signed int plus_froid = 1; signed int n = 0; signed int jours [365]; float cum_temp = 0; //ETAPE 1 ================================================================== //INITIALISATION ET MESSAGE DE BIENVENUE: do { system ("cls"); count = 0; countc = 0; countf = 0; countg = 0; rep_stop = 0; n = 0; cum_temp = 0; plus_chaud = -1; plus_froid = 1; for (int I = 0; I < 365; I++) {jours [I] = 0;} cout << "\n\n BIENVENU A METEO -"<<endl; cout << "Nous allons emettre des statistiques "<<endl; cout << "sur diverses periodes de temps"<<endl; //FIN ETAPE 1 || DEBUT ETAPE 2 ================================================ do { cout << "\n Entrez la temperature du "<<count + 1<<"em. jour :"; cin >> n; if ( n > 90 ) { cout << " \n Valeur eronee : "<<n<<" non prise n compte.";} else { jours [count] = n; count++; } } while ( n != -99 ); // Pour TESTS : //for (int i = 0; jours [i] != -99; i++ ) {cout <<"\n jour [i] = " //<<jours [i]<<" i = "<<i;} //ETAPE 3: cout << "\n\n STATISTIQUES - periode de "<<(count-1) <<" jours: "<<endl; for ( int i = 0; jours [i] != -99; i++ ) { cum_temp = cum_temp + jours [i]; if ( jours [i] > plus_chaud) { plus_chaud = jours [i];} if ( jours [i] < plus_froid) { plus_froid = jours [i];} if ( jours [i] >= 20 ) { countc++; } else if ( jours [i] <= 0 ) { countg++; } if ( jours [i] < -15 ) { countf++; } } cout << "\n On a atteint ou dépassé les 20.0 degrés pendant " <<countc<<" jour(s). "<<endl; cout << "\n Il a gele pendant "<<countg<<" jour(s). "<<endl; cout << "\n "<<countf<<" jour(s) ont ete tres froide. "<<endl; if ( jours [0] != -99 ) { cout << "\n La moyenne des temperatures est : " <<cum_temp / float ((count - 1))<<endl; cout << "\n La temperature la plus chaude est : "<<plus_chaud; cout << "\n La temperature la plus froide est : "<<plus_froid; } do { cout << "\n\n VOULEZ-VOUS POURSUIVRE LE TRAITEMENT STATISTIQUE " "0=Oui 1=Non ?"<<endl; cin >> rep_stop ; } while ( rep_stop != 0 && rep_stop != 1 ); } while ( rep_stop == 0); //ETAPE 5 ================================================================== cout<<"\n\n LA COMPAGNIE METEO - VOUS SOUHAITE BONNE JOURNEE"<<endl; //FIN ETAPE 5 ================================================================== } //FIN
RECTIFICATIF :
signed int plus_chaud = -11111; signed int plus_froid = 11111; double n = 0;au lieu de :
signed int plus_chaud = -1; signed int plus_froid = 1; signed int n = 0;et
plus_chaud = -11111; plus_froid = 11111;au lieu de :
plus_chaud = -1; plus_froid = 1;Ceci afn de palier à une absence de saisie d'une température positive ou négative pour une même période. Ce qui aurait eu pour efffet d'afficher à tord la valeur d'initialisation -1 dans le cas d'absence de tempérture positive (plus_chaud) et 1 dans le cas d'absence de tempérture négative (plus_froid) pour une même période.
if ( n > 90 || n < -99) { cout << " \n Valeur eronee : " <<n<<" non prise n compte.";}a lieu de :
if ( n > 90 ) { cout << " \n Valeur eronee : "<<n<<" non prise n compte.";}Afin d'intégrer le contrôle de saisie de températures négatives incohérentes (< -99).