Problème d'affichage avec fonction switch
Résolu/Fermé
Onyx67
Messages postés
132
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
18 août 2016
-
Modifié par Onyx67 le 27/06/2014 à 12:02
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 27 juin 2014 à 15:03
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 27 juin 2014 à 15:03
A voir également:
- Problème d'affichage avec fonction switch
- Fonction si et - Guide
- Affichage double ecran - Guide
- Logiciel switch - Télécharger - Conversion & Extraction
- Fonction moyenne excel - Guide
- Windows 11 affichage classique - Guide
2 réponses
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
27 juin 2014 à 13:34
27 juin 2014 à 13:34
Salut Onyx67,
Sur le scanf de ta fonction menu(), tu as ajouté un espace après le spécificateur %d :
Dal
Sur le scanf de ta fonction menu(), tu as ajouté un espace après le spécificateur %d :
scanf("%d ", &choix);, retire cet espace, et essaye.
Dal
Onyx67
Messages postés
132
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
18 août 2016
1
27 juin 2014 à 14:27
27 juin 2014 à 14:27
Merci beaucoup!! ça marche effectivement!
Je ne pensais pas que les espaces avaient de l'importance en C pourtant!
Je ne pensais pas que les espaces avaient de l'importance en C pourtant!
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 27/06/2014 à 15:04
Modifié par [Dal] le 27/06/2014 à 15:04
Voilà ma compréhension :
un espace dans le spécificateur de scanf signifie : lire et ignorer un ou plusieurs espaces blancs consécutifs jusqu'au prochain espace non "blanc". Or, pour scanf, les espaces blancs sont : le caractère espace, tabulation et '\n' (retour à la ligne).
http://www.cplusplus.com/reference/cstdio/scanf/
Donc, en mettant un espace à la fin de ton spécificateur, tu dis à scanf de lire et d'ignorer les espaces blancs à la suite du décimal capturé jusqu'au prochain caractère non-blanc, ce qui a pour effet de lire et d'ignorer le retour à la ligne et de réclamer au moins un autre caractère non blanc à saisir.
Dal
un espace dans le spécificateur de scanf signifie : lire et ignorer un ou plusieurs espaces blancs consécutifs jusqu'au prochain espace non "blanc". Or, pour scanf, les espaces blancs sont : le caractère espace, tabulation et '\n' (retour à la ligne).
http://www.cplusplus.com/reference/cstdio/scanf/
Donc, en mettant un espace à la fin de ton spécificateur, tu dis à scanf de lire et d'ignorer les espaces blancs à la suite du décimal capturé jusqu'au prochain caractère non-blanc, ce qui a pour effet de lire et d'ignorer le retour à la ligne et de réclamer au moins un autre caractère non blanc à saisir.
Dal