Programme de calculatrice
Fermé
noussayba
-
17 mars 2021 à 11:06
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 17 mars 2021 à 14:15
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 17 mars 2021 à 14:15
A voir également:
- Programme de calculatrice
- Programme demarrage windows 10 - Guide
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
- Calculatrice gratuit - Télécharger - Calcul & Conversion
- Désinstaller programme windows 10 - Guide
- Programme démarrage windows 10 - Guide
2 réponses
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
Ambassadeur
1 554
17 mars 2021 à 13:20
17 mars 2021 à 13:20
bonjour,
peux-tu donner un exemple?
à ta place, je ferais aussi des printf de a et de b.
peux-tu donner un exemple?
à ta place, je ferais aussi des printf de a et de b.
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
17 mars 2021 à 14:15
17 mars 2021 à 14:15
Bonjour,
tu utilises
Donc ou bien tu utilises une chaîne d'au moins 2 caractères et le format %s ou bien tu utilises le format %c. Ça devient alors :
Pour une raison similaire
La solution est de forcer un calcul qui retourne un flottant en transformant au moins un des 2 opérantes en flottant:
tu utilises
scanf("%s", &op);, mais le format %s s'attend à avoir comme paramètre un buffer suffisamment grand pour recevoir la chaine saisie donc pour un chaine de 1 caractère, il en faut au moins 2 (le caractère et le terminateur!)
Donc ou bien tu utilises une chaîne d'au moins 2 caractères et le format %s ou bien tu utilises le format %c. Ça devient alors :
scanf(" %c", &op);et attention if faut une espace avant le %c pour sauter le retour chariot qui est resté lors de l'utilisation précédente de
scanf().
Pour une raison similaire
printf("a/b = %.2f", a/b);ne fonctionnera pas. Car
a/best une division entre 2 entiers, c'est donc une division entière qui retourne un
int. Et tu indiques le format %.2f qui s'attend à un flottant.
La solution est de forcer un calcul qui retourne un flottant en transformant au moins un des 2 opérantes en flottant:
printf( "a/b = %.2f", (double)a / b );