begin process at 2012 05 30 01:50:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Probleme avec l'affichage dans Strusture


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec l'affichage dans Strusture

samedi 7 janvier 2012 à 13:08:10 | Probleme avec l'affichage dans Strusture

m2z

Salut Les Amis
j'ai trouvé un probleme dans mon programme de gestion d'eleves
plus exactement lors de l'affichage ou le programme m'affiche que le 1er nom de l'eleve1 les autre eleves ça m'affiche
que leur prenom age et moyenne generale
je vous laisse avec le code source qui compile sans aucun probleme
Code C/C++ :
#include <stdio.h>
#include <stdlib.h>

int NbrEleve;
struct Etudiant
                {
    char Nom[20];
    char Prenom[20];
    int Age;
    float Note[4];
                }Etd[120];
void Menu(void)
{
    int i;
    char   *MENU_CHAMP[]={"1 : Lecture des elements","2 : Affichage des elements",
                        "3 : Ajout d'un element", "4 : Recherches des elements",
                        "5 : Modification des elements","6 : Suppression des elements",
                        "7 : Tri des element","Echap : Sortir" };
    for(i=0;i<8;i++)
    {
        printf("%s\n",MENU_CHAMP[i]);
    }
}
//Ma fonction de saisie
void Saisie(void)
{
    int i,j;
    printf("Saisir le nombre d'eleves ? : ");
    scanf("%d",&NbrEleve);
    system("cls");
    for(i=0;i<NbrEleve;i++)
    {
            printf("Saisir le nom de l'eleve[%d] ? : ",i+1);
            scanf("%s",Etd[i].Nom);
            printf("Saisir le prenom de l'eleve[%d] ? : ",i+1);
            scanf("%s",Etd[i].Prenom);
            printf("Saisir l'age de l'eleve[%d] ? : ",i+1);
            scanf("%d",&Etd[i].Age);
            printf("Saisir la note 1 de l'eleve[%d] ? : ",i+1);
            scanf("%f",&Etd[i].Note[0]);
            printf("Saisir la note 2 de l'eleve[%d] ? : ",i+1);
            scanf("%f",&Etd[i].Note[1]);
            printf("Saisir la note 3 de l'eleve[%d] ? : ",i+1);
            scanf("%f",&Etd[i].Note[2]);
            printf("Saisir la note 4 de l'eleve[%d] ? : ",i+1);
            scanf("%f",&Etd[i].Note[3]);
            system("cls");
    }
    //Calcul de moyenne pour chaque eleve
    for(i=0;i<NbrEleve;i++)
    {
        Etd[i].Note[4]=0;
        for(j=0;j<4;j++)
        {
            Etd[i].Note[4]+=Etd[i].Note[j];
        }
         Etd[i].Note[4]=Etd[i].Note[4]/4;
    }
    printf("Saisie Complete");
    getch();
}
//Ma fonction d'affichage
void Affichage(void)
{
    int i;
    for(i=0;i<NbrEleve;i++)
    {
        printf("%s\t",Etd[i].Nom);
        printf("%s\t",Etd[i].Prenom);
        printf("%d\t",Etd[i].Age);
        printf("%.2f\t\n",Etd[i].Note[4]);
    }
    getch();
}


int main()
{
    int choix;
    do
    {
        system("cls");
        Menu();
        printf("\nSaisir Votre Choix ? : ");
        scanf("%d",&choix);
        switch (choix)
        {
            case 1:system("cls");Saisie();break;
            case 2:system("cls");Affichage();break;
            case 3:system("cls");break;
            case 4:system("cls");break;
            case 5:system("cls");break;
            case 6:system("cls");break;
            case 7:system("cls");break;
            case 27:system("cls");break;
            default :system("cls");printf("Desole ce choix ne figure pas dans le menu!!!\n\a\a\a");break;
        }
    }while(choix!=27);
    return 0;
}


dans la fonction d'affichage si je permute la ligne d'affichage des noms et prenoms le meme probleme m'arrive avec les prenom et les nom s'affiche tous correctement
pour bien me comprendre veilleuz SVP compiler et faire l'example avec 2 ou 3 eleves et merci infiniment
dimanche 8 janvier 2012 à 07:40:30 | Re : Probleme avec l'affichage dans Strusture

Lucky92

Réponse acceptée !
Bonjour,

le champ Note de ta structure est un tableau de 4 éléments.
Or, pour calculer la moyenne de chaque élève tu utilises le 5ème élément qui n'est pas défini.

La ligne
Code C/C++ :
Etd[i].Note[4]=0;

vient donc jardiner dans le tableau de structure et effacer des données saisies.

@++
mercredi 11 janvier 2012 à 10:10:04 | Re : Probleme avec l'affichage dans Strusture

m2z

Merci infiniment,Juste Une petite remarque si je veux utiliser ces fonctions mais cette fois ci ayant des paramètres sous forme de pointeurs Quelles indications et remarques vous me donnerez a suivre!!!
mercredi 11 janvier 2012 à 19:50:16 | Re : Probleme avec l'affichage dans Strusture

Lucky92

Ca dépend de ce que tu veux faire.
Si c'est pour éviter les variables globales dans ton programme, tu peux par exemple transformer ton programme comme ceci:
Code C/C++ :
void Saisie( int * NbrEleve , Etudiant * Etd ){[...]}

void Affichage( const Etudiant * Etd , int NbrEleve){[...]}

int main()
{
    int NbrEleve = 0 ;
    Etudiant Etd[120] ;
    int choix;
    do
    {
        system("cls");
        Menu();
        printf("\nSaisir Votre Choix ? : ");
        scanf("%d",&choix);
        switch (choix)
        {
            case 1:system("cls");Saisie( &NbrEleve , Etd );break;
            case 2:system("cls");Affichage( Etd );break;
[...]


Mais est-ce bien ton besoin ?


Cette discussion est classée dans : system, printf, cls, note, etd


Répondre à ce message

Sujets en rapport avec ce message

Passer de fonction void a des fonction qui prennent des pointeurs comme parametre [ par m2z ] Salut! j'ai du parvenir a réaliser un programme de gestion d'élèves les informations sont enregistré a travers un tableau de structure [^^clinoeil1] a bitmap dans une fenetre DOS [ par chinois57 ] je voudrai ajouter une image dans mon programme est ce possible#include #include intmain(){   system ("MODE CON: cols=70 lines=40");   system ("TITLE aide [ par chinois57 ] comment faire fair ce prog dans une fenetre windows application#include #include intmain(){   system ("MODE CON: cols=70 lines=40");   system ("TITL erreur undefined reference to winmain [ par stoner2008 ] bonjour les amis..j'ai écrit un code source pour gerer une agence de location de voiture.cependant lors de l'execution du programme,une erreur s'affic Editeur blague dans fenetre [ par romar02 ] Salut,je construit un editeur de blague :pDu genre:#include #include int main(int argc, char *argv[]){  long choixMenu;</ Probleme dans la boucle. [ par balak6 ] Bonjour a tous, J'aimerais bien a la fin de chaque programme demander a l'utilisateur si il veux, oui ou non recommencer le programme (while), mais qu [c] plantage du program,base 2 donné, surmen un pb de struct [ par Diony ] jvous explique mon probleme . ce programme est une base de données de recettes . et il plante a la fonction inserer_recette_fin_liste (vers le milieu Exécuter Instruction CLS [ par PatriceVB ] J'aimerais pouvoir faire un CLS dans une application console en C++ .Net. Sous Optima C++, je faisais system("CLS") mais sous C++.net system n'est pas Pb avec 'SYSTEM' [ par AtomicREW ] Je vous previens tout de suite mon code est vraiment foireux, j'ai commence le C qu'aujourd'hui et sans doc a proprement dit. J'ai mis la ligne où Dev


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales