Interrogation sur les test de conditions.
Résolu
sikim69
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, aujourd'hui je viens d'avoir mon premier controle sur les test de conditons.
J'aimerais avoir votre avis sur mon "programme", et me dire comment je pourrais faire pour l'ameliorer et/ou le corriger ^^
Je vous met l'ennoncer et ensuite comment j'ai fait.
Le programme propose le menu suivant :
1. Calculer une moyenne pondérée sur 2 notes
2. Calculer le pourcentage acquis
3. Demander une explication
Tout autre choix que 1,2,3 entrainera l'affichage d'un message d'erreur
Si l'utilisateur choisis 1 :
Il doit entrer deux notes sur 20 (à ne pas verifier)
La moyenne est calculé sur base de la ponderation suivante : la premiere note compte pour 40 % et la deuxieme pour 60 %. Ne rien afficher ici.
Si l'utilisateur choisis 2 :
Il doit entrer une note sur 20 (à ne pas verifier) Le programme calcule en pourcentage.
Si la moyenne ainsi calculée depasse les 60 % alors afficher "Cours reussi".
Si l'utilisateur choisis 3 :
Le programme demande si l'utilisateur veut prendre rendez vous. Si oui, il affiche "on vous recontactera". Dans le cas contraire , il affiche "Bureau ouvert de 8h à 11h"
En fin de programme si un calcul à été effectué, le programme en affiche le resultat.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main ()
{
int choix;
float n1,n2, moyenne;
char reponse [3];
printf("MENU : ");
printf("\n\n1. Calculer une moyenne ponderee sur 2 notes");
printf("\n2. Calculer un pourcentage acquis");
printf("\n3.Demander une explication");
scanf("%d",&choix);
system("CLR");
if (choix==1)
{
printf("Entrez la premiere note sur 20 : ");
scanf("%f",&n1);
printf("\nEntrez la deuxieme note sur 20 : ");
scanf("%f",&n2);
n1=n1*5;
n1=n1/100;
n1=n1*40;
n2=n2*5;
n2=n2/100;
n2=n2*60;
moyenne=n1+n2;
}
else if (choix==2)
{
printf("Entrez la note sur 20 : ");
scanf("%f",&n1);
n1=n1*5;
if (n1>60)
{
printf("\n\nCours reussi ! ");
}
}
else if (choix==3)
{
printf("Voulez vous prendre rendez vous ? ");
scanf("%s",&reponse);
if (reponse=='oui')
{
printf("\n\nNous vous recontacterons");
}
else {
printf("\n\nBureau ouvert tous les jours de 8h a 11h");
}
}
else {
printf("Erreur");
}
if (choix==3)
{
printf("Votre moyenne est de %.2f");
}
getch(); getch();
return 0;
}
Et je pense avoir un probleme, c'est que je n'arrive pas avec la condition (if (reponse==oui). Quand je compile, ca ne marche pas à ce niveau :/
J'aimerais avoir votre avis sur mon "programme", et me dire comment je pourrais faire pour l'ameliorer et/ou le corriger ^^
Je vous met l'ennoncer et ensuite comment j'ai fait.
Le programme propose le menu suivant :
1. Calculer une moyenne pondérée sur 2 notes
2. Calculer le pourcentage acquis
3. Demander une explication
Tout autre choix que 1,2,3 entrainera l'affichage d'un message d'erreur
Si l'utilisateur choisis 1 :
Il doit entrer deux notes sur 20 (à ne pas verifier)
La moyenne est calculé sur base de la ponderation suivante : la premiere note compte pour 40 % et la deuxieme pour 60 %. Ne rien afficher ici.
Si l'utilisateur choisis 2 :
Il doit entrer une note sur 20 (à ne pas verifier) Le programme calcule en pourcentage.
Si la moyenne ainsi calculée depasse les 60 % alors afficher "Cours reussi".
Si l'utilisateur choisis 3 :
Le programme demande si l'utilisateur veut prendre rendez vous. Si oui, il affiche "on vous recontactera". Dans le cas contraire , il affiche "Bureau ouvert de 8h à 11h"
En fin de programme si un calcul à été effectué, le programme en affiche le resultat.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main ()
{
int choix;
float n1,n2, moyenne;
char reponse [3];
printf("MENU : ");
printf("\n\n1. Calculer une moyenne ponderee sur 2 notes");
printf("\n2. Calculer un pourcentage acquis");
printf("\n3.Demander une explication");
scanf("%d",&choix);
system("CLR");
if (choix==1)
{
printf("Entrez la premiere note sur 20 : ");
scanf("%f",&n1);
printf("\nEntrez la deuxieme note sur 20 : ");
scanf("%f",&n2);
n1=n1*5;
n1=n1/100;
n1=n1*40;
n2=n2*5;
n2=n2/100;
n2=n2*60;
moyenne=n1+n2;
}
else if (choix==2)
{
printf("Entrez la note sur 20 : ");
scanf("%f",&n1);
n1=n1*5;
if (n1>60)
{
printf("\n\nCours reussi ! ");
}
}
else if (choix==3)
{
printf("Voulez vous prendre rendez vous ? ");
scanf("%s",&reponse);
if (reponse=='oui')
{
printf("\n\nNous vous recontacterons");
}
else {
printf("\n\nBureau ouvert tous les jours de 8h a 11h");
}
}
else {
printf("Erreur");
}
if (choix==3)
{
printf("Votre moyenne est de %.2f");
}
getch(); getch();
return 0;
}
Et je pense avoir un probleme, c'est que je n'arrive pas avec la condition (if (reponse==oui). Quand je compile, ca ne marche pas à ce niveau :/
A voir également:
- Interrogation sur les test de conditions.
- Test performance pc - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test steam deck oled - Guide
- Test composant pc - Guide
- Test batterie pc - Guide
1 réponse
Bonjour,
Tout d'abord merci, ça fait plaisir un message bien rédigé et clair!
Cela peut venir, mais pas sur hein, des limites de la fonctions scanf().
Regarde ceci :
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/16993-la-saisie-de-texte-securisee
Cette fonction est vicieuse ^^
Tout d'abord merci, ça fait plaisir un message bien rédigé et clair!
Cela peut venir, mais pas sur hein, des limites de la fonctions scanf().
Regarde ceci :
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/16993-la-saisie-de-texte-securisee
Cette fonction est vicieuse ^^
J'ai parcouru ce lien, merci ! J'ai donc modifié, je peux te l'envoyer par message si ca ne te derange pas ?