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 :

aide sur un programme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Par défaut aide sur un programme
    salut tt le monde voila un examen pratique d'informatique et je voudrai bien s'avoir comment le resoudre et merci

    examen:
    supposons qu'on a deja créée un fichier nommé INFORM.TXT qui contin les structures suivante:

    structure personne {
    nom: chaine de 20 caracteres maximum.
    prenom:chaine de 20 caracteres maximum
    MATRICULE:entier}

    ecrire un programme qui permet de

    a)declarer la structure personne et deux fichiers INFILE et OUTFILE.
    b)ouvrire les deux fichier INFILE et OUTFILE respectivement en lecture et enécriture,
    c)supprimer du fichier INFORM.TXT tous les enrefistrement dont le numéro de MTRICULE se termine par le chiffre 8 et dont le prenom est ali (utilisé la fonction strcmp)
    d)sauvegarder le resultet final dans un nouveau fichier nommé INFBIS.TXT.

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Je suppose que tu as malgré tout une petite idée.

    Donc poste le code que tu as déjà fait (ou envisagé d'écrire).
    Précise les difficultés que tu rencontres ou les points que tu ne comprends pas.

    Il est évident que, si nous pouvons t'aider à comprendre et traiter le sujet, on ne peut (et on ne doit pas) faire ton examen pratique à ta place.

  3. #3
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    As-tu déjà lu les tutoriels de manipulation de fichiers ?
    Entrées/sorties en langage C
    Manipulation des fichiers en C
    Il faut lire les deux, pas l'un ou l'autre uniquement.

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Par défaut
    salut melem pour koi on utilise return ...?? pourtant moi j'utilise getch();

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    main est une fonction qui doit retourner un int (appelé code d'erreur de l'application). Il est coutume de retourner 0 pour indiquer un succès. Un programme C minimal est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int main() {
        return 0;
    }
    Si tu veux un getch avant la fin de ton programme, c'est pas grave :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <conio.h>
     
    int main() {
        getch();
        return 0;
    }
    getch n'est cependant pas une fonction C standard, ça n'existe que sous DOS et Windows. Elle sert à attendre une touche venant directement du clavier, et sans afficher à l'écran le caractère correspondant à la touche frappée.

    Certains compilateurs permettent d'utiliser d'autres formes de main(). Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <conio.h>
     
    void main() {
        getch();
    }
    void indique que la fonction ne retourne rien. Le compilateur va alors placer généralement 0 comme code d'erreur, puisque tu n'as rien spécifié.

    On peut encore dire plein de choses rien que sur cette fonction main mais le mieux c'est que tu lises les cours et les FAQ avant de poser des questions car la plupart des questions que tu pourrais te poser s'y trouvent déjà.

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Par défaut
    voila un ptit programme sans utilisation de return
    #include<stdio.h>
    main()
    { printf("hellow world");
    getch();
    }

    alor la return n'est pas si importante????

  7. #7
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Lorsque le type de retour d'une fonction n'est pas indiquée cela signifie que la fonction retourne un int, mais c'est une pratique très obsolète. A la base tu devrais donc écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include<stdio.h>
    #include<conio.h>
    main()
    {
        printf("hellow world");
        getch();
        return 0;
    }
    <conio.h> est nécessaire car c'est ce fichier qui contient la déclaration de getch. Tu as pu l'omettre parce que getch retourne un int or le C permet de ne pas déclarer une fonction retournant un int, pratique également devenue obsolète.

    Maintenant si tu enlèves le return ta fonction main retournera à priori n'importe quoi, parce qu'elle doit retourner un int alors que tu n'as rien spécifié comme valeur de retour. Ca n'a rien à voir avec main, c'est une règle.
    Que retourne f() à ton avis si tu l'appelais ? Tu n'as même pas spécifié la valeur de retour. Il y a cependant une exception pour main et pour main uniquement si ton compilateur est entièrement ou en partie conforme à la norme C99 (mais jusqu'à maintenant peu de compilateurs supportent cette norme) : il n'est pas obligatoire de préciser la valeur de retour de main dans le code source. Dans ce cas, le compilateur ajoutera lui-même automatiquement le return 0;

    Donc au lieu de se tracasser la tête avec tout ça, il est plus simple est plus correct d'utiliser la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int main() {
        return 0;
    }
    Plutôt que n'importe quelle autre forme.

Discussions similaires

  1. Aide sur un programme Client Serveur
    Par clubmed01 dans le forum Linux
    Réponses: 33
    Dernier message: 29/05/2012, 10h22
  2. Besoin d'aide sur un programme
    Par chuko dans le forum C
    Réponses: 22
    Dernier message: 14/06/2008, 17h33
  3. [VB6] Demande d'aide sur un programme !
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/06/2006, 11h49

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