[C] programme se compile mais ne marche pas
oeza
-
oeza -
oeza -
Bonjour,
je voudrais faire un programme qui permettra de trouver la taille d'agrandissement d'une image.
Mon code se compile sans problème mais quand je lance la programme, un message d'erreur s'ouvre.
Voila mon code:
je voudrais faire un programme qui permettra de trouver la taille d'agrandissement d'une image.
Mon code se compile sans problème mais quand je lance la programme, un message d'erreur s'ouvre.
Voila mon code:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char hauteurlargeur [50]={0}; char reduireagrandir [50]={0}; float tailleimage; float facteurproportionnalite; float resultat; printf("Voulez-vous reduire ou agrandir l'image ?\nEcrivez reduire ou agrandir\n"); scanf("%s", reduireagrandir); printf("\n"); printf("Voulez-vous entrer la largeur ou la hauteur de l'image ?\nEcrivez hauteur ou largeur\n"); scanf("%s", hauteurlargeur); printf("\n"); printf("Quelle est la %s de l'image a %s ?\n", hauteurlargeur, reduireagrandir); scanf("%f", &tailleimage); printf("\n"); printf("%s par combien ?\n", reduireagrandir); scanf("%f", &facteurproportionnalite); printf("\n"); // c'est a partir de la qu'il y a un problème if (strcmp( reduireagrandir, 'reduire\n') == 0) { resultat = tailleimage/facteurproportionnalite ; printf("%f", resultat); } else if (strcmp( reduireagrandir, 'agrandir\n')== 0) { resultat = tailleimage*facteurproportionnalite; printf("%f", resultat); }
A voir également:
- [C] programme se compile mais ne marche pas
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Comment fermer un programme qui ne répond pas - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
3 réponses
Bonjour,
C'est surprenant que ton programme compile sans problème.
Dans strcmp, tu as mis 'reduire\n', ce sont des guillemets qu'il faut.
Et n'oublie pas de mettre un return 0; à la fin.
C'est surprenant que ton programme compile sans problème.
Dans strcmp, tu as mis 'reduire\n', ce sont des guillemets qu'il faut.
Et n'oublie pas de mettre un return 0; à la fin.
Les chaînes de caractères se mettent entre guillemets pas entre apostrophes !
De plus je ne suis pas convaincu qu'il faille mettre le \n dans un test comme cela...
Enfin, il faudrait prévoir le cas où on ne rentre dans aucun des deux attendus :
De plus je ne suis pas convaincu qu'il faille mettre le \n dans un test comme cela...
Enfin, il faudrait prévoir le cas où on ne rentre dans aucun des deux attendus :
if (strcmp(reduireagrandir, "reduire") == 0) resultat = tailleimage/facteurproportionnalite; else if (strcmp(reduireagrandir,"agrandir")== 0) resultat = tailleimage*facteurproportionnalite; else reultat = -1; printf("%f\n", resultat);
Ça marche très bien maintenant.
P.S: ça ne marche pas avec "reduire\n" mais avec "reduire"