Rentrée de variable de mauvais type en C
Résolu/Fermé
Hello_2021
Messages postés
351
Date d'inscription
mercredi 3 novembre 2021
Statut
Membre
Dernière intervention
9 avril 2023
-
14 janv. 2022 à 21:07
Hello_2021 Messages postés 351 Date d'inscription mercredi 3 novembre 2021 Statut Membre Dernière intervention 9 avril 2023 - 15 janv. 2022 à 12:12
Hello_2021 Messages postés 351 Date d'inscription mercredi 3 novembre 2021 Statut Membre Dernière intervention 9 avril 2023 - 15 janv. 2022 à 12:12
A voir également:
- Rentrée de variable de mauvais type en C
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Vba range avec variable ✓ - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
4 réponses
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
1 343
14 janv. 2022 à 21:37
14 janv. 2022 à 21:37
bonjour,
quelle valeur obtiens-tu pour nbValeurs quand tu tapes n'importe quoi?
quelle valeur obtiens-tu pour nbValeurs quand tu tapes n'importe quoi?
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
1 343
Modifié le 14 janv. 2022 à 23:13
Modifié le 14 janv. 2022 à 23:13
Vu les questions que tu poses, je suggère que tu commences par des exercices plus simples.
Peut-être, demander un nombre, et afficher le nombre reçu.
Peut-être, demander un nombre, et afficher le nombre reçu.
Hello_2021
Messages postés
351
Date d'inscription
mercredi 3 novembre 2021
Statut
Membre
Dernière intervention
9 avril 2023
1
Modifié le 14 janv. 2022 à 23:27
Modifié le 14 janv. 2022 à 23:27
On peut connaître le contenu d'une variable en l'affichant avec cout, non ?
J'ai posé cette question pour être sûr qu'il n'y avait pas d'autre méthode, parce que si le programme n'arrête pas de tourner super rapidement et indéfiniment quand on rentre "e" pour nbValeurs, je ne pourrai pas avoir accès à cette instruction cout qui vient après.
Sinon justement c'est ce que je ne comprends pas trop, je n'ai pas tellement modifié le programme entre temps, mis à part que j'avais rajouté une instruction :
C'est vrai que j'ai peut-être pas tout bien compris…
J'ai posé cette question pour être sûr qu'il n'y avait pas d'autre méthode, parce que si le programme n'arrête pas de tourner super rapidement et indéfiniment quand on rentre "e" pour nbValeurs, je ne pourrai pas avoir accès à cette instruction cout qui vient après.
Sinon justement c'est ce que je ne comprends pas trop, je n'ai pas tellement modifié le programme entre temps, mis à part que j'avais rajouté une instruction :
cout << nbValeurs << endl;à la ligne 35 pour pouvoir savoir ce que contenait la variable comme tu l'avais demandé, mais entre-temps j'ai supprimé cette instruction et ça a refait la même chose. C'est bizarre…
C'est vrai que j'ai peut-être pas tout bien compris…
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
1 343
14 janv. 2022 à 23:28
14 janv. 2022 à 23:28
Un programme peut être assez sensible, une petite modification peut avoir de grands effets.
Vu les questions que tu poses, je suggère que tu commences par des exercices plus simples.
Peut-être, demander un nombre, et afficher le nombre reçu.
Vu les questions que tu poses, je suggère que tu commences par des exercices plus simples.
Peut-être, demander un nombre, et afficher le nombre reçu.
Hello_2021
Messages postés
351
Date d'inscription
mercredi 3 novembre 2021
Statut
Membre
Dernière intervention
9 avril 2023
1
Modifié le 14 janv. 2022 à 23:37
Modifié le 14 janv. 2022 à 23:37
Ça je pense pouvoir le faire ainsi :
#include <iostream> using namespace std; int main() { double nbChoisi(0); cout << "Choisissez un nombre : "; cin >> nbChoisi; cout << "Vous avez choisi le nombre " << nbChoisi << " !" << endl; return 0; }
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
1 343
14 janv. 2022 à 23:51
14 janv. 2022 à 23:51
Et que se passe-t-il si tu rentres un symbole ou un caractère alphabétique?
Comment pourrais-tu traiter cela?
Comment pourrais-tu traiter cela?
Hello_2021
Messages postés
351
Date d'inscription
mercredi 3 novembre 2021
Statut
Membre
Dernière intervention
9 avril 2023
1
>
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
Modifié le 15 janv. 2022 à 07:58
Modifié le 15 janv. 2022 à 07:58
Quand je choisis de rentrer par exemple 'e', le programme affiche "Vous avez choisi le nombre 0 !".
Je sais pas du tout comment je pourrai faire en sorte que le programme détecte qu'il ne s'agisse pas d'un nombre, puisqu'on ne peut faire de boucle while uniquement pour l'égalité ou la grandeur de la variable int/double…
Ah si j'ai peut-être une idée…
Je viens de faire un test et lorsque l'on rentre un caractère alphabétique ou un symbole, la variable se met automatiquement à 0, peu importe son ancienne valeur.
Ce qui nous permettrait peut-être de faire une boucle "while" qui demande à rentrer une nouvelle valeur correcte si nbChoisi = 0, pour empêcher de rentrer des caractères non pris en charge par la variable…
Je sais pas du tout comment je pourrai faire en sorte que le programme détecte qu'il ne s'agisse pas d'un nombre, puisqu'on ne peut faire de boucle while uniquement pour l'égalité ou la grandeur de la variable int/double…
Ah si j'ai peut-être une idée…
Je viens de faire un test et lorsque l'on rentre un caractère alphabétique ou un symbole, la variable se met automatiquement à 0, peu importe son ancienne valeur.
Ce qui nous permettrait peut-être de faire une boucle "while" qui demande à rentrer une nouvelle valeur correcte si nbChoisi = 0, pour empêcher de rentrer des caractères non pris en charge par la variable…
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
1 343
>
Hello_2021
Messages postés
351
Date d'inscription
mercredi 3 novembre 2021
Statut
Membre
Dernière intervention
9 avril 2023
15 janv. 2022 à 10:58
15 janv. 2022 à 10:58
Peux-tu alors marquer la discussion comme résolue?
Hello_2021
Messages postés
351
Date d'inscription
mercredi 3 novembre 2021
Statut
Membre
Dernière intervention
9 avril 2023
1
>
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
15 janv. 2022 à 11:09
15 janv. 2022 à 11:09
J'avais juste une dernière question : comment peut-on modifier l'arrondi d'une variable, par exemple la variable moyenne dans le cas du premier programme, dont l'arrondi est à 1 chiffre après la virgule ?
yg_be
Messages postés
21493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 juin 2023
1 343
>
Hello_2021
Messages postés
351
Date d'inscription
mercredi 3 novembre 2021
Statut
Membre
Dernière intervention
9 avril 2023
15 janv. 2022 à 11:43
15 janv. 2022 à 11:43
Tu peux contrôler la précision de l'affichage fait par cout.
Si tu fais une recherche "precision cout", je pense que tu trouveras des exemples et des explications.
Si tu fais une recherche "precision cout", je pense que tu trouveras des exemples et des explications.
Modifié le 14 janv. 2022 à 21:50
Juste une question : comment puis-je connaître le contenu d'une variable (comme tu l'as demandé) ? Il faut passer par cout puis afficher la variable c'est ça ?
14 janv. 2022 à 22:48
Qu'y fais-tu en ligne 22?
Modifié le 14 janv. 2022 à 23:01
En ligne 22, j'informe l'utilisateur qu'il a demandé à rentré <nbValeurs> caractères et qu'il va le faire maintenant avec l'instruction/la boucle for ;
Qui va demander à rentrer autant de valeurs que l'utilisateur a demandé.
14 janv. 2022 à 23:11
14 janv. 2022 à 23:10