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 :

[debutant] scanf de char dans une fonction


Sujet :

C++

  1. #1
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut [debutant] scanf de char dans une fonction
    Bonjour.

    j'aprend le C (via VC++) et j'ai remarqué que le code suivant marchais dans le main:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char ami;
    printf("tu a des amis ? (y/n)\n");
    scanf("%c",&ami);
    mais pas dans une fonction autre ... du coup je me demande quelle peut bien être la cause de ceci, d'autemps plus qu'il ne le fait pas pour les log, double ou char[]...

    auriez vous un élément de réponse ?

    merci.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    j'aprend le C
    Soit tu t'es trompé de forum.
    Soit tu ne fais encore pas la différence entre C et C++, et tu attends que l'on te remette dans le droit chemin.

    En tout cas en C++ ça donne plutôt ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <iostream>
     
    char ami;
    std::cout << "Tu as des amis ? (y/n)" << std::endl;
    std::cin >> ami;

  3. #3
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    disons qu'il me semble que le c est la base du C++, et d'autre part, êtant donné que je suis sous visual C++, un certains nombre d'erreur proviennent du fait que le compilateur est de cette nature. Je m'excuse, il me parait logique que le choix ne soit pas évident.

    Merci de déplacer mon sujet.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    disons qu'il me semble que le c est la base du C++
    La base oui, mais maintenant ils sont suffisamment éloignés pour qu'on les considère comme deux langages différents.

    Merci de déplacer mon sujet.
    Je veux bien, mais je vois que tous tes autres posts sont sur le forum C++. Alors... ? C ou C++ en définitive ?

  5. #5
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    je dirais C mais provisoirement: je compte bien finir par me mettre au C++ tout de même...

    d'autre part, je ne suis pas sur pour les autre, mais le post le plus recent apres celui-ci releve bien du C++ (ou plutot de la non acceptation des commandes C par Visual C++) tandis que certains autre sont eux axés sur le débogage VC++.
    cepandant, tous ont peu d'interet, et à la limite, vous pouvez carrément supprimer une partie de ceux qui sont résolus (ou en est le forum ? il me semblais que son seuil de messages n'étais pas loin, mais apres...)

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    C'est une question souvent débattue, mais qui débouche tout de même sur une réponse plutôt qu'une autre : apprendre le C pour passer au C++ est une mauvaise idée. Apprends directement le C++, si c'est ton objectif.

    Là par exemple tu apprends malloc et scanf : deux choses qu'on évite comme la peste en C++ et qui peuvent provoquer de nombreuses erreurs.

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Et Visual C++ peut tout-à-fait compiler du C en tant que C, si le fichier source se termine par .c, tout simplement.

    Ou bien, tu sautes le C pour passer direct au C++, ce sera même plus facile et t'évitera des pratiques inévitables en C qui sont horribles en C++.

    PS: En C, on évite également scanf() comme la peste, à moins:
    • de parfaitement maitriser cette fonction (voir tutoriel scanf() sur le site)
    • ou d'avoir un prof assez débile pour conseiller scanf() aux débutants (et il y en a beaucoup).

  8. #8
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    merci, c'est vrai que quand je vois vos code, je me demande si il y as vraiment un point commun...
    si c'est vraiment plus simple, d'y passer directement, il me parait forcément plus utile d'y aller directement, mais avant, j'ai merais savoir à partir de quel point , (ou en quels points) ces langages diffèrent ?

    merci.

Discussions similaires

  1. [Debutant] Erreurs de syntaxe dans une fonction
    Par balix dans le forum Général Python
    Réponses: 4
    Dernier message: 11/05/2014, 19h18
  2. Réponses: 11
    Dernier message: 23/11/2011, 16h46
  3. Réponses: 1
    Dernier message: 22/12/2009, 11h40
  4. Modif d'une variable char* dans une fonction
    Par kase74 dans le forum Débuter
    Réponses: 4
    Dernier message: 22/01/2009, 08h31
  5. Modifier une char* dans une fonction
    Par kase74 dans le forum Débuter
    Réponses: 6
    Dernier message: 20/01/2009, 21h06

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