Tom's Guide > Forum > Programmation > Erreurs code c++
Mot :    Pseudo :           
 

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 :

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




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 :)

------------------------------ La théorie c'est quand on sait tout mais que rien ne fonctionne, la pratique c'est quand tout fonctionne mais personne ne sait pourquoi ; nous avons réunis ici pratique et théorie --> rien ne fonctionne et personne ne sais pourquoi
Albert Einstein
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

m et f sont des variables comme tu as écrit.
En C et C++, un caratère s'écrit:
'm'
'f'

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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 :)

------------------------------ La théorie c'est quand on sait tout mais que rien ne fonctionne, la pratique c'est quand tout fonctionne mais personne ne sait pourquoi ; nous avons réunis ici pratique et théorie --> rien ne fonctionne et personne ne sais pourquoi
Albert Einstein
Répondre à sangoku538

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 :

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

------------------------------ La théorie c'est quand on sait tout mais que rien ne fonctionne, la pratique c'est quand tout fonctionne mais personne ne sait pourquoi ; nous avons réunis ici pratique et théorie --> rien ne fonctionne et personne ne sais pourquoi
Albert Einstein
Répondre à sangoku538

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

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



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 :)

------------------------------ La théorie c'est quand on sait tout mais que rien ne fonctionne, la pratique c'est quand tout fonctionne mais personne ne sait pourquoi ; nous avons réunis ici pratique et théorie --> rien ne fonctionne et personne ne sais pourquoi
Albert Einstein
Répondre à sangoku538

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

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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'));


Message édité par twi-twi le 20-06-2007 à 21:43:16
Répondre à twi-twi

Oui, le "do while" est mieux, ça assure de rentrer au moins une fois dans la boucle.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Ah ok, merci beaucoup, c'est sympa, j'essaye ça to de suite :)

------------------------------ La théorie c'est quand on sait tout mais que rien ne fonctionne, la pratique c'est quand tout fonctionne mais personne ne sait pourquoi ; nous avons réunis ici pratique et théorie --> rien ne fonctionne et personne ne sais pourquoi
Albert Einstein
Répondre à sangoku538
Tom's Guide > Forum > Programmation > Erreurs code c++
Aller à :

Il y a 2024 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens