Interrogation sur les test de conditions.

Résolu
sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
 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 :/



A voir également:

1 réponse

Utilisateur anonyme
 
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 ^^
0
sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   1
 
De rien, c'est plus agreable pour ceux qui repondent un texte clair et bien ecrit, qu'un torchon ^^

J'ai parcouru ce lien, merci ! J'ai donc modifié, je peux te l'envoyer par message si ca ne te derange pas ?
0
Utilisateur anonyme
 
Vas y fais!
0