Problème de compréhension en C++
Résolu/Fermé
SKunt
Messages postés
150
Date d'inscription
samedi 12 juillet 2008
Statut
Membre
Dernière intervention
16 octobre 2009
-
27 juil. 2009 à 17:19
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 1 août 2009 à 01:05
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 1 août 2009 à 01:05
A voir également:
- Problème de compréhension en C++
- Lecture compréhension ce2 cm1 - Télécharger - Éducatifs
- Compréhension d'un modèle d'association ternaire - Forum Bases de données
5 réponses
mamiemando
Messages postés
33081
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 avril 2024
7 749
27 juil. 2009 à 20:22
27 juil. 2009 à 20:22
Mais je ne comprends pas la ligne marquée "(1)": on est sensé faire l'opération si secondes>60 pour en extraire les minutes equivalentes mais elle est où la condition pour réaliser cela?
En fait c'est l'opérateur modulo (%) qui s'en charge.
Supposons qu'on ajoute une instance A avec minutes = 2 et secondes = 158 et une instance B avec minutes = 3 et secondes = 16, alors :
Bonne chance
En fait c'est l'opérateur modulo (%) qui s'en charge.
Supposons qu'on ajoute une instance A avec minutes = 2 et secondes = 158 et une instance B avec minutes = 3 et secondes = 16, alors :
secondes += duree.m_secondes; // minutes = 2, secondes = 158 + 16 = 174 minutes += secondes / 60; // minutes = 2 + (174/2) = 2 + 2 = 4, secondes = 174 secondes %= 60; // minutes = 4, secondes = 174 % 60 = (60 * 2 +54) % 60 = 54
Bonne chance
SKunt
Messages postés
150
Date d'inscription
samedi 12 juillet 2008
Statut
Membre
Dernière intervention
16 octobre 2009
9
28 juil. 2009 à 16:01
28 juil. 2009 à 16:01
Aaaaahhhh d'accord je ne le voyais pas comme ça !!! Effectivement ça rentre mieux vu sous cet angle !!!!!
Mille merci pour cet éclaircissement !! Et au passage, connais-tu un site qui proposerait des exercices en C++ par hasard ?
Mille merci pour cet éclaircissement !! Et au passage, connais-tu un site qui proposerait des exercices en C++ par hasard ?
mamiemando
Messages postés
33081
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 avril 2024
7 749
29 juil. 2009 à 00:13
29 juil. 2009 à 00:13
Le plus simple c'est de chercher directement sur google, tu seras le plus à même de déterminer les exercices qui te conviennent.
Je pense que pour bien rentrer dans le C, la base c'est de connaître les pointeurs et quelques notions de compilation (qu'est ce qu'un précompilateur, un linker etc...), le reste est proche des langages usuels. Un exercice classique c'est coder les listes chaînées.
Pour le C++ les notions supplémentaires intéressantes sont les classes, les héritages, et les templates. Les templates font tout l'intérêt du C++ et sont poussés à l'extrême, tu peux jeter un œil dans la FAQ quand tu auras de bonnes bases en C/C++. J'ai commencé à écrire quelques articles dans la FAQ qui abordent certaines de ces notions. Je ne prétends pas expliquer mieux que le site du zéro mais je pense que tu y trouveras des informations intéressantes :
https://forums.commentcamarche.net/forum/affich-37604426-la-compilation-et-les-modules-en-c-et-en-c
https://forums.commentcamarche.net/forum/affich-37604414-les-inlines-en-c
https://forums.commentcamarche.net/forum/affich-37604421-introduction-a-la-stl-en-c-standard-template-library
https://forums.commentcamarche.net/forum/affich-37604412-les-templates-en-c
A partir de là, tu auras un niveau suffisant pour commencer par écrire des petits programmes, d'abord en mode texte et rapidement en mode graphique (surtout si tu apprends QT avec le site du zéro). Il faut commencer par des choses simples (par exemple un morpion, un mastermind) et après attaquer des trucs de plus en plus compliqués (par exemple un sudoku avec un solveur, un jeu de carte avec une petite IA).
En tout cas, fais des trucs qui t'amusent, car développer peut devenir rapidement rébarbatif, c'est donc dommage de se dégoûter pendant l'apprentissage ! Là j'ai cité des jeux, mais ça peut être n'importe quoi d'autre !
Je pense qu'un point important c'est d'avoir des notations et un code propre dès le début. Par exemple dans mes codes, les types se terminent par _t et les types templates sont les seuls qui commencent par une majuscule.
Comme rapidement les programmes deviennent complexe et sans un minimum de discipline ça devient rapidement ingérable. Prends l'habitude de documenter tes fonctions (avec un syntaxe doxygen par exemple), tu verras quand tu retombes sur des vieux morceaux de code, ça permet de gagner pas mal de temps !
Tu as toutes les armes en main, maintenant à toi de jouer ;-)
Bon courage !
Je pense que pour bien rentrer dans le C, la base c'est de connaître les pointeurs et quelques notions de compilation (qu'est ce qu'un précompilateur, un linker etc...), le reste est proche des langages usuels. Un exercice classique c'est coder les listes chaînées.
Pour le C++ les notions supplémentaires intéressantes sont les classes, les héritages, et les templates. Les templates font tout l'intérêt du C++ et sont poussés à l'extrême, tu peux jeter un œil dans la FAQ quand tu auras de bonnes bases en C/C++. J'ai commencé à écrire quelques articles dans la FAQ qui abordent certaines de ces notions. Je ne prétends pas expliquer mieux que le site du zéro mais je pense que tu y trouveras des informations intéressantes :
https://forums.commentcamarche.net/forum/affich-37604426-la-compilation-et-les-modules-en-c-et-en-c
https://forums.commentcamarche.net/forum/affich-37604414-les-inlines-en-c
https://forums.commentcamarche.net/forum/affich-37604421-introduction-a-la-stl-en-c-standard-template-library
https://forums.commentcamarche.net/forum/affich-37604412-les-templates-en-c
A partir de là, tu auras un niveau suffisant pour commencer par écrire des petits programmes, d'abord en mode texte et rapidement en mode graphique (surtout si tu apprends QT avec le site du zéro). Il faut commencer par des choses simples (par exemple un morpion, un mastermind) et après attaquer des trucs de plus en plus compliqués (par exemple un sudoku avec un solveur, un jeu de carte avec une petite IA).
En tout cas, fais des trucs qui t'amusent, car développer peut devenir rapidement rébarbatif, c'est donc dommage de se dégoûter pendant l'apprentissage ! Là j'ai cité des jeux, mais ça peut être n'importe quoi d'autre !
Je pense qu'un point important c'est d'avoir des notations et un code propre dès le début. Par exemple dans mes codes, les types se terminent par _t et les types templates sont les seuls qui commencent par une majuscule.
Comme rapidement les programmes deviennent complexe et sans un minimum de discipline ça devient rapidement ingérable. Prends l'habitude de documenter tes fonctions (avec un syntaxe doxygen par exemple), tu verras quand tu retombes sur des vieux morceaux de code, ça permet de gagner pas mal de temps !
Tu as toutes les armes en main, maintenant à toi de jouer ;-)
Bon courage !
SKunt
Messages postés
150
Date d'inscription
samedi 12 juillet 2008
Statut
Membre
Dernière intervention
16 octobre 2009
9
31 juil. 2009 à 15:21
31 juil. 2009 à 15:21
merci bien pour tes astuces et conseils !!!!!! Je vais tester tout cela !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
31 juil. 2009 à 15:29
31 juil. 2009 à 15:29
Salut,
minutes += secondes / 60; // minutes = 2 + (174/2) = 2 + 2 = 4, secondes = 174
ce n'est pas plutôt
minutes += secondes / 60; // minutes = 2 + (174/2) = 2 + 2 = 4, secondes = 174
ce n'est pas plutôt
minutes += secondes / 60; // minutes = 2 + (174/60) = 2 + 2 = 4, secondes = 54et ensuite soit
Total secondes %= 60; // minutes = 4, secondes = 174 % 60 = (60 * 2 +54) % 60 = 54ou tout simplement
secondes %= 60; // minutes = 4, secondes = 54 % 60 = (0 * 60 + 54) = 54ou même pas vu que 54 < 60 ?!!
mamiemando
Messages postés
33081
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 avril 2024
7 749
1 août 2009 à 01:05
1 août 2009 à 01:05
Exact, quelle vigilance :-) Mais je pense que le problème c'était surtout la compréhension de l'opérateur %.