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 :

Programmer d'un trait ou créer des sous-programmes ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut Programmer d'un trait ou créer des sous-programmes ?
    Bonjour tout le monde,

    Je suis entrain ou plutôt je compte créer un programme en C qui permet le calcul d'intérêts divers.
    Le programme dans un premier temps fonctionnera en console sous linux. Donc pas de boutons ou autres graphiques.
    Ce programme comprendra un menu principal qui indiquera par exemple :

    " Menu principal "
    " Calcul de l'intérêt simple = 1"
    " Calcul d'un intérêt proportionnel = 2"
    " Taux d'intérêt moyen = 3"
    " Indiquez votre choix : ""
    etc..

    Pour l'instant pas de problèmes particuliers...
    La question que je me pose :
    le programme comporte différents menu qui eux même peuvent comporter différents sous / menus..
    Vaut-il mieux créer le programme d'un bloc en utlisant des switch-case par rapport au choix du menu et ainsi créer un programme à rallonge qui peut comporter des centaines de lignes d'un bloc ?
    Ou vaut il mieux créer par exemple un : Menu.c qui comprends donc les lignes du menu principal cité si-dessus et qui lorsque l'on effectue un choix fait appel à des programmes c externe ?
    Un peu à la manière des classes externes en java à l'aide de import ?

    Et si oui vous auriez un exemple de ligne qui fait ce genre d'appel ?

    Merci d'avance
    a+

  2. #2
    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
    Si le programme n'est pas trop long, un seul fichier source devrait suffire sinon rien ne t'empêche de l'organiser en plusieurs fichiers sources si tu le désires mais dans tous les cas, tu devras fournir au moins une fonction ou classe par problème. Sans classes cela s'écrit comme suit :
    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
    int main()
    {
        int n;
     
        AfficherMenu();
        n = Choix();
     
        switch(n)
        {
        case INTERET_SIMPLE:
            GotoInteretSimple();
            break;
     
            ...
        }
     
        return 0;
    }
    Pareil pour GotoInteretSimple s'il y a des sous-menus.

    Le programme devra évidemment boucler ...

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut Nombre de menus? Comment tester?
    Bonsoir,

    Tu as deux aspects pour les fonctions:
    1 - comment tu vas tester qu'elles font bien ce que tu attends en dehors de ton programme?
    2 - coller aux actions que doivent déclencher les choix du menu.

    L'affichage des menus sont la dynamique de ton interface.
    Si tu as 50 fonctions qui font afficher menu, récuperer choix et aller au menu suivant,.... il va te falloir "compacter" cela avec des tables d'états, transitions.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut
    Le programme sera effectivement très long, car non seulement je compte mettre tout ce qui concerne le calcul d'intérêts mais également d'autres calculs mathémathiques, style statistiques, nombres premiers , PGCD, etc.. M'enfin un programme de différentes sections de calcul mathématiques on va dire..
    Donc effectivement beaucoup de menus et sous-menus.. Le tout dans un premier temps en mode console..

    Si tu as 50 fonctions qui font afficher menu, récuperer choix et aller au menu suivant,.... il va te falloir "compacter" cela avec des tables d'états, transitions.
    C'est quoi compacter avec des tables d'états ?

    merci pour vos reply..
    a+

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Gia,

    - Plusieurs fichiers sources, chacun traitant son domaine (intérêts, nombres premiers, stats...)

    - les tester sérieusement chacun tour à tour

    - et ensuite seulement faire le système de menu

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut
    Ok, mais comment à partir du menu principal je fait appel aux autres fichiers sources .?
    Tout simplement par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Interet.c
    int A;
    int B;
    int C;
     
    C=A+B;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    MenuPrincipal.c
    cout "Intéret Simple = 1";
    cout "intéret composé = 2";
    
    getchar();
    if getchar = 1 {
    interet.c
    
    }
    
    etc..etc..

    Alors attention je précise qu'i est clair que je n'ai pas mis la syntaxe du C/C++ pour des raisons de lisibilité et de simplicité..et que présenté tel quel il est évident que le compilateur va générer des erreurs..
    Ce que je veuts juste comprendre c'est l'appel de ou la manière d'appeler la source externe.. Suffit - il juste de mettre le nom de la source à appeler ou quel mot clef faut il utliser pour appeler cette source ?
    -Call interêt.c
    -interet.c();
    -gosub interet.c;

    ou je ne sais ?
    Merci d'avance..
    a+

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Telemak Voir le message
    Je suis entrain ou plutôt je compte créer un programme en C++
    alors tu t'es trompé de forum. Je déplace ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut
    Citation:
    Envoyé par Telemak Voir le message
    Je suis entrain ou plutôt je compte créer un programme en C++
    alors tu t'es trompé de forum. Je déplace ?
    Non tu peuts laisser...c'est moi lorsque j'écris, erreur de transposition, dans ma tête celà voulait signifier passer C vers C++ par la suite avec utilisation d'une interface graphique style QT ou GTK, pour l'instant il ne s'agit que de faire celà en mode console.
    J'ai conscience qu'il ne s'agit pas de la même chose.
    J'ai réedité mes posts pour les corriger..en espérant ne pas en avoir oublié.

    Effectivement les classes n'existent pas en C.
    Je pensait qu'il existait une méthode ou une manière de procéder sur ce même shéma...Mais je me voits mal faire le programme comprenant des multitudes de lignes basé sur du switch - case, et celà malgré l'utilisation de fonctions, rien que pour accéder à différentes méthodes de calculs.

    Celà étant avec vos réponses vous m'avez déjà apporté pas mal d'aide quand à l'approche de l'utilisation du C.
    Comme cité plus haut , je ne vais pas alourdir le sujet du post.
    Aussi, je met le tag " résolu " en place en attendant éventuellement de nouvelles questions que le forum.

    Si, je n'arrive pas, ou disons, que vous ne voyez plus de réponses de ma part, celà est dû à ma ligne qui me crée quelques problèmes depuis quelques jours. Je perds à tout bout de champ le fixe auprès du FAI. D'aileurs pour cette réponse j'ai du mal à poster...


    Encore merci à tous..
    a+

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Telemak Voir le message
    Non tu peuts laisser...c'est moi lorsque j'écris, erreur de transposition, dans ma tête celà voulait signifier passer C vers C++ par la suite avec utilisation d'une interface graphique style QT ou GTK, pour l'instant il ne s'agit que de faire celà en mode console.
    J'ai conscience qu'il ne s'agit pas de la même chose.
    J'ai réedité mes posts pour les corriger..en espérant ne pas en avoir oublié.
    Alors les fichiers, c'est .c et non .cpp. Je corrige.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer des sous-tables
    Par corbel88 dans le forum Débuter
    Réponses: 1
    Dernier message: 28/04/2008, 19h32
  2. Créer des sous-sous menus?
    Par kate1980 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 20/02/2008, 19h11
  3. créer des sous dossier en java
    Par nikolanta dans le forum Langage
    Réponses: 4
    Dernier message: 11/01/2008, 15h23
  4. [Débutant] Comment créer des sous Form ?
    Par Hokage dans le forum Débuter
    Réponses: 2
    Dernier message: 27/09/2007, 10h55
  5. Réponses: 7
    Dernier message: 27/10/2005, 19h23

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