IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

un exercice en langage C


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut un exercice en langage C
    bonsoir si quelqu’un peut m'aider j'ai un exercice de programmation en langage C et merci d'avance :
    exercice:

    le fichier "etudiants.txt" décrit les différents étudiants:

    -cin :un long sur 8 caractères
    -nom: une chaine de caractères sur 15 caractères
    -prenom: une chaine de caractères sur 15 caractères
    -num_inscription: un long sur 8 caractères
    -classe: une chaine de caractères sur 10 caractères
    -matiere: une chaine de caractères sur 10 caractères
    -note_controle: un réel sur 5 caractères
    -note_examen: un réel sur 5 caractères

    on vous demande d’écrire les fonctions suivantes:

    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saisir_fichiers (FILE *fp_etudiant)
    qui permet de saisir les données dans le fichiers "etudiant.txt" avec contraints de saisie

    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File * Moyenne_etudiant(FILE *fp_etudiant)
    qui permet de générer un fichier "moyenne.txt" qui contient le cin ,le nom ,le prenom ainsi que la moyenne de tous les étudiants du fichier "etudiant.txt"

    3)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rattrapage (FILE *fp_etudiant)
    qui permet de générer un fichier d'afficher la liste des étudiants qui vont passer l'examen de rattrapage et les matières à.

    4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    modifier_etudiant (FILE * fp_etudiant, long cin)
    qui permet de modifier l'une des notes d'un étudiant donné

    5)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matière_premier(FILE * fp_etudiant, char * matiere)
    qui permet d'afficher (l'/les) etudiant(s) 1er dans une discipline donnée.

    6)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    recherche_inscri( FILE * fp_etudiant, char * nom, char * prenom)
    un étudiant veut rechercher son numéro d'inscription ,pour cela, il tape au clavier son nom, prénom et le programme doit afficher son nom ,son prénom , son numéro d'inscription et la classe à laquelle il appartient. La recherche doit être une recherche dichotomique.

    7)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tri_croissant( FILE * fp_etudiant)
    trier dans l'ordre croissant les noms des étudiants.


    moi je l'ai trouvé très difficile s'il vous plait quelqu’un peut m'aider.

  2. #2
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    Moi je le trouve très facile !
    ...
    ...
    ...
    Bref :
    Qu'as-tu déjà fait ? Où coinces-tu ?
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut question
    j'ai une petite question.. si je fait par exemple fgets(ch,50,file); le curseur après cette fonction reste a la position 50?

  4. #4
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    Lisons le man fgets...

    fgets() lit au plus size - 1 caractères depuis stream et les place dans le buffer pointé par s. La lecture s'arrête après EOF ou un retour-chariot. Si un retour-chariot (newline) est lu, il est placé dans le buffer. Un caractère nul '\0' est placé à la fin de la ligne.
    Ton "ch" a intérêt à être un char[50], ou un char* qui a été malloqué 50 ou + !
    Et n'oublies pas que comme il n'y a pas de '\0' ajouté à la fin, tu devras copier avec un strndup ou un strncpy !

    Après cet appel, le curseur se sera déplacé de 50 "au plus" (ou moins si problème), en effet !
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Euh, si, il y a toujours un \0 après une lecture par fgets().
    Et il y a ou non un \n, selon que la ligne ait été lue entièrement (si elle fait 48 caractères ou moins sans compter le \n) ou non.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. exercice en langage C
    Par zolafencer dans le forum Débuter
    Réponses: 7
    Dernier message: 11/01/2011, 00h15
  2. Exercices en langage assembleur du microprocesseur 8086
    Par lorye dans le forum x86 16-bits
    Réponses: 1
    Dernier message: 10/01/2009, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo