pb sur les fichiers et une fonction help me please tres urgent

pb sur les fichiers et une fonction help me please tres urgent - C++ - Programmation

Marsh Posté le 12-03-2005 à 18:00:09    

Bonjour tout le monde  
 
voila je ne comprend pas comment faire:
 
j'ai un fichier sur ma clef usb ( E:\fichier.txt), dessu il y a des info sur des clients comme ceci:
 

Code :
  1. Dupont   Paul   24   N   12 01 05   1200   10   13   120
  2. Delporte   Jean   23   N   10 01 05   1200   10   13   120
  3. ...


 
et en fait je doit faire un sous-programme Telecharger_Fichier(???). Ce sous-programme doit copier dans un tableau TabClient tous les clients figurant dans un fichier dont le nom est passé en paramétre puis afficher le nombre total de clients.
 
voila je ne comprend rien.
 
j'ai fais un prog. il m'a l'air correct mais quand je le lance il m'indique qu'il y a 96 client alors que dans le fichier il n'y en a que 3... (je suis meme pas sur que c'est ce qu'il demande, j'ai pas trop compris ce qu'ils veulent)
 
voila ce que j'ai fais:

Code :
  1. #include<iostream.h>
  2. #include<fstream.h>
  3. #include<stdlib.h>
  4. #include<conio.h>
  5. #include<string.h>
  6. const int MAX=200;
  7.    
  8. struct Identite
  9. {
  10.        string nomCli;
  11.        string prenomCli;
  12.        int age;
  13.        char statut;
  14. };
  15. struct DateEmp
  16. {
  17.        int jour;
  18.        int mois;
  19.        int annee;
  20. };
  21. struct Client
  22. {
  23.        struct DateEmp dateE;
  24.        struct Identite id;
  25.        int montantEmp;
  26.        int tauxInteret;
  27.        int duree;
  28.        int montantInteret;
  29. };
  30. void Telecharger_Fichier(string fichier);
  31. int main()
  32. {
  33.      string ficClient;
  34.    
  35.      cout << "Entrer l'adresse du fichier client: ";
  36.      cin >> ficClient;
  37.      cout <<endl;
  38.    
  39.      Telecharger_Fichier(ficClient);
  40.      getch();
  41.    
  42.     return 0;
  43. }
  44. void Telecharger_Fichier(string fichier)
  45. {   
  46.      int i;
  47.      char pause;
  48.      string TabClient[MAX];
  49.    
  50.      ifstream ficent(fichier);
  51.    
  52.      if (!ficent)
  53.      {
  54.                 cout << "ouverture impossible...\n";
  55.                 return;
  56.      }
  57.      else
  58.      {
  59.          i=0;
  60.          ficent >> TabClient[i];
  61.        
  62.          while(!ficent.eof())
  63.          {
  64.                             i++;
  65.                             ficent >> TabClient[i];
  66.          }
  67.      }
  68.    
  69.          cout << "\nNombre de clients: " << i;
  70.          cin >> pause;
  71.          cout << endl;
  72.    
  73.      ficent.close();
  74. }


 
(il va y avoir plusieur fonction d'où les structures)


Message édité par boby61 le 13-03-2005 à 14:14:12
Reply

Marsh Posté le 12-03-2005 à 18:00:09   

Reply

Marsh Posté le 12-03-2005 à 18:01:37    

/me runs

Reply

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

?

Reply

Marsh Posté le 12-03-2005 à 18:11:40    

1) ne jamais utiliser exit
2) utiliser les std::string, pas les char*
3) utiliser les std::vector, pas des tableaux
4) while(!ficent.eof()) est un mauvais usage d'eof. ne pas utiliser eof
 
POURQUOI ? fais une recherche, documentes toi.

Reply

Marsh Posté le 12-03-2005 à 18:15:49    

ok, c'est ma prof de c++ qui a montrer cette méthode...
 

Reply

Marsh Posté le 12-03-2005 à 18:19:26    

ben désolé, mais elle a eut son diplôme de C++ dans une pochette surprise.

Reply

Marsh Posté le 12-03-2005 à 18:43:51    

lol toi tu doit être au stid a roubaix lol
sa fait parti du mini-projet a réaliser...
un conseil essaye d'apprendre le c++ par toi même parceque si tu compte sur les profs là bas tu es vraimment mal barré.
regarde la preuve, ce que Taz montre la prof te le dira jamais et je suis sur que tu est perdu là.  
Les profs là bas ne sont pas d'une grande utilité pour l'informatique, je t'assure.  
Ils apprennent pas les bonnes méthodes et nous disent d'utiliser des choses qui n'on même pas lieu d'être utilisé.
Regarde on a même pas vu les pointeurs qui sont un puissant outil quand tu sais les maitriser.

Reply

Marsh Posté le 13-03-2005 à 12:54:51    

up

Reply

Marsh Posté le 13-03-2005 à 13:01:44    

corrige les problèmes dont j'ai parlé

Reply

Marsh Posté le 13-03-2005 à 13:06:53    

je suis d'accord avec Taz, c'est une parodie de C++ ce code, une infame mascarade. Note je comprends, tu fais ce qu'on t'apprends, et des profs de fac competent j'en ai pas vu des masses...

Reply

Marsh Posté le 13-03-2005 à 13:06:53   

Reply

Marsh Posté le 13-03-2005 à 14:32:54    

Bonjour tout le monde !
 

Code :
  1. #include<iostream.h>
  2. #include<fstream.h>
  3. #include<conio.h>
  4. #include<stl.h>
  5. struct Identite
  6. {
  7.        string nomCli;
  8.        string prenomCli;
  9.        int age;
  10.        char statut;
  11. };
  12. struct DateEmp
  13. {
  14.        int jour;
  15.        int mois;
  16.        int annee;
  17. };
  18. struct Client
  19. {
  20.        struct DateEmp dateE;
  21.        struct Identite id;
  22.        int montantEmp;
  23.        int tauxInteret;
  24.        int duree;
  25.        int montantInteret;
  26. };
  27. void Telecharger_Fichier(string fichier);
  28. int main()
  29. {
  30.      string ficClient;
  31.    
  32.      cout << "Entrer l'adresse du fichier client: ";
  33.      cin >> ficClient;
  34.      cout <<endl;
  35.    
  36.      Telecharger_Fichier(ficClient);
  37.      getch();
  38.    
  39.     return 0;
  40. }
  41. void Telecharger_Fichier(string fichier)
  42. {   
  43.      int i;
  44.      char pause;
  45.      vector<string> TabClient;
  46.    
  47.      ifstream ficent(fichier);
  48.    
  49.      if (!ficent)
  50.      {
  51.                 cout << "ouverture impossible...\n";
  52.                 return;
  53.      }
  54.      else
  55.      {
  56.          i=0;
  57.          ficent >> TabClient[i];
  58.        
  59.          while(!ficent.eof())
  60.          {
  61.                             i++;
  62.                             ficent >> TabClient[i];
  63.          }
  64.      }
  65.    
  66.          cout << "\nNombre de clients: " << i;
  67.          cin >> pause;
  68.          cout << endl;
  69.    
  70.      ficent.close();
  71. }


 
voila le code mais bon je pense qu'il y a plein d'erreur, si  quelqu'un pouvait m'aider pour faire cette fonction ce serait vraimment cool j'en peu plus sa fait une semaine que je cherche a ce que cette fonction soit fonctionnel (et dire que j'en ai encore 11 autres a faire a prés celle là)

Reply

Marsh Posté le 13-03-2005 à 16:00:26    

t'as fais 1 truc et demi
- string OK
- vector ... mauvais usage
 
le reste t'as pas corrigé.
 
 
et
 
struct Machin m;
 
c'est du  C
 
 
C++
 
Machin m;
 
 
#include<stl.h> n'existe pas
 
 
#include <vector>
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;

Reply

Marsh Posté le 13-03-2005 à 17:24:10    

moi j'ai bientot fini ce projet  
mais j'avou que l'enoncé de cette fonction je ne l'ai pas tres bien compris (au debut j'avais ranger chaque element dans nom prenom etc... mais j'ai eu un virus donc n'a plu programme,là je l'ai refait mais je ne suis pas sur que c'est ce qu est demandé)


Message édité par blastman le 14-03-2005 à 12:50:29

---------------
http://www.blastmanu.info
Reply

Marsh Posté le 13-03-2005 à 18:36:16    

alors donc le programme fonctionne mais j'ai été obligé de virer les espace dans le fichier fiClient.txt pour que sa puisse fonctionné est-il possible de le faire fonctionner correctement en laissant les espaces dans le fichier ?

Reply

Marsh Posté le 14-03-2005 à 11:41:17    

putain c'est pas possible demmerde toi tout seul bordel, tu post sur tout les forums, tu doit être content maintenant d'avoir eu la réponse.  
 
un conseil recopie pas comme un trou du Q si tu comprend rien
 
son 2eme post avec la réponse:
http://www.developpez.net/forums/v [...] p?t=310286
 
si tu recopie j'espere que tes pas dans mon groupe sinon la prof va croire que c'est moi qui est fais le boulot et j'ai pas envi qu'elle  
me prenne pour je ne sais quoi surtout que c'est l'un des seul cours que j'aime bien (meme si j'espere que si je vais en info l'an prochain le niveau sera plus elevé que là)...
 
au passage si tu as encore des problemes, avant de poster essaye de trouver de la doc. n'oubli pas [:alkatraz] est ton ami  
 
info:
pk cela m'enerve se genre de truc ? parceque moi sa fais un peu plus de 2ans que je me casse les coui... a essayé de bien coder en c++ en me cassant la tête grave, par moment.
Et quand je vois quelqu'un qui post pour avoir la réponse (qui se bat les coui... de comprendre (et qui l'obtient, sa m'enerve...
desolé a ceux qui ne suive pas mon avis mais moi c'est comme sa.
 
[:alex_]


Message édité par blastman le 14-03-2005 à 12:26:49

---------------
http://www.blastmanu.info
Reply

Sujets relatifs:

Leave a Replay

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