Bonjour à tous,
Le but de ce programme écrit en C++ est d'inscrire des notes dans un tableau. Après cela, on calcule la moyenne, on recherche le mini et le maxi puis, on recherche une valeur parmis les notes saisies. On souhaite pouvoir la modifier ou non et éventuelle recalculer la nouvelle moyenne. C'est sur ces derniers points que mon programme fait un peu n'importe quoi.
Je souhaiterai donc savoir ce qui ne va pas.
Merci d'avance de votre aide.
/Merci d'utiliser les différentes balises à ta disposition. Dans ton cas, il aurait fallu utiliser la balise "Code" symbolisée par ceci:Code:/ exo 5.4.cpp : tableau de notes. // #include "stdafx.h" #include<iostream> #include<iomanip> using namespace std; int main() { int t[50],Notes,NbNotes,compteur,variable,somme,min,max,valeur,valeurn; int memvaleuroui; int a; int i,somme1,somme2,sommenew,moyennenew,noter,noter2; double moyenne; int prog,rep; NbNotes=1; do{ cout<<" Nombre de Notes ?"<<endl; cin>>NbNotes; }while((NbNotes<1)||(NbNotes>50)); for(compteur=0;compteur<NbNotes;compteur++) { do{ cout<<" Note ? "<<endl; cin>>Notes; }while((Notes<0)||(Notes>20)); t[compteur]=Notes; } cout<<endl; for(compteur=0;compteur<NbNotes;compteur++) { cout<<t[compteur]<<endl; } variable=1; compteur=0; somme=0; while(variable<=NbNotes) { somme=t[compteur]+somme; variable++; compteur++; } moyenne=somme/NbNotes; cout<<" Moyenne = "<<moyenne<<endl; max=0; for(compteur=0;compteur<NbNotes;compteur++) { if(t[compteur]>max) { max=t[compteur]; } } cout<<endl; cout<<" max = "<<max<<endl; min=max; for(compteur=0;compteur<NbNotes;compteur++) { if(t[compteur]<min) { min=t[compteur]; } } cout<<" min = "<<min<<endl; cout<<" Valeur ? "<<endl; cin>>valeur; for(compteur=0;compteur<NbNotes;compteur++) { if(t[compteur]==valeur) { memvaleuroui=t[compteur]; } } if(memvaleuroui==valeur) { cout<<" La valeur "<<memvaleuroui<<" est bien presente "<<endl; } else { cout<<" La valeur "<<valeur<<" n'est pas presente"<<endl; } cout<<endl; cout<<" Vous pouvez chercher si toutes les notes sont superieures a une valeur choisie. Veuillez inscrire cette valeur. "<<endl; cin>>valeurn; if(valeurn<min) { cout<<" Toutes les notes sont supérieures a la valeur "<<valeurn<<" . "<<endl; } else { cout<<" Toutes les notes ne sont pas superieures a cette valeur."<<endl; } cout<<endl; prog=1; while(prog!=0) { cout<<"Voulez-vous executer le programme ? Tapez 0 pour l'arreter et 1 pour continuer."<<endl; cin>>prog; if(prog==1) { for(compteur=0;compteur<NbNotes;compteur++) { cout<<" Note recherchee ? "<<endl; cin>>noter; rep=1; if(t[compteur]!=noter) { cout<<" La note recherchee n'existe pas."<<endl; cout<<" Fin du programme "<<endl; } if(t[compteur]==noter) { while(rep!=0) { cout<<" Voulez-vous modifier la note ? Tapez 1 pour oui et 0 pour non. "<<endl; cin>>rep; if(rep==1) { cout<<" Saisissez la nouvelle valeur."<<endl; cin>>noter2; i=0; somme1=0; while(i<compteur) { somme1=t[i]+somme1; i++; } somme2=0; i=i+2; while((i>compteur)&&(i<NbNotes)) { somme2=t[i]+somme2; i++; } sommenew=somme1+somme2+noter2; moyennenew=sommenew/NbNotes; cout<<" La nouvelle moyenne est: "<<moyennenew<<"."<<endl; } } } } compteur=NbNotes; } } cout<<"Fin du programme."<<endl; cin>>a; }
yoda1234.
-----