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 :

Premier programme : demander âge et afficher année de naissance


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 3
    Points : 0
    Points
    0
    Par défaut Premier programme : demander âge et afficher année de naissance
    Ecrire un programme qui demande à l'utilisateur de taper son âge puis affiche son année de naissance.

    La sortie est la suivante :

    Entrez votre âge : 32
    Vous êtes né(e) vers l'année : 1987

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 721
    Points : 43 821
    Points
    43 821
    Par défaut
    La solution est ici.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 3
    Points : 0
    Points
    0
    Par défaut A quoi sert alors
    Je suis un dev débutant et j'essai à faire des codes pour me former, j'ai trouvé cet exercice sur net, merci quand même pour la réponse

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    De manière générale, on peut t'aider à tout, mais on ne fera rien à ta place.

    Si tu as un problème avec un programme que tu dois créer, tu nous en montre le code que tu as déjà écrit et tu nous explique le problème auquel tu es confronté, pour que nous puissions te donner les explications utiles et t'orienter vers la solution .

    Si tu as d'avantage un problème de compréhension face à un concept ou face à un principe, dis nous ce que tu (crois) en avoir compris, que nous puissions corriger le tir ou apporter les précisions nécessaires .

    Dans le cas présent, tu nous dit que tu dois écrire un programme. Et bien, fait le! Ce genre de programme fait tout de suite cinq linges, et la logique à mettre en place est des plus simple : comment calcule-t-on l'année de naissance d'une personne depuis son age

    Une fois que tu auras écrit ton code, présente le nous pour que nous puissions en discuter

    Si tu n'arrives pas à écrire ton code, dis nous ce que tu as essayé de faire et qui n'a pas fonctionné, nous pourrons corriger le tir. Si tu ne sais même pas par quoi commencer pour écrire ton code : essaye de trouver un tutoriel qui t'expliquera les bases du langage que tu veux apprendre Nous ne pourrons rien faire de plus pour t'aider tant que tu n'auras pas travaillé un tout petit peu par toi même

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 3
    Points : 0
    Points
    0
    Par défaut Je n'ai jamais demandé de faire à ma place le code
    J'avais pas idée du concept, procédure et charte de ce site, primo, secondo si je savais dès le début que cela me rend exposé à la dérision, je l'aurai pas dû faire.
    J'ai bien notifié que je suis un débutant en c++ , autodidacte, sans cours ni assistance.

    Merci de tt fç

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    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 381
    Points : 41 582
    Points
    41 582
    Par défaut
    La forme était également déplorable: Tu as directement recopié l'énoncé sans rien qui vienne de toi!

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Citation Envoyé par Ali.j Voir le message
    J'avais pas idée du concept, procédure et charte de ce site, primo, secondo si je savais dès le début que cela me rend exposé à la dérision, je l'aurai pas dû faire.
    J'ai bien notifié que je suis un débutant en c++ , autodidacte, sans cours ni assistance.
    Mais ou vois-tu la moindre dérision dans ce que j'ai écrit?

    Tu nous dis que tu as un exercice à résoudre. C'est bien! Car c'est en forgeant que l'on devient forgeron: C'est en résolvant des problèmes (qui seront simple au début, et qui deviendront de plus en plus complexes par la suite) que tu apprendra à programmer.

    Mais si je te donnes les cinq lignes de codes nécessaires à la résolution de cet exercice, tu n'apprendras rien.

    Je peux faire quelques "piqures de rappel" pour t'aider à résoudre ton problème, mais ce sont elles qui te donneront une bonne raison de croire que je suis condescendant, que je te porte en dérision, car, a priori, tout ce que je vais pouvoir dire, tu le sais déjà parfaitement. Maintenant, si tu y tiens...:

    1- Il faut savoir que chaque donnée que tu vas manipuler dans un programme C++ doit être typée : on doit indiquer au compilateur le type de donnée que l'on manipule, pour qu'il puisse en déduire les opérations que la donnée peut supporter.

    Dans le cas présent, le type qui nous intéresse surtout, c'est le type int (l'abréviation de integer en anglais) qui représente une valeur numérique entière. Ce type nous permet de représenter des valeurs allant de -2 milliards (et une chique) à + 2 milliards (et une chique), ce qui sera parfait pour représenter aussi bien les différentes années que l'on va manipuler que l'age de la personne.

    2- Pour pouvoir accéder à une donnée, il faut que nous leur donnions un nom. Le premier caractère de ce nom doit être une lettre ou un underscore _ et les autres caractères doivent être des lettres, des chiffres ou des underscore.

    C++ est "sensible à la casse", dans le sens où il fait la différence entre les majuscules et les minuscules. Ainsi, la donnée (numérique entière) qui représenterait l'année de naissance de l'utilisateur pourrait s'appeler
    anneeDeNaissance ou naissance, mais il serait considéré comme différent de ANNEEDENAISSANCE ou de NAISSANCE.

    De même, nous serions sans doute bien inspirés de représenter l'année courante au travers d'une donnée (qui sera elle aussi de type int), et de la nommer par exemple anneeCourante ou, si tu y tiens, tout simplement annee et de lui donner comme valeur l'année en cours (à savoir 2019).

    Par la suite, comme nous voudrons calculer l'age de la personne à partir de ces deux années, nous serons sans doute bien inspirés de créer une troisième donnée (qui sera aussi de type int) nommée age et dont on calculera la valeur sur base de la formule "archi connue" l'age = l'année en cours - l'année de naissance. Mais ca, je présumes que tu connaissais cette formule, non

    3- Tout code C++ doit prendre la forme d'une fonction. Lorsqu'on lance le programme, il y a une fonction bien particulière qui est appelée de manière systématique. Cette fonction sert littéralement de "point d'entrée" du programme. Le nom de cette fonction est main et elle prend généralement la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int main(){
        // ce qui doit être fait
        return 0; // indique au système d'exploitation que tout s'est bien passé
    }
    le mot clé int que l'on trouve en premier indique que cette valeur doit renvoyer une valeur numérique entière au système d'exploitation pour qu'il s'ache si tout s'est bien passé. Vient ensuite le nom de la fonction, car, pour pouvoir appeler une fonction, il faut bien savoir comment elle s'appelle, et une paire de parenthèses.

    Quand on souhaite transmettre des valeurs à une fonction qu'elle est totalement incapable de deviner par elle-même (on parle d'arguments ou de paramètres, selon le sens dans lequel on regarde les choses), on indique leur type et le nom qui permet d'y accéder entre les parenthèses, en les séparant (s'il y en a plusieurs) par des virgules.

    Enfin, la paire d'accolade { et } représente le "corps de la fonction" : l'ensemble des instructions qui doivent être exécutées dans l'ordre bien particulier qui est indiqué, pour que la fonction soit en mesure de fournir le résultat attendu. Je reviendrai un peu plus tard sur ce point particulier.

    4- C++ est un langage dit "modulaire", dans le sens où l'on peut très facilement utiliser des fonctionnalités "développées par d'autres" dans nos propres programmes. Par exemple, il existe toute une bibliothèque de fonctionnalités appelée "bibliothèque standard" (S(T)L de son petit nom, acronyme de Standard (Templated) Library), qui fourni un grand nombre de fonctionnalités d'usage particulièrement courant.

    Parmi les fonctionnalités qu'elle offre, on trouve la notion de flux de données : les moyens de faire entrer des données issues de l'utilisateur et de faire sortir des données à destination de l'utilisateur.

    Le flux d'entrée (celui qui permet de récupérer les données introduites par l'utilisateur) s'appelle std::cin et le flux de sortie (celui qui permet d'afficher des données à l'écran) s'appelle std::cout. Pour pouvoir utiliser ces deux flux, nous allons devoir inclure un fichier dans notre code qui indique au compilateurs qu'ils existent. C'est le fichier iostream (abréviation Input Output STREAMs).

    L'inclusion se fait en ajoutant dans les premières lignes de code (avant même le début de la fonction main) une ligne ressemblant à 5- Le code va s'exécuter dans l'ordre exact dans lequel il est écrit : le compilateur va travailler exactement de la même manière que celle que tu utilise pour lire un bon livre : tu lis le livre de la première page à la dernière, en ignorant, alors que tu lis la page 10 ce qui se passe à la page 12 Dis toi qu'il en va strictement de même du compilateur : quand il traite la ligne 10 de ton code, il sait tout ce qui s'est passé pendant les 9 premières lignes, mais il n'a absolument aucune idée de ce qui se passe à la ligne 12.

    Si, à un moment ou à un autre, il rencontre un identifiant qu'il ne connait pas, il ne va pas être content, et s'arrêter de fonctionner sur une erreur.

    Ton code devra donc:
    1. déclarer la variable anneeCourante et lui donner la valeur de l'année en cours (2019, au moment d'écrire ces lignes)
    2. déclarer la variable anneeDeNaissance pour que le compilateur sache qu'elle existe
    3. afficher un message (au travers de std::cout) indiquant à l'utilisateur que l'on s'attend à ce qu'il introduise son année de naissance
    4. attendre (au travers de std::cin) que l'utilisateur ait introduit son année de naissance (valeur qui devra être fournie à la variable anneeDeNaissance (il devra appuyer sur <enter> pour valider son introduction)
    5. déclarer la variable age et lui donner la valeur correspondant à la soustraction année courante - année de naissance
    6. afficher un message indiquant que l'age de la personne est (la valeur de la donnée age
    7. renvoyer 0 pour indiquer au compilateur que tout s'est bien passé


    Je ne peux décemment pas faire plus sans en arriver à te donner le code tout fait de ton programme. Maintenant, si tu veux plus d'explication ou de l'aide supplémentaire, il va falloir montrer que tu le mérite, en faisant un petit effort toi aussi. Car ce n'est qu'au travers de tes propres efforts que tu sera en mesure d'évoluer

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

Discussions similaires

  1. aide sur script ou programme SVP
    Par peterthepower dans le forum Programmation système
    Réponses: 0
    Dernier message: 15/10/2012, 18h56
  2. aide tableau svp
    Par mator dans le forum C
    Réponses: 3
    Dernier message: 11/06/2006, 15h54
  3. aide programme debutant
    Par mator dans le forum C
    Réponses: 5
    Dernier message: 20/04/2006, 19h30
  4. PERL AIDE PROGRAMMATION
    Par kiza dans le forum Langage
    Réponses: 2
    Dernier message: 17/10/2005, 16h57

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