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 :

Création question-réponse en C


Sujet :

C

Vue hybride

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut Création question-réponse en C
    Bonjour,

    Après avoir pris les bases de la programmation en C et les avoir mises en œuvre dans des petits programmes simples, j'essaye de créer un petit programme de question réponse dans le terminal ( je programme sous linux Ubuntu ).

    Algorithme du programme : après exécution du programme, le terminal affiche une question et deux réponse ( oui ou non ) qui seraient choisies par O pour oui et N pour non. Puis, le programme donne une réponse.

    Voici mon programme brouillon, je pense qu'il y a quelques erreurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdio.h>
     
    void main
    {
     
    printf("f\ Allez vous bien ? n\ O : oui, N : non ");
     
    	if( o = 1 ){ printf("f\ Excellent ");};
            else { printf ("f\ Dommage ");};
    while (true)
    }
    J'aimerai que vous me disiez où vous voyez les erreurs car la compilation ne marche pas. ( Je doute pas mal du " y=1 " )

    Merci d'avance.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wakiza Voir le message
    Bonjour,

    Après avoir pris les bases de la programmation en C et les avoir mises en œuvre dans des petits programmes simples, j'essaye de créer un petit programme de question réponse dans le terminal ( je programme sous linux Ubuntu ).

    Algorithme du programme : après exécution du programme, le terminal affiche une question et deux réponse ( oui ou non ) qui seraient choisies par O pour oui et N pour non. Puis, le programme donne une réponse.

    Voici mon programme brouillon, je pense qu'il y a quelques erreurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdio.h>
     
    void main
    {
     
    printf("f\ Allez vous bien ? n\ O : oui, N : non ");
     
    	if( y = 1 ){ printf("f\ Excellent ");};
            else { printf ("f\ Dommage ");};
    while (true)
    }
    J'aimerai que vous me disiez où vous voyez les erreurs car la compilation ne marche pas. ( Je doute pas mal du " y=1 " )

    Merci d'avance.
    Bonjour
    Voici les erreurs que je releve apres une rapide lecture
    1. La fonction main n'a pas ses parentheses indiquant son etat de fonction
    2. La fonction main est de type int et non void (elle a possibilite de renvoyer une valeur numerique qui pourra servir a l'appelant)
    3. Tu poses une question impliquant une reponse O ou N mais tu testes sur 1 ou pas 1
    4. Ton test sur 1 (tu as raison de douter) n'est pas un test mais une affectation
    5. Tu poses la question mais tu n'offres pas a l'utilisateur de saisie pour pouvoir repondre


    Bon courage pour la suite qui ne peut, j'espere, qu'aller en s'ameliorant
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut
    J'ai bien compris tes réponses, mais je ne vois pas comment les mettre en œuvre dans le programme ?

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    [*]La fonction main n'a pas ses parentheses indiquant son etat de fonction[*]La fonction main est de type int et non void (elle a possibilite de renvoyer une valeur numerique qui pourra servir a l'appelant)[*]Tu poses une question impliquant une reponse O ou N mais tu testes sur 1 ou pas 1[*]Ton test sur 1 (tu as raison de douter) n'est pas un test mais une affectation[*]Tu poses la question mais tu n'offres pas a l'utilisateur de saisie pour pouvoir repondre[/LIST]
    Citation Envoyé par wakiza Voir le message
    J'ai bien compris tes réponses, mais je ne vois pas comment les mettre en œuvre dans le programme ?
    1) Obvious.
    2) Obvious aussi.
    3) La réponse est 'O' ou 'N', pourquoi tester y=1 ? Il faut tester que la réponse est 'O' ou 'N'.
    4) y=1 n'est pas un test, c'est une affectation. y==1 est un test. Mais il faudrait pour cela que la variable y soit déclarée, ce n'est pas le cas.
    5) (presque) Obvious. Comment l'utilisateur répond-il oui ou non dans ton code ? Voir getc dans ton cas.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wakiza Voir le message
    Citation Envoyé par wakiza Voir le message
    Après avoir pris les bases de la programmation en C et les avoir mises en œuvre dans des petits programmes simples...
    J'ai bien compris tes réponses, mais je ne vois pas comment les mettre en œuvre dans le programme ?
    Peut-etre, entre autres, en faisant l'effort d'ouvrir au-moins une fois un livre de C. Parce que commencer par dire "j'ai appris" et "j'ai deja ecrit" va a l'encontre du fait "je ne sais pas comment rajouter des parentheses a la fonction main" Ils compilaient tes "petits programmes simples" ???
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut
    Je suis en première année BTS systèmes électronique et j'ai un cours sur les structures de base en C ( tel que les structures do-while, if-else ... ) mais pour compiler des programmes, nous utilisions un logiciel particulier ( MPLAB ) et nos programmes simples sont par exemple la programmation des sec, min, heures d'une montre digitale, des incrémentations, des affichages sur petits écran LCD avec une interaction utilisateur/programmation via un PIC.

    J'ai essayé de programmer avec le logiciel Visual plus 2008 sous XP, Mais la syntaxe n'est pas la même que sur le MPLAB ( où par exemple le "void main" commence tout les programmes et la compilation se fait sans problème ) et je ne trouve pas de tutoriel détaillé.

    Donc vous l'aurez compris, c'est la première fois que je tente de programmer à partir de l'éditeur de texte de linux ( en aillant précisé que ce n'est pas du texte brut mais du C. ) Donc forcément, je n'ai pas une grosse expérience donc lorsque quelqu'un d'expérimenté m'explique ma faute, oui je comprends, mais je ne vois pas forcément comment le mettre en œuvre de part ma maigre expérience scolaire du C dont j'aimerai étoffer l'efficacité en faisant des programmes par moi même.

    Après cette explication, je vais tenter de corriger mais soyez indulgent, c'est tout ce que je demande.

    Pour l'histoire du main, si j'ai bien compris, ça donne cela :

    ?

    Et donc j'ai bien compris que le brouillon ne donne pas la possibilité à l'utilisateur de réponse. Mais comment faire en sorte qu'il puisse y avoir interaction ? Car pour moi le "o=1", ( d'ailleurs excusez moi, j'ai fais une erreur d'étourdissement en mettant y au lieu de o, j'édit ça maintenant ) ça voulait signifier que si l'utilisateur appuie sur O, la réponse envoyée au programme serait "oui" donc il répondrait en conséquence comme prévu dans la structure if-else. J'ai aussi bien compris que le "o=1" est une affectation donc je vous demande comment je pourrai faire pour écrire le fonctionnement que j'ai décris précédemment. Faudrait-il simplement que je mette " o==1 " pour que le fonctionnement soit bon ?

    Donc si j'ai bien compris vos remarques, ça donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdio.h>
     
    int main ();
    {
     
    printf("f\ Allez vous bien ? n\ O : oui, N : non ");
     
    	if( 0==1 ){ printf("f\ Excellent ");};
            else { printf ("f\ Dommage ");};
    while (true)
    }
    Merci d'avance pour votre compréhension et votre aide.

  7. #7
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    ca serait plus :
    pour boucler indéfiniement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    do {
    /* ce que tu veux */
    } while (true);
    pour interrompre la boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(/*condition d'arret*/) break;

    pour lire un caractère:
    pour vérifier que le caratère lu est un O:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ( c=='O' || c=='o') {
    /*la encore, ce que tu veux*/
    }

Discussions similaires

  1. [AC-2007] Création de jeu (questions/réponses)
    Par adameteve dans le forum Modélisation
    Réponses: 1
    Dernier message: 17/10/2011, 13h42
  2. POO : Création d'un système question/réponses
    Par Kenshin_Himura dans le forum Langage
    Réponses: 0
    Dernier message: 03/05/2010, 23h49
  3. Conseils pour l'écriture de questions/réponses pour les FAQ
    Par LittleWhite dans le forum Contribuez
    Réponses: 0
    Dernier message: 18/05/2006, 19h15

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