315 visiteur(s) en ligne
Date actuelle : 26-04-2024, 21:42 PM Bienvenue, Visiteur ! ( Identification S'enregistrer )







 
Comment enregistrer dans un fichier texte ? (c++)
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Auteur Message
sangoku538 Hors ligne
Newbie
*

Messages : 17
Inscription : Jun 2007
Réputation : 0
Message : #11
 
Euh, j'ai changé un poil mon code depuis :

#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{
// Nom
string nom;
cout << "Entrez votre nom : ";
cin >> nom;

// Prénom
string prenom;
cout << "\nEntrez votre prenom : ";
cin >> prenom;

// Age
unsigned age;
cout << "\nQuel est votre age ? ";
cin >> age;

// Sexe
char sexe;
string sortieSexe;

do
{
cout << "\nEtes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
cin >> sexe;

} while((sexe=='f')&amp;&amp;(sexe=='m'));


if (sexe == 'f')
{
sortieSexe = "femme ag\x82e";

}

if (sexe == 'm')
{
sortieSexe = "homme ag\x82";
}


// Adresse
int numeroRue;
string nomRue;
int codePostal;
string commune;

cout << "\nEntrez maintenant votre num\x82ro de rue : ";
cin >> numeroRue;
cout << "\nle nom de votre rue comme rue du paradis : ";
cin >> nomRue;
cout << "\nvotre code postal : ";
cin >> codePostal;
cout << "\nEt enfin le nom de votre ville/commune : ";
cin >> commune;



// Sortie
cout << "\nRecapitulatif :\n\nVotre prenom : " << prenom << "\nVotre nom : " << nom << "\nVous etes " << sortieSexe << " de " << age << " ans\n";
cout << "\n";

// enregistrement
FILE* fichier = NULL;
fichier = fopen("donnees.txt", "a+");

if (fichier != NULL)
{

fputs("Récapitulatif :\n", fichier);
fprintf(fichier, "Nom : %s", nom);
fprintf(fichier, "\nPrenom : %s", prenom);
fprintf(fichier, "\nAge : %s", age);

fclose(fichier); // On ferme le fichier qui a été ouvert

cout << "ecriture dans le fichier reussie\n";
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier");
}



system("pause");
return 0;
}
21-06-2007 07:40 AM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Bilifly Hors ligne
Administrateur
******

Messages : 3 439
Inscription : Mar 2006
Réputation : 11
Message : #12
 
Bonjour à vous

Sous Visual C++, le bouton pour compiler se trouve pas très loin (si tu connais bien l'anglais)

Image: sanstitrepk8.jpg

Build = Construire
Compile = Compiler

Image: powered-by-linux.png Image: actualites-informatiques-pcw.1.gif
Image: userbar-ubuntu.gif
21-06-2007 11:44 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
sangoku538 Hors ligne
Newbie
*

Messages : 17
Inscription : Jun 2007
Réputation : 0
Message : #13
 
Oui je connais bien l'anglais mais pour éviter de me casser la tête, je l'ai en français ^^
Mais j'ai visual c++ 2005 express ... et je ne trouve toujours pas le bouton que tu m'a montré !
21-06-2007 17:32 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
sangoku538 Hors ligne
Newbie
*

Messages : 17
Inscription : Jun 2007
Réputation : 0
Message : #14
 
J'ai trouvé le bouton compiler (que j'ai été obligé d'ajouter dans le menu...). Voila tout ce que visual c++ me sort comme erreurs quand je compile :

1>.\prog inutile.cpp(7) : error C2871: 'std' : un espace de noms avec ce nom n'existe pas
1>.\prog inutile.cpp(12) : error C2065: 'string' : identificateur non déclaré
1>.\prog inutile.cpp(12) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'nom'
1>.\prog inutile.cpp(12) : error C2065: 'nom' : identificateur non déclaré
1>.\prog inutile.cpp(13) : error C2065: 'cout' : identificateur non déclaré
1>.\prog inutile.cpp(14) : error C2065: 'cin' : identificateur non déclaré
1>.\prog inutile.cpp(17) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'prenom'
1>.\prog inutile.cpp(17) : error C2065: 'prenom' : identificateur non déclaré
1>.\prog inutile.cpp(28) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'sortieSexe'
1>.\prog inutile.cpp(28) : error C2065: 'sortieSexe' : identificateur non déclaré
1>.\prog inutile.cpp(46) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'nomRue'
1>.\prog inutile.cpp(46) : error C2065: 'nomRue' : identificateur non déclaré
1>.\prog inutile.cpp(47) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'codePostal'
1>.\prog inutile.cpp(47) : error C2065: 'codePostal' : identificateur non déclaré
1>.\prog inutile.cpp(48) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'commune'
1>.\prog inutile.cpp(48) : error C2065: 'commune' : identificateur non déclaré
1>.\prog inutile.cpp(56) : error C2065: 'FILE' : identificateur non déclaré
1>.\prog inutile.cpp(56) : error C2065: 'fichier' : identificateur non déclaré
1>.\prog inutile.cpp(56) : error C2065: 'NULL' : identificateur non déclaré
1>.\prog inutile.cpp(57) : error C3861: 'fopen' : identificateur introuvable
1>.\prog inutile.cpp(62) : error C3861: 'fputs' : identificateur introuvable
1>.\prog inutile.cpp(63) : error C3861: 'fprintf' : identificateur introuvable
1>.\prog inutile.cpp(64) : error C3861: 'fprintf' : identificateur introuvable
1>.\prog inutile.cpp(65) : error C3861: 'fprintf' : identificateur introuvable
1>.\prog inutile.cpp(67) : error C3861: 'fclose' : identificateur introuvable
1>.\prog inutile.cpp(74) : error C3861: 'printf' : identificateur introuvable
1>.\prog inutile.cpp(79) : error C3861: 'system' : identificateur introuvable

Y'en a plein, comparé à DEV C++ ...
21-06-2007 17:42 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Bilifly Hors ligne
Administrateur
******

Messages : 3 439
Inscription : Mar 2006
Réputation : 11
Message : #15
 
Bonsoir

Il faut déclarer les librairies stdlib.h et stdio.h

Image: powered-by-linux.png Image: actualites-informatiques-pcw.1.gif
Image: userbar-ubuntu.gif
21-06-2007 19:03 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
sangoku538 Hors ligne
Newbie
*

Messages : 17
Inscription : Jun 2007
Réputation : 0
Message : #16
 
toujours les même erreurs ..

C'est pas grâve, je reste sur dev, mais pourquoi mon programme plante comme ça, vous l'avez essayé ?
21-06-2007 19:39 PM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Bilifly Hors ligne
Administrateur
******

Messages : 3 439
Inscription : Mar 2006
Réputation : 11
Message : #17
 
Je fais mes essais, elles sont en cours... Wink

Image: powered-by-linux.png Image: actualites-informatiques-pcw.1.gif
Image: userbar-ubuntu.gif
21-06-2007 19:51 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
sangoku538 Hors ligne
Newbie
*

Messages : 17
Inscription : Jun 2007
Réputation : 0
Message : #18
 
Ok merci Smile
Et ça donne quoi ?
22-06-2007 07:06 AM
Envoyer un email à cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Teclis Hors ligne
Informaticien débutant
**

Messages : 93
Inscription : Jun 2007
Réputation : 0
Message : #19
 
Moi, je jette l'éponge, le C++ me dépasse Tongue Je vais rester à PHP je crois Big Grin
22-06-2007 08:34 AM
Envoyer un email à cet utilisateur Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Bilifly Hors ligne
Administrateur
******

Messages : 3 439
Inscription : Mar 2006
Réputation : 11
Message : #20
 
Bonsoir à vous

J'ai trouvé les erreurs, le programme fonctionne plus ou moins bien maintenant, avec l'écriture sur le fichier aussi

En rouge je te mets les modifications que j'ai apportées.

Je te donne le source :
------------------------------------------------------------
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{

// Nom
//string nom;
char nom[12];

cout << "Entrez votre nom : ";
cin >> nom;

// Prénom
//string prenom;
char prenom[12];

cout << "\nEntrez votre prenom : ";
cin >> prenom;

// Age
//unsigned age;
int age;

cout << "\nQuel est votre age ? ";
cin >> age;

// Sexe
char sexe;
string sortieSexe;

do
{
cout << "\nEtes-vous un homme ou une femme ? Entrez m pour homme et f pour femme : ";
cin >> sexe;

} while((sexe=='f')&amp;&amp;(sexe=='m'));

if (sexe == 'f')
{
sortieSexe = "femme agee";

}

if (sexe == 'm')
{
sortieSexe = "homme age";
}

// Adresse
int numeroRue;
string nomRue;
int codePostal;
string commune;


cout << "\nEntrez maintenant votre numero de rue : ";
cin >> numeroRue;
cout << "\nle nom de votre rue comme rue du paradis : ";
cin >> nomRue;
cout << "\nvotre code postal : ";
cin >> codePostal;
cout << "\nEt enfin le nom de votre ville/commune : ";
cin >> commune;

// Sortie
cout << "\nRecapitulatif :\n\nVotre prenom : " << prenom << "\nVotre nom : " << nom << "\nVous etes " << sortieSexe << " de " << age << " ans\n";
cout << "\n";

// enregistrement
FILE *fichier = NULL;
fichier = fopen("donnees.txt","a+");

if (fichier != NULL)
{
fputs("Recapitulatif :\n", fichier);
fprintf(fichier, "Nom : %s", nom);
fprintf(fichier, "\nPrenom : %s", prenom);
fprintf(fichier, "\nAge : %d", age);

fclose(fichier); // On ferme le fichier qui a été ouvert

cout << "ecriture dans le fichier reussie\n";
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier");
}

system("pause");
return 0;
}
-----------------------------------------------------------------

En changeant les string en tableau de char (chaîne de caractères) cela a permit de résoudre les Warnings que tu avais au début

La cause du message d'erreur à la fin du programme était ceci :

unsigned age;

Une variable non signée qui n'a pas de type c'est bizarre, j'ai changé en int (integer = entier) car l'âge est une valeur numérique

Et plus bas, j'ai remplacé le %s par un %d => fprintf(fichier, "\nAge : %d", age);

Le problème, c'est quand on entre le nom de la rue, après qu'on valide Entrée, il fini directement le programme

Image: powered-by-linux.png Image: actualites-informatiques-pcw.1.gif
Image: userbar-ubuntu.gif
22-06-2007 15:22 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse




Discussions apparemment similaires...
Discussion : Auteur Réponses : Affichages : Dernier message
  [Résolu] Comment télécharger sur Youtube avec linux et firefox tigrokiki 2 5 621 12-07-2014 21:02 PM
Dernier message: tigrokiki
  Comment connecter deux PC entre eux. FOX 2 5 679 18-05-2012 07:52 AM
Dernier message: leader.75
  [Résolu] [résolu] Cadres dans Namo Web Editor gemopa 7 9 303 02-01-2010 23:39 PM
Dernier message: Troll
  [Résolu] [AJAX] Feeds Rss, comment sa marche? sheitan 16 7 615 13-09-2008 11:46 AM
Dernier message: AngeFMR
  champs connection dans mon site zorlig 7 4 512 01-09-2008 07:07 AM
Dernier message: Troll
  [Résolu] Insérer une video dans un forum leo55 20 10 591 03-07-2008 20:22 PM
Dernier message: Troll
  [Résolu] du PHP dans du JAVA emma13 6 4 783 17-06-2008 07:19 AM
Dernier message: Troll
  [RESOLU]fichier Batch emma13 13 9 302 17-06-2008 07:09 AM
Dernier message: Troll
  enregistrer skype? sirabeau 5 7 642 07-06-2008 08:11 AM
Dernier message: Troll
  Comment utilise t' on stream ifolder.ru dark 11 11 632 31-10-2007 05:30 AM
Dernier message: dark

Aller à :


Utilisateur(s) parcourant cette discussion : 1 visiteur(s)