Ce code sert à calculer les moyennes de n'importe quel bac, apres avoir demandé a l'utilisateur le nom des matières, leurs coeffs, et les notes. Ce programme se veut essayer d'etre une amélioration de "bac s si" precedemment mis sur ce site.
Source / Exemple :
#include <iostream.h>
char* demande;
char* matieres[20];
int coeffs[20];
int x, i, somcoeff;
float notes[20];
float moyenne;
void main() {
cout<<"Entrez s'il vous plait les noms des matières ou 0 après la dernière"<<endl;
for (x=0; x<=20;x++)
{
cin>>demande;
matieres[x]=new char [strlen(demande) + 1];
strcpy(matieres[x], demande);
cout<<endl;
if (strcmp(matieres[x], "0")==0) {break;}
}
cout<<"Entrez les coefficients pour chaque matière s'il vous plait :";
for (i=0; i<=x; i++) {
cout<<"\nCoeff de "<<matieres[i]<<" : ";
cin>>coeffs[i];
}
cout<<"\n\nDonnez la note pour chaque matière s'il vous plait :";
for (x=0; x<=i; x++) {
cout<<"\n"<<matieres[x]<<" : ";
cin>>notes[i];
}
for (i=0; i<=x; i++) {
moyenne+=(notes[i]*coeffs[i]);
somcoeff+=coeffs[i];
}
moyenne= moyenne/ somcoeff;
cout<<"Votre moyenne est de :"<<moyenne<<" points.";
system("pause");
if (moyenne>=10)
{
cout<<"Bravo, vous avez eu votre bac !"<<endl;
system("pause");
}
for (x=0;x<=20;x++) {delete [] matieres[x];}
}
Conclusion :
Je crains que ce code, a cause de la fonction system() ne puisse marcher que sur windows.
15 avril 2014 à 13:03
Très sympa ton code en cherchant sur le web je suis tombé sur ton article, à vrai dire n'étant pas dans l'informatique je me suis contenté de celui que j'ai trouvé à cette url : http://www.izi-bac.fr/index.php/revisions-bac/simulateur-de-moyenne ;)
24 nov. 2002 à 15:53
mais c marrant
3 oct. 2002 à 11:12
#define STR_SAMPLE "Exemple"
char* matieres[20];
matieres[0]=new char [strlen(STR_SAMPLE) + 1];
strcpy(matieres[0], STR_SAMPLE);
// ...
delete [] matieres[0];
Si tu as développé ton programme avec Visual C++, passes en mode release ou utilises un outil comme Purify, l'erreur apparaitra tout de suite.
Dernière chose que j'avais oublié, attention à la comparaison de chaines de caractères. Le test matieres[x]=="0" est faux, c'est une erreur classique, il faut le remplacer par strcmp(matieres[x], "0")==0.
2 oct. 2002 à 21:42
2 oct. 2002 à 17:03
Mais on peut faire encore plus condensé ! A vos compilateurs !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.