Devcpp pour les nuls [Débutant]

Devcpp pour les nuls [Débutant] - C - Programmation

Marsh Posté le 06-04-2007 à 20:28:44    

Bonjour à tous, je commence la programmation en C de par ma formation et on débute les ptits programmes et bon ce compilateur (Devcpp) me pose soucis avec la fenêtre d'éxécution qui se ferme dès que je lance "executer"...C'est surement une connerie, si vous pouviez m'éclairer...Merci
 
Voici le programme:
#include<stdio.h>
main()
{
/* Ce programme nous indique la consommation d'essence ainsi que le prix du trajet*/
float NbK; /* cette variable nous indique le nombre de km parcourus par le conducteur*/
float Prix;/* Cette variable nous indique le prix du carburant du conducteur*/
float Conso; /* Indique la consommation moyenne du conducteur*/
float NbL; /* indique le nombre de litres consommes durant le trajet*/
float Cout; /* Nous indique le cout total du trajet*/
 
printf("Quel est nombre de kilometre que vous avez parcouru" );
scanf("%f",&NbK);
printf("veuillez indiquez le prix pour 1L de carburant" );
scanf("%f",&Prix);
 
printf(" Veuillez indiquer votre consommation moyenne" );
scanf("%f",&Conso);
 
printf("RESULTATS" );
NbL= (NbK*Conso)/100 ;
 
printf("Nombre de litres consommes:%f",NbL);
Cout= (NbL*Prix)/100 ;
printf("Cout total du trajet:%f",Cout);
 
system("pause" );
 
}
 
Si d'ailleurs vous avez une idée d'un autre compilateur qui serait un peu mieux..Merci

Reply

Marsh Posté le 06-04-2007 à 20:28:44   

Reply

Marsh Posté le 06-04-2007 à 20:35:47    

DevCpp *N'EST PAS* un compilateur, c'est un IDE. il utilise le compilateur mingw32, cad GCC pour windows, le meilleur compilateur C huhu donc  y a pas à chercher mieux, c'est parfait là.
 
sur linux, ça compile sans probleme apres avoir viré le system pause...
 
je précise que scanf ne *doit pas* etre utilisé, c'est juste pour debuter et essayer ;)
 
je ne sais pas d'ou viens la fermeture de la console sur windows, mais ça tourne sans probleme sur linux. essay de lancer un gdb au cas ou


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 06-04-2007 à 20:42:20    

Merci à toi..Pourquoi dis tu que scanf ne doit pas être utilisé? Je ne vois pas trop pourquoi..

Reply

Marsh Posté le 06-04-2007 à 21:34:34    

tu fait un buffer overflow et autres bugs et conenries très facilement avec cette fonction car tu ne définie pas de taille de la donnée qui va être rentrée, or en C c'est à toi d'allouer la mémoire. tu as vite fais de faire une boucle infinie, par exemple si tu rentre une lettre à la place d'un chiffre...
 
il vaux mieux lire l'entrée stdin avec fgets


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 07-04-2007 à 08:46:12    

La fenetre se ferme parce que c'est la fin du programme ... c'est aussi bete que ca. Essaie de lancer ton programme a partir de la ligne de commande.
 
Quant aux considerations sur scanf, je trouve qu'elles sont plus que superflues pour quelqu'un qui debute - mais ca n'est que mon avis.
 
Et pour terminer, DevCpp n'est plus maintenu, maintenant sous Windows il ya Code::Blocks qui joue le meme role, et qui marche tres bien (et qui est, au passage, recommande par l'auteur de DevCpp)

Reply

Marsh Posté le 08-04-2007 à 15:23:42    

Merci pour cette aide, j'ai finalement réussi en éxecutant tout simplement avec cmd.exe mais je vais tout de même télecharger Code:Blocks
Merci à tous

Reply

Marsh Posté le 08-04-2007 à 18:03:55    

J'en profite pour vous demander une petite information au sujet de l'instruction de sélection "switch" Lorsque ji'nclue   "break;" a la fin de chaque case , j'ai un message d'erreur qui me dis "break statement not within loop or switch"..Si quelqu'un pouvais me renseigner
Merci

Reply

Marsh Posté le 08-04-2007 à 18:07:18    

post ton code


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed