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 :

Programme de gestion


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Par défaut Programme de gestion
    Salut tout le monde!!

    Alors je vous explique la situation, je suis en prépa intégrée à une école d'ingé,j'ai raté mes examens ce qui fait que ma moyenne a complètement chutée, j'essaie de remonter comme je peux mais c'est dur !!
    Nous avons un projet d'info à faire, qui pourrait m'aider à bien remonter mais malheureusement je suis totalement nulle en info
    Bref, le but est de créer un programme pour la gestion des associations de l'école.

    Voici le sujet:



    Et voici l'organigramme que j'ai réalisé, histoire de vous montrer de quelle manière je souhaiterais que le programme soit fait:



    Si quelqu'un pouvait m'être d'une grande aide, ça serait vraiment très sympa, car là je désespère

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Personne ici ne fera le travail à ta place (Cf règle 4.13).

    Donc n'hésite pas à lire les tutoriels, la FAQ et effectuer des recherches sur le forum.

    Puis montre-nous ce que tu as essayé de coder, même si c'est faux.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Par défaut
    Je n'ai pas demandé qu'on me le fasse, mais de l'aide
    Pour le moment j'ai fait cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    //#include"ajouter.c"
     
    #define taille 30
     
    struct eleve
    {
    char nom[25];
    char prenom[25];
     
    };
     
    struct association
    {
    char nomA;
    char description;
    char nomT;
    char nomP;
    char nomS;
    int local;
     
    };
     
    void ajouterAssoc(struct association tab[], int position)
    {
        __fpurge(stdin);
        printf("Entrez le nom de l'association :");
        fgets(tab[position].nomA, 25, stdin);
     
        __fpurge(stdin);
        printf("Entrez la description de l'association :");
        fgets(tab[position].description, 100, stdin);
     
     
        __fpurge(stdin);
        printf("Entrez le nom du président :");
        fgets(tab[position].nomP, 25, stdin);
     
    __fpurge(stdin);
        printf("Entrez le nom du secrétaire :");
        fgets(tab[position].nomS, 25, stdin);
     
    __fpurge(stdin);
        printf("Entrez le nom du trésorier :");
        fgets(tab[position].nomT, 25, stdin);
     
     
        printf("Entrez le numero du local :");
        scanf("%d",&tab[position].local);//A FAIRE : verifier que le local n'est pas encore occupé
     
     
    }
    void enregistrer(struct association tab[], int position)
    {
        FILE*fichier;
        int i;
        fichier=fopen("assoc.dat","r");
        for(i=0; i<position; i++)
        fwrite(&tab[i], sizeof(struct association), 1, fichier);
        fclose(fichier);
    }
     
    int lire(struct association tab[taille])
    {
        int i=0;
        FILE*fichier=fopen("assoc.dat","r");
     
        while(fread(&tab[i], sizeof(struct association), 1, fichier) && !feof(fichier))
        i++;
        fclose(fichier);
        return i;
    }
     
     
    int main()
    {
     
        int indice=0;
     
        struct association tableau[taille];
     
        indice=lire(tableau);
     
        ajouterAssoc(tableau, indice);
    }

  4. #4
    Membre éclairé Avatar de Ngork
    Homme Profil pro
    Barbare IT
    Inscrit en
    Avril 2009
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Barbare IT
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 160
    Par défaut Organigramme : squelette du programme !
    Tu as un organigramme, c'est bien, c'est la première étape.
    A partir de là, tes éléments appartenant à ta branche affichage doivent te permettre de créer les structures de données dont tu as besoin et les éléments de la branche gestion doivent te donner les fonctions à écrire !
    Tu as donc le squelette de ton appli, pose d'abord les structures de données dans un associations.h (par exemple) puis les noms des fonctions, avec leur valeur de retour et leurs entrées.
    Ensuite tu écris un associations.c (qui inclue ton associations.h) et tu implémente lesidtes fonctions, en commençant par les plus simples, les plus faciles.
    Et bien sûr, tu te crées un main.c où tu implémentes ta fonction main() qui te servira d'arbre de choix entre les fonctions d'associations.
    Fais déjà ça, et on verra ensuite ...

  5. #5
    Membre éclairé Avatar de Ngork
    Homme Profil pro
    Barbare IT
    Inscrit en
    Avril 2009
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Barbare IT
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 160
    Par défaut
    Le temps que je poste, tu as mis du code en ligne !
    Pense quand même aux balises de code !


  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Par défaut
    D'accord, comme tu peux le voir je suis aussi débutante sur forum, merci à Winjerome pour les balises

  7. #7
    Membre éclairé Avatar de Ngork
    Homme Profil pro
    Barbare IT
    Inscrit en
    Avril 2009
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Barbare IT
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 160
    Par défaut
    Pour ta structure association, je suppose que tu voulais plutôt écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    struct association
    {
      char nomA[25];
      char description[100];
      char nomT[25];
      char nomP[25];
      char nomS[25];
      int local;
     
    };
    Un conseil d'ordre général : à moins que ton appli ait vocation à rester en mode console, je te suggèrerais d'éviter des appels directs aux entrées et sorties standards, fais plutôt appel dès maintenant à une fonction d'entrée et une fonction de sortie que tu écris toi-même, et dans lesquelles tu places simplement pour l'instant un fgets et un printf, mais que tu pourras réécrire plus tard pour tirer partir d'une vraie interface graphique (API Win32, GTK, Wxwidgets, QT, ...) sans avoir à revoir tout ton code !

  8. #8
    Membre éclairé Avatar de Ngork
    Homme Profil pro
    Barbare IT
    Inscrit en
    Avril 2009
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Barbare IT
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 160
    Par défaut
    OK, une petite liste (non exhaustive) des choses à revoir dans ton code :

    -> L'inclusion d'un fichier .c est certes mise en commentaire au début de ton code, mais ne devrait quand même pas être là. Si tu veux inclure du code défini dans un autre fichier (ce qui est une bonne idée), tu crées un fichier .h et un fichier .c, le fichier .h contenant les déclarations des fonctions qui sont implémentées dans le fichier .c, et c'est seulement le fichier .h qui est inclu dans ton fichier principal (celui qui contient ta fonction main).

    -> Les structures et fonctions que tu vas utiliser dans ton programme pour gérer les associations devraient être définies dans un autre fichier, par exemple associations.c (et son header associations.h).

    -> Idem pour les structures relatives aux élèves.

    -> Ta fonction ajouterAssoc() devrait - idéalement - retourner quelque chose, indiquant si une association a bien été ajoutée, si une erreur a été rencontrée, si l'action a été abandonnée, etc ..., valeur que le programme principal pourra utiliser pour décider de la suite ...

    -> Tu devrais distinguer tes macros des noms de variables, en mettant les premières en majuscules par exemple (taille -> TAILLE).

    -> Je réitère mon conseil général de remplacer tes fonctions d'entrée-sortie (fgets/printf) par deux fonctions que tu écrirais toi-même et que tu pourrais faire évoluer selon l'interface à utiliser. C'est facile à faire avec 100 lignes de code, un peu lourd avec 1000 lignes et carrément pénible au-delà, alors fais-le avant que ton code aie pris de l'embonpoint !

    -> La fonction Lire() ne vérifie pas l'ouverture ni même l'existence du fichier, ce que tu peux corriger en testant la valeur de retour de fopen().

    -> Pour être éventuellement portable sous MS Windows, tu devrais ouvrir ton fichier avec l'option "rb", neutre pour les systèmes unix mais indispensable pour les systèmes MSWindows, sauf si tu sais exactement ce que tu fais.

    -> La fonction Lire() ne vérifie pas que le fichier ne contient pas plus d'enregistrements que la structure ne peut en recevoir, ce qui n'est guère prudent.

    -> La fonction Enregistrer() ouvre le fichier en lecture (option "r"), et il lui sera donc difficile d'enregistrer quoi que ce soit, d'ailleurs elle ne vérifie pas la valeur de retour pour s'assurer que le fichier a bien été ouvert. Pour l'ouvrir en écriture, et tout réécrire à chaque fois, c'est l'option "w" ou "wb".

    Bon, fais déjà quelque chose sur ces points et on en reparle !

Discussions similaires

  1. Programme de gestion d'heure
    Par krfa1 dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 30/08/2006, 18h43
  2. Recherche d'un programme de gestion de connection
    Par lermit dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 06/07/2006, 10h04
  3. Cherche à faire un programme de gestion pour PC et MAC
    Par morgantip dans le forum Windows
    Réponses: 12
    Dernier message: 23/05/2006, 09h01
  4. Création d'un programme de Gestion / compta : langage ?
    Par Alexino2 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 11/04/2006, 15h00
  5. Programme de gestion d'image qui permet de tout renommer
    Par snoopy69 dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 07/02/2006, 07h08

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