Problème lors de la compilation

Problème lors de la compilation - C - Programmation

Marsh Posté le 12-07-2005 à 20:05:01    

Bonjour,
Je commence à paine en programmation C et suite à la lecture de quelque tutorials je me suit lancé dans la création d'un programme tout bète en MS-DOS (car j'ai pas trouver de tuto qui explique pour faire des applications sous forme de fenettres).
Voila mon petit bout de code C:

Citation :

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define Un_euro_en_franc 6.55957
float prix_en_euro,prix_en_franc;
void main()
{
char choix;
printf("Bienvenu dans le convertisseur Franc Euros\n" );
printf("Si vous voulez convertir des Euros en Franc appuiez sur la touche '\"'e'\"' de votre clavié\n" );
printf("si vous voulez convertir des Franc en Euros appuiez sur la touche '\"'f'\"' de votre clavié\n" );
printf("Pour sortir taper '\"'s'\"'\n" );
printf("\nVOTRE CHOIX : " );
choix = getchar();
switch(choix)
    {
    case 'e': prinf("\nEntrez un montant en Euros : " );
              scanf("%f",&prix_en_euro);
              prix_en_franc=prix_en_euro*Un_euro_en_franc;
              printf("\n%f Euros vaut %f Franc",prix_en_euro,prix_en_franc);
              printf("\npressez un touche pour quitter" );
              getch();
           break;
 
    case 'f': prinf("\nEntrez un montant en Franc : " );  
              scanf("%f",&prix_en_franc);
              prix_en_euro=prix_en_franc/Un_euro_en_franc;
              printf("\n%f Franc vaut %f Euros",prix_en_franc,prix_en_euro);
              printf("\npressez un touche pour quitter" );
              getch();
              break;
 
    case 's': printf("\nA BIENTOT..." );
           break;
    }
}


Il doit surement avoir un problème la dessus car à la compiltion le programme de compilation me surligne la 1er ligne ou il y a un "{".
PS : Pour la compilation j'utilise DEV-C++
Merci de bien vouloir m'expliquer mes faute pour que je le sache pour mon prochain programme.

Reply

Marsh Posté le 12-07-2005 à 20:05:01   

Reply

Marsh Posté le 12-07-2005 à 21:01:54    

Jette ton tutoriel à la poubelle :+)
Il y en a des très bien http://www.librecours.org/cgi-bin/ [...] fo&elt=726 ou http://www-clips.imag.fr/commun/be [...] NSI_C.html
 
Pourquoi ton programme est pourri? eh bien lit un cours de C tu verras bien  :D  
 
(void du main, variables globales, conio.h pas standard, indentation pourrie, scanf...)

Reply

Marsh Posté le 12-07-2005 à 21:59:57    

jordan38 a écrit :

Bonjour,
Je commence à paine en programmation C et suite à la lecture de quelque tutorials je me suit lancé dans la création d'un programme tout bète en MS-DOS (car j'ai pas trouver de tuto qui explique pour faire des applications sous forme de fenettres).
Voila mon petit bout de code C:

Citation :

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define Un_euro_en_franc 6.55957
float prix_en_euro,prix_en_franc;
void main()
{
char choix;
printf("Bienvenu dans le convertisseur Franc Euros\n" );
printf("Si vous voulez convertir des Euros en Franc appuiez sur la touche '\"'e'\"' de votre clavié\n" );
printf("si vous voulez convertir des Franc en Euros appuiez sur la touche '\"'f'\"' de votre clavié\n" );
printf("Pour sortir taper '\"'s'\"'\n" );
printf("\nVOTRE CHOIX : " );
choix = getchar();
switch(choix)
    {
    case 'e': prinf("\nEntrez un montant en Euros : " );
              scanf("%f",&prix_en_euro);
              prix_en_franc=prix_en_euro*Un_euro_en_franc;
              printf("\n%f Euros vaut %f Franc",prix_en_euro,prix_en_franc);
              printf("\npressez un touche pour quitter" );
              getch();
           break;
 
    case 'f': prinf("\nEntrez un montant en Franc : " );  
              scanf("%f",&prix_en_franc);
              prix_en_euro=prix_en_franc/Un_euro_en_franc;
              printf("\n%f Franc vaut %f Euros",prix_en_franc,prix_en_euro);
              printf("\npressez un touche pour quitter" );
              getch();
              break;
 
    case 's': printf("\nA BIENTOT..." );
           break;
    }
}


Il doit surement avoir un problème la dessus car à la compiltion le programme de compilation me surligne la 1er ligne ou il y a un "{".
PS : Pour la compilation j'utilise DEV-C++
Merci de bien vouloir m'expliquer mes faute pour que je le sache pour mon prochain programme.


 
Déjà, si tu écrivais correctement le français ce serait moins douloureux à lire. Et c'est aussi une marque de respect envers toi et envers les autres que d'écrire en essayant de ne pas faire de fautes.
"je commence à pEine"
"quelques tutoriaUX"
"forme de fenêTres"
"BienvenuE"
"appuYez sur la touche 'e' de votre clavieR"
"pressez unE touche pour quitter"
 
Sinon, comme l'a dit Manatane, ton tutoriel est réellement moisi.
1) Met la ligne "float prix_en_euro,prix_en_franc" après la première accolade sous le "main"
2) Au lieu de "void main()" écrit "int main()"
3) la ligne "#include <math.h>" ne sert à rien ici (je ne sais d'ailleurs pas à quoi sert "conio" )
 
Et là, peut-être que ça compilera mieux. Ensuite télécharge un vrai cours de C pour apprendre...
T'en as de bons ici
http://mapage.noos.fr/emdel
http://fr.lang.free.fr/cours/Langa [...] e_v2.0.pdf
 
Enfin pour créer une application avec des fenêtres il te faudra utiliser des librairies graphiques. Commence par le commencement. Avant de courir on apprend à marcher...


Message édité par Sve@r le 12-07-2005 à 22:08:38

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 12-07-2005 à 23:11:32    

Je suis franchement désolé pour toutes les fotes d'horthographe, j'ai des problèmes en francais mais se n'est pas le sujet. Donc j'ai fait les modifications que Sve@r à proposer :

Citation :

1) Met la ligne "float prix_en_euro,prix_en_franc" après la première accolade sous le "main"
2) Au lieu de "void main()" écrit "int main()"
3) la ligne "#include <math.h>" ne sert à rien ici


se qui me donne le code suivant :

Code :
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #define Un_euro_en_franc 6.55957
  4. int main()
  5. {
  6. float prix_en_euro,prix_en_franc;
  7. char choix;
  8. printf("Bienvenu dans le convertisseur Franc Euros\n" );
  9. printf("Si vous voulez convertir des Euros en Franc appuiez sur la touche '\"'e'\"' de votre clavié\n" );
  10. printf("si vous voulez convertir des Franc en Euros appuiez sur la touche '\"'f'\"' de votre clavié\n" );
  11. printf("Pour sortir taper '\"'s'\"'\n" );
  12. printf("\nVOTRE CHOIX : " );
  13. choix = getchar();
  14. switch(choix)
  15.     {
  16.     case 'e': prinf("\nEntrez un montant en Euros : " );
  17.               scanf("%f",&prix_en_euro);
  18.               prix_en_franc=prix_en_euro*Un_euro_en_franc;
  19.               printf("\n%f Euros vaut %f Franc",prix_en_euro,prix_en_franc);
  20.               printf("\npressez un touche pour quitter" );
  21.               getch();
  22.           break;
  23.     case 'f': prinf("\nEntrez un montant en Franc : " );
  24.               scanf("%f",&prix_en_franc);
  25.               prix_en_euro=prix_en_franc/Un_euro_en_franc;
  26.               printf("\n%f Franc vaut %f Euros",prix_en_franc,prix_en_euro);
  27.               printf("\npressez un touche pour quitter" );
  28.               getch();
  29.               break;
  30.     case 's': printf("\nA BIENTOT..." );
  31.           break;
  32.     }
  33. }


Mais mon problème n'est pas résolu. Je n'arive toujour pas à compiler.  
Et je ne voudrais pas faire le difficile mais vos tuto j'ai du mal à les comprendre je les trouve tros litérère. Moi il me faut des exemple pour comprendre.  
Merci de votre passianse .

Reply

Marsh Posté le 12-07-2005 à 23:18:03    

Citation :

Mais mon problème n'est pas résolu. Je n'arive toujour pas à compiler.


 
Mais encore ?  [:atari]  
 
 

Citation :

Et je ne voudrais pas faire le difficile mais vos tuto j'ai du mal à les comprendre je les trouve tros litérère. Moi il me faut des exemple pour comprendre.  
Merci de votre passianse .


 
Tu as de la chance qu'ils ne soient pas en anglais, pour commencer.
Sinon pour les comprendre, il suffit de les relire plusieurs fois, ils sont plutôt bien détaillés.
Si tu souhaites des exercices & exemples, il y a un lien vers "The C Book" dans la page http://mapage.noos.fr/emdel , et il y a de nombreux exercices dans le cours donné en premier lien par manatane.
Je crois donc que tu ne les as pas parcourus, ou même ouverts.
 
Quant aux fautes d'orthographe de ce dernier message, soit elles sont toujours involontaire et c'est tout de même assez grave ; soit, et c'est ce que je pense, elles sont volontaires ici pour montrer que tu t'en moques, et dans ce cas c'est une marque flagrante d'irrespect.


Message édité par Elmoricq le 12-07-2005 à 23:18:43
Reply

Marsh Posté le 13-07-2005 à 00:45:19    

jordan38 a écrit :

Je suis franchement désolé pour toutes les fotes d'horthographe, j'ai des problèmes en francais mais se n'est pas le sujet.

   case 'e': prinf("\nEntrez un montant en Euros : " );




Faire des fautes d'orthtographe en programmation ne pardonne pas ('prinf' au lieu de 'printf', par exemple...)


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 13-07-2005 à 21:45:53    

Sincèrement je ne vois pas d'erreur flagrante. J'ai pas de compilateur pour tester mais en lisant ce code je le trouve (mis à part le "prinf" ) syntaxiquement correct. Et je pense que c'est le cas de tous.
 
Je te dirais bien de remplacer le "Un_Euro_En_Franc" par "UN_EURO_EN_FRANC" (les macrodéfinitions s'écrivent en majuscule par convention) mais ce n'est pas une erreur que de l'avoir écrit comme tu l'as écrit...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

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