Débutant en programmation C en problème!
Seif
-
arth Messages postés 9374 Date d'inscription Statut Contributeur Dernière intervention -
arth Messages postés 9374 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à vous tous je suis un étudiant en mécanique et on commence à nous apprendre le C. J'ai tapé le programme suivant à la machine (un programme très simple :) ) mais j'ai qq problèmes:
#include<stdio.h>
void main()
{
char nom[10];
float test,exam,moy;
printf("nom : ");
scanf("%c", nom);
printf("test : ");
scanf("%f", &test);
printf("examen : ");
scanf("%f", &exam);
moy = (0.4*test+0.6*exam);
printf("Moyenne : %f", moy);
getchar();
}
Le problème est que en éxecutant le programme il sort après avoir saisi le nom le test et l'examen: il n me calcul pas la moyenne même en le forçant avec getcher ça ne marche pas de plus après que je l'exécute autre fois pour voir le résultat la moyenne est de la façon suivante 13.20000000 même en tapant printf("%f.2", moy); ça marche pas.
Aidez moi svp.
NB: mon compilateur est Turbo C++.
#include<stdio.h>
void main()
{
char nom[10];
float test,exam,moy;
printf("nom : ");
scanf("%c", nom);
printf("test : ");
scanf("%f", &test);
printf("examen : ");
scanf("%f", &exam);
moy = (0.4*test+0.6*exam);
printf("Moyenne : %f", moy);
getchar();
}
Le problème est que en éxecutant le programme il sort après avoir saisi le nom le test et l'examen: il n me calcul pas la moyenne même en le forçant avec getcher ça ne marche pas de plus après que je l'exécute autre fois pour voir le résultat la moyenne est de la façon suivante 13.20000000 même en tapant printf("%f.2", moy); ça marche pas.
Aidez moi svp.
NB: mon compilateur est Turbo C++.
A voir également:
- Débutant en programmation C en problème!
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Mettre en veille un programme - Guide
- Programmer en basic sous windows 10 - Télécharger - Édition & Programmation
- Un autre programme est en cours d'installation - Forum Windows 10
3 réponses
bijour
dans ton programme tu as déclaré "nom" comme un tableau de caractère. pour enregistrer le nom, il faut faire "scanf("%s",nom),
car si tu utilise %c ,cela n'enregistrera que le premier carcatère du nom entré au clavier.
En fait la moyenne est calculée et s'affiche mais il n'y a aucune pause du programme(bizarre pourtant ave le getchar() ); personnellement j'inclue la bibliotheque "windows.h" et si je veux faire une pause j'uitilise la fonction "system("PAUSE");" . ca te mets le programme en pause et tu visualise le résultat jusqu'a appui sur une touche.
Enfin si tu veux afficher 2 chiffres après la virgule, tu t'es juste trompé dans l'ordre, c'est " %.2f " (menfin on fait tous ca au début lol ).
ca donne donc ce programme :
#include<stdio.h>
#include<windows.h>
main()
{
char nom[10];
float test,exam,moy;
printf("nom : ");
scanf("%s", nom);
printf("test : ");
scanf("%f", &test);
printf("examen : ");
scanf("%f", &exam);
moy = (0.4*test+0.6*exam);
printf("Moyenne : %.2f\n", moy);
system("PAUSE");
}
Voila jespère que ca t'aidera et que ca compilera (j'utilise DEV C++). Bonne journée.
dans ton programme tu as déclaré "nom" comme un tableau de caractère. pour enregistrer le nom, il faut faire "scanf("%s",nom),
car si tu utilise %c ,cela n'enregistrera que le premier carcatère du nom entré au clavier.
En fait la moyenne est calculée et s'affiche mais il n'y a aucune pause du programme(bizarre pourtant ave le getchar() ); personnellement j'inclue la bibliotheque "windows.h" et si je veux faire une pause j'uitilise la fonction "system("PAUSE");" . ca te mets le programme en pause et tu visualise le résultat jusqu'a appui sur une touche.
Enfin si tu veux afficher 2 chiffres après la virgule, tu t'es juste trompé dans l'ordre, c'est " %.2f " (menfin on fait tous ca au début lol ).
ca donne donc ce programme :
#include<stdio.h>
#include<windows.h>
main()
{
char nom[10];
float test,exam,moy;
printf("nom : ");
scanf("%s", nom);
printf("test : ");
scanf("%f", &test);
printf("examen : ");
scanf("%f", &exam);
moy = (0.4*test+0.6*exam);
printf("Moyenne : %.2f\n", moy);
system("PAUSE");
}
Voila jespère que ca t'aidera et que ca compilera (j'utilise DEV C++). Bonne journée.