Aide : pour lire et ecrire des valeurs dans un fichier .txt
Elsadar
Messages postés5Date d'inscriptionmardi 26 septembre 2006StatutMembreDernière intervention 7 avril 2009
-
15 sept. 2008 à 22:27
Elsadar
Messages postés5Date d'inscriptionmardi 26 septembre 2006StatutMembreDernière intervention 7 avril 2009
-
1 oct. 2008 à 21:26
Bonjour,
Je suis très débutant en C++.
Et très récemment j'ai ecris un programme pour calculer les taux de changes.
Il me demande sur qu'elle monnaie je veux me baser
Puis les taux de change des autres monnaies
Et j'aimerais ne pas avoirs a rerentré le taux de change a chaque ouverture du programme.
Et comme il y a que l'euro le kwancha et le dollars je me suis dis que ça servait pas a grand chose de faire une base de donnée mysql.
Donc ma question c'est comment faire pour sauvegarder les valeur sur un fichier texte, puis les récupérer du fichier texte et si il le faut pour les modifier. J'ai chercher mais j'ai vu qu'il falait le faire avec une BDD access, xml puis j'ai aussi entendu parler de STL.
Et la ou j'habite j'ai très peu internet donc je n'ai que très peu le temps de faire des recherches précisent et je repondrais pas rapidement .
Sinon pour l'écriture, ce n'est pas très compliqué, il faut utiliser la fonction fwrite.
Si tu es only sur windows, le mieux est de passer par l'API :
CreateFile(...) // Ouvre un fichier
ReadFile(...) // Lis dans un fichier
WriteFile(...) // Ecrit dans un fichier
CloseHandle(...) // Permet de libérer l'ouverture du fichier, c'est a dire le fermer
Elsadar
Messages postés5Date d'inscriptionmardi 26 septembre 2006StatutMembreDernière intervention 7 avril 2009 16 sept. 2008 à 22:21
Je prefère pas utiliser CreateFile etc... parce que je vais repasser sous linux après.
A moin que ce soit beaucoup plus facile CreateFile() ReadFile() WriteFile() CloseHandle().
Enfin j'ai vu que c'était tres utiliser en VB et .NET mais j'ai trouver aucune doc sur comment ça marche...
Ce qui m'interresse c'est vraiment de faire quelque chose comme cin >> a; (ça s'ecris sur le fichier.txt)
puis a la 2eme utilisation du programme qu'il aille chercher la valeur de "a" .
J'ai vu des codes avec des data.dat mais j'ai absolument pas compris...
enfin, merci de l'aide en tout cas.
sago
Elsadar
Messages postés5Date d'inscriptionmardi 26 septembre 2006StatutMembreDernière intervention 7 avril 2009 16 sept. 2008 à 23:26
On m'a toujours dit qu'il fallait assayer d'improviser en C++...
J'ai essayer avec fstream
Apres plusieurs heure (je suis tres debutant) j'ai fini par aboutir a une poubelle qui marche pas...
j'aimerai presenter mon code, et que vous m'expliquiez comment je peux resoudre mon probleme...
void ChooseMoney();
void Taux();
const string nom_fichier("data.dat");
ofstream fichier(nom_fichier.c_str());//Les flots
ifstream fichier(nom_fichier.c_str());//Les flots
string N_monnaie, a, b;
long double tauxA(1.1), tauxB(1.1), nb_N(1.1);
int i, euro, dollars, kwancha,;
void ChooseMoney()
{
i = 1;
euro = 0;
dollars = 0;
kwancha = 0;
cout << "\nChoisissez la monnaie de depart" << endl;
cout << " Ou appuyez sur un autre bouton pour quitter\n"; cout << "1 euros , 2 kwancha, 3 = dollars, 0 = Quitter : \n";
cin >> i;
if(i == 0){
fichier.close();
exit(0);
}
fichier << i; // pour ecrire i dans le fichier
cout << "\n" ;
switch(i)
{
case 1: euro = 1;
N_monnaie = "euros";
a = "kwanchas";
b = "USDollars";
break;
case 2:
kwancha = 1;
N_monnaie = "kwanchas";
a = "euros";
b = "USDollars";
break;
case 3 :
dollars = 1;
N_monnaie = "USDollars";
a = "kwanchas";
b = "euros";
break;
default : exit(0);
break;
}
fichier << N_monnaie << a << b; // Les nom de l'argent
Taux();
cout << " Votre monnaie de depart est l'"; fichier >> N_monnaie.substr(0, 8); cout << endl;
}
else{
cout << " Votre monnaie de depart est le "; fichier >> N_monnaie.substr(0, 7); cout << endl;
}
cout << "Veuillez indiquer le taux de change des deux autre monnaie \n\n Pour les nombres a virgule veuillez mettre un point a la place de la virgule (1,2 = incorrecte) (1.2 = correct) \n\n\n";
fichier >> a; cout << " : "; // enfin maintenant je sais que ça marche pas
cin >> tauxA;
cout << "\n"; fichier >> b; cout << " : ";
cin >> tauxB;
fichier << tauxA << tauxB;
bool y = 0;
cout << "\n\nRetourner au Menu de selection de la monnaie ? (1 = non) (0 = oui) : \n";
cin >> x;
cout << "\n\n";
}
ChooseMoney();
}
int main(int argc, char *argv[])
{
cout << "\n *********************** \n\nICalcTaux est un programme qui permet de calculer les taux de change\n *********************** \n\n";
if(N_monnaie "USDollars" || N_monnaie "euros" || N_monnaie == "kawanchas") /*Si on recupère des valeurs dans le fichier on rentre directement dans taux */
{
Taux();
}
else
{
ChooseMoney();
}
return 0;
}
J'ai honte ... enfin bon j'ai tester plein de trucs mais dans aucun cas j'ai reussis a compiler...