Bulletin de notes

DevStephNetwork Messages postés 12 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 30 juin 2011 - 29 juin 2011 à 17:16
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 - 30 juin 2011 à 16:59
Salut à tous, vous pouvez traduire ce programme en C pour moi.
Mon problème a moi c'est je suis bon en algo mais de la à la traduction il ya un grand pas.
besion d'aide.

programme relevé
var mat(1:10),nom(1:32): tableau de caractères
moyenne(1:32,1:10): tableau de réels
I,J, :entiers
moygen, moycla: réels

debut
(*saisie des tableaux*)
POUR I 1à 10 faire
afficher "entrer le nom de la matière"
saisir mat(I)
FPOUR

POUR J 1à 32 FAIRE
afficher "entrer le nom de l'élève"
saisir moyenne(J)
FPOUR

POUR I 1à 10 faire
afficher "entrer sa moyenne obtenue en",mat(I)
saisir moyenne(I,J)
FPOUR
FPOUR

moycla=0
POUR J de 1à 32 FAIRE
moygen=0
afficher"nom de l'élève: " ,nom(I)
(*traitement de chaque matière*)
POUR J de 1à10 FAIRE
afficher "moyenne obtenue en ",mat[I]
afficher moyenne(I,J)
moygen=moygen+moyenne(I,J)
FPOUR
afficher " moyenne générale de l'élève ",moygen/10
moycla=moycla+moygen/10
FPOUR
afficher"moyenne générale de la classe",moycla/32
FIN

6 réponses

DevStephNetwork Messages postés 12 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 30 juin 2011 1
Modifié le 13 févr. 2020 à 17:13
Voila ce que j'ai pu faire avec les indications.
Indulgence pour la correction et commentaires.
Je suis New


#include <stdio.h>
#include <string.h>
main()
{
char  MAT[10]; /* tableau de matières*/
char  NOM[32]; /* tableau de noms*/
float MOY[10][32];/* tableau des moyennes*/
float MOYGEN, MOYCLA;/* moyenne générale et de classe*/
int   I, J; /* compteurs d'aide */
/*Saisie des différents tableaux*/
printf("Entrez le nom de la natière:\n");
for(I=0, I<10, I++);
{
printf("Moyenne %s:",I+1);
scanf("%s", &MAT[I]);
}
printf("Entrez le noms des éléves:\n");
for(J=0, J<32, J++);
{
printf("Noms %s:",J+1);
scanf("%s", &NOM[J]);
}
printf("Entrez la moyenne obtenu en ", &MAT[I]);
for(I=0, I<10, I++);
{
printf("%f%",MOY[J]);
scanf("%d", &MAT[I], MOY[J]);
}
MOYCLA=0;
/*Rpétitive générale*/
for (J=0, J<32, J++);
/*traitement d'un élève*/
MOYGEN=0;
printf("Nom de l'élève: ",NOM[J]);
/*traitment de chaque matiére*/
printf("Moyenne obtenue en ", MAT[I], ":");
for(I=0, I<10, I++);
{
printf("%f", MAT[I], MOY[J]);
MOYGEN=MOYCLA+ (MOYGEN/10);
printf("Moyenne générale de l'élève", %f(MOYGEN/10));
MOYCLA=MOYCLA + (MOYGEN/10);
printf(" Moyenne générale de la classe", %f(MOYCLA/32);
}
1
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
29 juin 2011 à 17:28
Désolé, nous ne faisons pas le travail des autres...
Commences ta "traduction" et revient nous voir.
Bon courage.


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
k.Lutchi Messages postés 25 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 27 septembre 2016 10
30 juin 2011 à 10:32
Slt

Pour le tableau de caractères => "char[n]"
Pour le tableau reel =>"float[n]"
Pour l'entier => "int"
Pour le reel => "float"

Pour afficher =>"printf"
Pour saisir => "scanf"

pour POUR I 1à 10 faire => for(i=1:i<11:i++)
0
DevStephNetwork Messages postés 12 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 30 juin 2011 1
30 juin 2011 à 10:49
Merci avec ça je peux decoller. Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
30 juin 2011 à 14:01
C'est UNE matière et UN élève qui te sont demandé
printf("Entrez le nom de la natière:\n"); 
for(I=0, I<10, I++); 
{ 
printf("Moyenne %s:",I+1); 
scanf("%s", &MAT[I]); 
} 

Ici, plusieurs erreurs:
- tu affiches "moyenne" alors que c'est la matière qui est demandée
- tu vas l'afficher 10 fois, vu que tu l'as mis dans ta boucle
- %s sert à afficher une chaîne de caractère. Toi, tu affiches (I+1) qui est un float (d'ailleurs, pourquoi +1?)
- même topo pour scanf. Pour chopper un caractère, il faut mettre %c

Du coup, même "punition" pour la saisie du nom de l'élève, dont l'algo d'ailleurs est faux ou mal exprimé.

Regarde déjà ça et reviens nous voir après, une fois testé et validé de ton côté.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 1
30 juin 2011 à 16:59
C'est triste de voir encore des gens demander ça. C'est tellement enrichissant de se creuser un minimum le cerveau pour accomplir ce genre de choses....
0
Rejoignez-nous