Aide moi à créé un fichier exécutable en c

Fermé
DESIRES_6452 Messages postés 4 Date d'inscription jeudi 28 février 2019 Statut Membre Dernière intervention 3 mars 2019 - Modifié le 3 mars 2019 à 13:27
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 4 mars 2019 à 11:46
Bonjour.
j'ai besoin de savoir s'il y'a moyen de créé un fichier exécutable en C
par exemple ce programme
#include<stdio.h>
int main()
{
int pu; /*pu: prix unitaire */
int pa; /*pa: prix d'achat */
int qt; /*qt: quantité acheté */
char nom[15]; /*nom: nom de l'article vendue*/
printf("entrer le nom de l'article");
scanf("%s",&nom); /*on saisi le nom de l'article vendu*/
printf("entrer le prix d'achat unitaire");
scanf("%d",&pu); 
printf("entrer la Quantité acheter" ); 
scanf("%d",&qt); 
if(qt>=20)
    {
        pa=((pu*qt)-(pu*qt*0,2)); /*réduction accoré à un client qui achète plus de 20 articles on lui rembourse 20% du prix d'achat */
        printf("vous avez acheté le %s\n le prix unitaire est %d\n la Quantité est de %d\n le prix d'achat total est %d",nom,pu,qt,pa); 
    }
else
 {
pa=(pu*qt); /*prix d'achat égal à prix d'achat unitaire multiplier par quantité acheté */
        printf("vous avez acheté le %s\n le prix unitaire est %d\n la Quantité est de %d\n le prix d'achat total est %d",nom,pu,qt,pa); 
}
}

aide moi svp à créé un fichier exécutable de cet programme
A voir également:

1 réponse

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié le 4 mars 2019 à 11:57
Bonjour DESIRES_6452,

Pour produire un exécutable, tu dois disposer d'un environnement de programmation comprenant une chaîne de compilation et d'un fichier source ne comportant pas d'erreurs de syntaxe et, si possible, correct.

Si tu es sous Windows, un environnement gratuit et assez facile à utiliser est Codeblocks avec la chaîne de compilation MinGW, qui inclue notamment le compilateur gcc porté pour Windows.

http://www.codeblocks.org/downloads/26

Utilise le 4ème lien de téléchargement pour "codeblocks-17.12mingw-setup.exe" qui permet d'automatiser l'installation de Codeblocks intégré avec un compilateur C et C++ ... n'utilise pas les autres liens (si tu as déjà installé Codeblocks et que tu as utilisé une version sans compilateur, désinstalle la version, et installe cette version avec MinGW).

Ensuite, ce n'est pas parce que le compilateur produira un exécutable que le programme sera correct.

En compilant avec les warnings (ce que fait Codeblocks par défaut avec MinGW), le code ci-avant produit un exécutable, mais signale les problèmes suivants que tu as intérêt ) corriger :

$ gcc -Wall 35901064.c
35901064.c: In function ‘main’:
35901064.c:9:10: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[15]’ [-Wformat=]
scanf("%s",&nom); /*on saisi le nom de l'article vendu*/
^
35901064.c:16:23: warning: left-hand operand of comma expression has no effect [-Wunused-value]
pa=((pu*qt)-(pu*qt*0,2)); /*réduction accoré à un client qui achète plus de 20 articles on lui rembourse 20% du prix d'achat */
^

Cela est dû au fait que :

- nom est un tableau
char nom[15];
et que par conséquent, il suffit de passer
scanf("%s",nom);
sans l'esperluette (&) pour passer un pointeur vers le premier élément de ce tableau à scanf

-
0,2
n'indique pas correctement en C un nombre avec des décimales, car il faut utiliser la notation anglosaxone
0.2
...

Le problème suivant ne t'est pas signalé comme avertissement, ni erreur, mais comme tes variables sont des entiers (type
int
), ton résultat sera un entier. Est-ce bien cela que tu veux ?

Enfin, bien que cela ne provoque pas d'erreurs à l'exécution, il faudrait terminer le programme avec
return 0;
pour que le code soit conforme à la norme du C et corriger le prototype de main en
int main(void)
pour la même raison ...

Dal
0