Débutant en programmation C en problème!

Fermé
Seif - 14 févr. 2006 à 12:31
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 28 oct. 2007 à 01:31
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++.
A voir également:

3 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
14 févr. 2006 à 13:19
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.
0
curley Messages postés 6 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 28 octobre 2007
27 oct. 2007 à 22:29
Bonjour à vous,

Je suis débutant en programmation C. Je suis à l'heure actuelle en train de faire un exercice. J'ai rédigé le programme et cela bloque quand je fais la compilation. Est-ce que quelqu'un pourrait m'aider !

Curley
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
28 oct. 2007 à 01:31
Bonne nuit !

Peux tu coller le programme et les erreurs remontées ?

Merki :)
0