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 très simple en .cpp


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut programme très simple en .cpp
    Bonjour à tous, j'ai un petit programme à faire et je n'ai pas pu installer le logiciel sur mon pc alors j'aimerais vous montrer ce que j'ai fais pour savoir si ca va marcher en cours lors de l'interro.


    En fait, c'est un programme très simple pour vous je pense, mais bien assez complexe pour moi lol. Le but est lorsque l'on tape le numéro du département (j'ai choisi 71, 89, 21, 58) le programme nous affiche le nom du département.


    Alors voila ce que j'ai fais :
    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
     
    #include<stdio.h>
    void main ()
    {char code [20];
    float 71 21 58 89 region
     
    {code=France;
    while(code!=France);
    printf("Entrer le nom du pays ");
    scanf("%s", &code);
    }
     
    {code=Bourgogne;
    while(code!=Bourgogne);
    printf("Entrer le nom de la région ");
    scanf("%s", &code);
    }
     
     
    {printf("Entrer le numéro du département : %f \n", region);
    if(region=71)
    printf("Ce numéro correspond au département de la Saone et Loire \n");
     
    if(region=21)
    printf("Ce numéro correspond au département de la Cote dOr \n");
     
    if(region=58)
    printf("Ce numéro correspond au département de la Nievre \n");
     
    else printf("Ce numéro correspond au département de lYonne \n");
     
     
    }
    }
    Merci de me dire si mon programme fonctionne ou non, et si possible me dire ce qui ne va pas.


    Merci beaucoup d'avance.
    Benjamin

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Aïe !

    Non, désolé, ce code n'est ni du C++ ni même du C, ce vers quoi tu sembles te diriger plutôt (à déplacer le cas échéant dans le bon forum).




    Ok, donc tu cherches à faire du C.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float 71 21 58 89 region
    Ça ne veut rien dire en C, et ne compilera certainement pas. D'ailleurs, ça ressemble plus à des numéros de département qu'à des numéros de région.

    Ce qui peut suivre un nom de type en C, c'est une fonction ou une variable qui, elle, pourra prendre toutes les valeurs que le type permet de représenter. Si toutefois, tu cherches à déclarer une variable qui ne peut accepter que des valeurs prédéfinies, tu peux voir du côté de enum. Et en plus, il manque un point-virgule final.

    France n'est déclarée nulle part. Si tu cherches à copier le mot « France » à l'intérieur de ton tableau, il faut d'une part utiliser les guillemets autour du mot, pour créer une chaîne, d'autre part utiliser une fonction de copie pour la dupliquer à l'intérieur du tableau que tu as déclaré : strncpy. Et il faudra faire un #include <string.h> pour pouvoir utiliser ces fonctions.

    Ça ne marchera pas non plus pour les mêmes raisons. Il faudra utiliser strcpy(). En plus, ton point-virgule, ici, arrive trop tôt. Tu vas entrer dans une boucle infinie et ton programme va bloquer.

    Ça, c'est presque bon. C'eût été valable dans le cas d'un nombre, par exemple, mais dans le cas d'un tableau, son symbole fait déjà office de pointeur sur la première case. Donc, le « & » est inutile dans ce cas précis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {code=Bourgogne;
    while(code!=Bourgogne);
    printf("Entrer le nom de la région ");
    scanf("%s", &code);
    }
    Les trois mêmes remarques.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Entrer le numéro du département : %f \n", region);
    Correct au niveau de la syntaxe, mais si tu invites l'utilisateur à saisir un code, tu ne fais en revanche aucune saisie derrière (avec scanf() ou autre).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(region=71)
    printf("Ce numéro correspond au département de la Saone et Loire \n");
    Erreur extrêmement répandue : « = » est l'opérateur d'affectation qui, ici, va placer la valeur 71 dans la variable « région ». Ce que tu cherches à faire est une comparaison, et ça se fait avec « == ». Même chose pour les deux suivants.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    else printf("Ce numéro correspond au département de lYonne \n");
    Deux remarques :

    1) Cette approche n'est valable que si tu es sûr que ta variable ne pourra pas prendre une autre valeur que les quatre que tu as traitées, ce qui est faux à moins d'utiliser une énumération.

    2) Ton « else » prendra effet à partir du moment où la dernière condition est fausse. Pas les trois dernières. À la place, il faut les chaîner avec « else if ».



    Désolé, tu ne maîtrises pas encore suffisamment le C pour passer en examen, mais ta manière de rédiger ton programme montre que tu pourras très vite t'en sortir ... à condition d'avoir les cours adéquats.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Merci de ta réponse rapide et détaillée, je sais pas si ca vient de ma prof ou quoi mais ce soir je vous montrerais un exemple que l'on a traité en cours (résolution d'équation du second degré) et tu verras la manière dont elle procède.

  4. #4
    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
    Gao,
    Citation Envoyé par benjamin71 Voir le message
    Merci de ta réponse rapide et détaillée, je sais pas si ca vient de ma prof ou quoi mais ce soir je vous montrerais un exemple que l'on a traité en cours (résolution d'équation du second degré) et tu verras la manière dont elle procède.
    Peut-être, mais je doute qu'elle ait écrit du code comme le tien, qui ne peut même pas compiler.

    Ou alors, change de prof, ou porte plainte...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Voila le début d'un programme fait en cours :


    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
    #include<stdio.h>
    #include<math.h>
    void main ()
     
    {float A, B, C, delta, x1, x2;
     
    printf("Entrer A : ");
    scanf("%f", &A);
     
    printf("Entrer B : ");
    scanf("%f", &B);
     
    printf("Entrer C : ");
    scanf("%f", &C);
     
     
    if(A==0)
    {
    if(B==0)
    {if(C==0)
    printf("Infinite de solution \n");
     
    else printf ("impossible \n");
    }
     
    else { printf("Equiation de degré 1 \n");
    x1=-C/B;
     
    printf("Solution x=%6.1f \n", x1);
    }
    }
     
    else {delta=B*B-4*A*C;
    if(delta<0)
    printf("racines complexes \n");
     
    else if(delta==0)
    {x1=-B/2/A;
    printf("solution double x=%6.2f, \n", x1);
    }
     
    else {x1=(-B+sqrt(delta)/2/A);
    printf("deux solutions , x1=%6.2f, \n", x1);
    x2=(-B-sqrt(delta)/2/A);
     
    printf("x2=%6.2f, \`n",x2);
     
    }
    }
    }
    Voila le programme que l'on a fait pour la résolution d'une équation du second degré;, mais comme tu peux le constater, ca ne ressemble pas tellement au programme que tu as modifié, non ?

  6. #6
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Salut,

    Obsidian t'a expliqué tes erreurs.
    Je ne vois pas le programme d'origine modifié.

Discussions similaires

  1. Requète d'un programme très simple
    Par Giovanni858 dans le forum Général Java
    Réponses: 1
    Dernier message: 26/05/2012, 10h57
  2. Réponses: 4
    Dernier message: 27/04/2009, 19h33
  3. Améliorer un programme très simple
    Par Alp dans le forum Prolog
    Réponses: 6
    Dernier message: 15/03/2008, 11h17
  4. Application Web Client/Serveur très très simple
    Par n_tony dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 07/03/2006, 14h29
  5. Demarage des programmes très long
    Par venegan dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 02/03/2006, 16h50

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