Votre question

Erreurs code c++

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
19 Juin 2007 19:23:53

Bonjour,
Je débute dans la programmation et pour m'entraîner, je me suis lancé dans la réalisation d'un petit programme (totalement inutile XD).Vous moquez pas ^^
J'ai rédigé le fichier source et lors de la compilation, quelques erreurs sont détectés, je voudrais savoir à quoi correspondent-t-elles ??

Voila le code :

  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main(int nNumberofArgs, char* pszArgs[])
  7. {
  8. // Nom
  9. string nom;
  10. cout << "Entrez votre nom : ";
  11. cin >> nom;
  12.  
  13. // Prénom
  14. string prenom;
  15. cout << "\nEntrez votre prenom : ";
  16. cin >> prenom;
  17.  
  18. // Age
  19. int age;
  20. cout << "\nQuel est votre age ? ";
  21. cin >> age;
  22.  
  23. // Sexe
  24. char sexe;
  25.  
  26. string sortieSexe;
  27. cout << "\nEtes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
  28. cin >> sexe;
  29.  
  30. while (sexe == m) || (sexe == f)
  31. {
  32. if (sexe == m)
  33. {
  34. sortieSexe = "un homme";
  35. }
  36.  
  37. if (sexe == f)
  38. {
  39. sortieSexe = "une femme";
  40. }
  41.  
  42. else
  43. {
  44. cout << "\nVous vous êtes trompé, etes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
  45. cin << sexe;
  46. }
  47. }
  48.  
  49. // Sortie
  50. cout << "Recapitulons :\nVotre prénom : " << prenom << "\nVotre nom : " << nom << "Vous êtes " << sortieSexe;
  51. cout << "\n";
  52.  
  53.  
  54. system("pause");
  55. return 0;
  56. }



Voila ce que le compilateur me retourne comme erreur :

Citation :

C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\proginutile.cpp In function `int main(int, char**)':

30 C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\proginutile.cpp `m' undeclared (first use this function)

(Each undeclared identifier is reported only once for each function it appears in.)

30 C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\proginutile.cpp expected primary-expression before '||' token

30 C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\proginutile.cpp `f' undeclared (first use this function)

31 C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\proginutile.cpp expected `;' before '{' token



Merci d'avance :) 

Autres pages sur : erreurs code

a b L Programmation
19 Juin 2007 20:38:40

m et f sont des variables comme tu as écrit.
En C et C++, un caratère s'écrit:
'm'
'f'
20 Juin 2007 00:54:03

Oki merci ça me permettra d'avancer :) 

Il reste 3 erreurs :

Citation :

C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\proginutile.cpp In function `int main(int, char**)':

30 C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\progutile.cpp expected primary-expression before '||' token

31 C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme utile\progutile.cpp expected `;' before '{' token


Qu'est ce que ça signifie stp ?

Merci d'avance :) 

Contenus similaires
20 Juin 2007 00:59:43

J'ai trouvé mes erreurs ...

Mais il y a un problème, la boucle se répète quand j'entre m et le programme se bloque quand j'entre f ...

Voici le code après modifs :

  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main(int nNumberofArgs, char* pszArgs[])
  7. {
  8. // Nom
  9. string nom;
  10. cout << "Entrez votre nom : ";
  11. cin >> nom;
  12.  
  13. // Prénom
  14. string prenom;
  15. cout << "\nEntrez votre prenom : ";
  16. cin >> prenom;
  17.  
  18. // Age
  19. int age;
  20. cout << "\nQuel est votre age ? ";
  21. cin >> age;
  22.  
  23. // Sexe
  24. char sexe;
  25.  
  26. string sortieSexe;
  27. cout << "\nEtes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
  28. cin >> sexe;
  29.  
  30. while ((sexe != 'm') || (sexe != 'f'))
  31. {
  32. if (sexe == 'm')
  33. {
  34. sortieSexe = "un homme";
  35. }
  36.  
  37. if (sexe == 'f')
  38. {
  39. sortieSexe = "une femme";
  40. }
  41.  
  42. else
  43. {
  44. cout << "\nVous vous etes trompe, etes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
  45. cin >> sexe;
  46. }
  47. }
  48.  
  49. // Sortie
  50. cout << "Recapitulons :\nVotre prénom : " << prenom << "\nVotre nom : " << nom << "Vous êtes " << sortieSexe;
  51. cout << "\n";
  52.  
  53.  
  54. system("pause");
  55. return 0;
  56. }
20 Juin 2007 02:01:40

j'ai choisis la solution de facilité le temps que quelqu'un me réponde, j'ai ensuite voulu arranger mon programme :

  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main(int nNumberofArgs, char* pszArgs[])
  7. {
  8. // Nom
  9. string nom;
  10. cout << "Entrez votre nom : ";
  11. cin >> nom;
  12.  
  13. // Prénom
  14. string prenom;
  15. cout << "\nEntrez votre prenom : ";
  16. cin >> prenom;
  17.  
  18. // Age
  19. int age;
  20. cout << "\nQuel est votre age ? ";
  21. cin >> age;
  22.  
  23. // Sexe
  24. char sexe;
  25. string sortieSexe;
  26.  
  27. cout << "\nEtes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
  28. cin >> sexe;
  29.  
  30. if (sexe == 'm')
  31. {
  32. sortieSexe = "un homme age";
  33. }
  34.  
  35. if (sexe == 'f')
  36. {
  37. sortieSexe = "une femme agee";
  38. }
  39.  
  40.  
  41.  
  42. // Sortie
  43. cout << "\nRecapitulatif :\n\nVotre prenom : " << prenom << "\nVotre nom : " << nom << "\nVous etes " << sortieSexe << " de " << age << " ans\n";
  44. cout << "\n";
  45.  
  46. // inscription dans un fichier texte
  47. ifstream fichier ("c:\\Documents and Settings\\Propriétaire\\Mes documents\\Projet c++\\Programme inutile\\donnee.txt");
  48. fichier >> "\nRecapitulatif :\n\nprenom : " >> prenom >> "\nnom : " >> nom >> "\nc'est " >> sortieSexe >> " de " >> age >> " ans\n";
  49. cout << "\nDonnees enregistrees\n";
  50.  
  51.  
  52. system("pause");
  53. return 0;
  54. }


Mais : Un malheureux messages d'erreur mdrr --> 47 C:\Documents and Settings\Propriétaire\Mes documents\Projet c++\Programme inutile\progutile.cpp variable `std::ifstream fichier' has initializer but incomplete type

Merci d'avance :) 
a b L Programmation
20 Juin 2007 21:21:11

Tu dois continuer ta boucle dans que sexe != 'm' et que sexe != 'f'
Donc remplace le || par &&

20 Juin 2007 21:42:23

sinon,apré string sortieSexe;
tu mets:
do{
cout << "\nEtes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
cin >> sexe;
} while((sexe=='f')||(sexe=='m'));
a b L Programmation
20 Juin 2007 21:56:21

Oui, le "do while" est mieux, ça assure de rentrer au moins une fois dans la boucle.
20 Juin 2007 22:33:33

Ah ok, merci beaucoup, c'est sympa, j'essaye ça to de suite :) 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS