Programme C (Sauvegarde des valeurs
Résolu/Fermé
chrichnou051
Messages postés
152
Date d'inscription
Statut
Membre
Dernière intervention
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Voila j'aimerais creer un programme C quisauvegarderait toutes les valeurs entrées dans une table excel ou access...
Quel est l'instruction qui le permet???
Je suis débutant.
Merci d'avance
Voila j'aimerais creer un programme C quisauvegarderait toutes les valeurs entrées dans une table excel ou access...
Quel est l'instruction qui le permet???
Je suis débutant.
Merci d'avance
A voir également:
- Programme C (Sauvegarde des valeurs
- Logiciel de sauvegarde gratuit - Guide
- Sauvegarde facile - Télécharger - Sauvegarde
- Programme demarrage windows - Guide
- Sauvegarde des données - Guide
- Message programmé iphone - Guide
9 réponses
met les includes suivants (en C++):
#include <iostream.h>
#include <fstream.h>
Ouvre ton fichier, c'est une variable de type ifstream
ifstream file ("Entree.txt", ios::in);
char text[100];
if (file) {
file.getline ( text, 200, '\n'); //lis une ligne et s'arrete soit à la fin soit au bout de 200 caratère
file>> text; // lis un seul mot
}
Pour écrire, il faut ouvrir avec ios::out :
ofstream outfile ("Sortie.txt", ios::out);
outfile << text;
#include <iostream.h>
#include <fstream.h>
Ouvre ton fichier, c'est une variable de type ifstream
ifstream file ("Entree.txt", ios::in);
char text[100];
if (file) {
file.getline ( text, 200, '\n'); //lis une ligne et s'arrete soit à la fin soit au bout de 200 caratère
file>> text; // lis un seul mot
}
Pour écrire, il faut ouvrir avec ios::out :
ofstream outfile ("Sortie.txt", ios::out);
outfile << text;
Tu sauvegarde tes données dans un simple fichier .txt, en faisant attention à l'ordre d'entrée des données. Excel arrive à traduire le fichier en données utilisables.
Par exemple pour une courbe tu écris les points:
X1 Y1
X2 Y2
......
Par exemple pour une courbe tu écris les points:
X1 Y1
X2 Y2
......
Par rapport à <2> : au niveau d'excel il faut sauver ton fichier dans un format texte (tsv, csv, txt...) et lire ce fichier en C++. Sinon j'imagine qu'il existe des librairies microsoftiennes (mfc ou autre) pour directement lire un fichier microsoft. Afin que ton code n'en soit pas dépendant la première solution reste préférable si elle est envisageable d'un point de vue utilisateur.
Par rapport à <3> : De nos jours les headers C++ ne prennent plus de ".h" à la fin. Toutes les classes de la STL sont dans le namespace std::..
Pour revenir au sujet. Pour lire un fichier texte il existe plusieurs façon, de la meilleur à la moins bonne :
1- utiliser l'opérateur >> sur un std::ifstream (mais attention aux fichiers mal formés !)
2- lire le fichier ligne par ligne et utiliser les sscanf, comme en C (header <cstdio>). C'est la méthode qui me semble la plus adaptée dans ton cas (simple et relativement efficace)
3- lire le fichier ligne par ligne et utiliser la lib pcre. Si la ligne vérifie une expression régulière (ie un certain format), appeler la fonction de traitement spécifique. Les expressions régulières permettent d'aller plus loin que les fscanf pour vérifier si une chaîne vérifie ou non certaines propriétés. Si c'est la méthode la plus "propre" on va peut être éviter dans un premier temps si tu débutes, car cette approche requiert de savoir manipuler des expressions régulières et compiler un programme avec une librairie.
Pour lire un fichier ligne par ligne voici un exemple :
https://cpp.developpez.com/faq/cpp/?page=Manipulation-des-fichiers#FICHIERS_lecture_par_ligne
Bonne chance
Par rapport à <3> : De nos jours les headers C++ ne prennent plus de ".h" à la fin. Toutes les classes de la STL sont dans le namespace std::..
Pour revenir au sujet. Pour lire un fichier texte il existe plusieurs façon, de la meilleur à la moins bonne :
1- utiliser l'opérateur >> sur un std::ifstream (mais attention aux fichiers mal formés !)
2- lire le fichier ligne par ligne et utiliser les sscanf, comme en C (header <cstdio>). C'est la méthode qui me semble la plus adaptée dans ton cas (simple et relativement efficace)
3- lire le fichier ligne par ligne et utiliser la lib pcre. Si la ligne vérifie une expression régulière (ie un certain format), appeler la fonction de traitement spécifique. Les expressions régulières permettent d'aller plus loin que les fscanf pour vérifier si une chaîne vérifie ou non certaines propriétés. Si c'est la méthode la plus "propre" on va peut être éviter dans un premier temps si tu débutes, car cette approche requiert de savoir manipuler des expressions régulières et compiler un programme avec une librairie.
Pour lire un fichier ligne par ligne voici un exemple :
https://cpp.developpez.com/faq/cpp/?page=Manipulation-des-fichiers#FICHIERS_lecture_par_ligne
Bonne chance
Eh ben ce serait sympa d'en faire part, afin que quelqu'un qui rencontre le même problème puisse le résoudre avec ce post :-)
D'avance merci
D'avance merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici le programme que j'ai fait j'ai retirer qlq lignes de codes qui encombraient pour rien les explications.
J'ai mis des commentaires pour expliquer chaque instruction en rapport avec le fichier excel(fopen,fprintf,fclose).
#include<stdio.h>
int coca,orangeade,limonade,biere,kriek,eaupl,eaupe,billet,rendre,cmd,x;
float total,stot1,stot2,stot3,stot4,stot5,stot6,stot7,caisse;
float boncmd (int x, float y);
/*Déclaration du fichier .txt*/
FILE *fp;
main()
{
cmd=1;
while (cmd < 9999)
{
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCoca : 1,5 x ");
scanf("%d",&coca);
stot1 = 1.5 * coca;
printf("\nKriek : 1,5 x ");
scanf("%d",&kriek);
stot5 = 2 * kriek;
total = stot1stot5;
printf("\n\nTotal = %.1f",total);
caisse = caisse + total;
/*Appel fonction pour suavegarder dans un fichier excel*/
boncmd (cmd,total);
while (billet<total)
{
printf("\nArgent recu :");
scanf("%d",&billet);
}
printf("\nA rendre : %.1f",billet-total);
cmd++;
getch();
}
}
/*Fonction pour sauvegarder les valeurs dans un fichier excel*/
float boncmd (int x,float y)
{
/*fopen permet d'ouvrir le fichier excel*/
fp = fopen ("essai1.xls","a+");
/*fprintf permet d'inscrire les valeurs dans le fichier excel*/
fprintf(fp,"%d \t %f \n",cmd,total);
/*fclose permet de fermer le fichier excel*/
fclose(fp);
return 0;
}
J'ai mis des commentaires pour expliquer chaque instruction en rapport avec le fichier excel(fopen,fprintf,fclose).
#include<stdio.h>
int coca,orangeade,limonade,biere,kriek,eaupl,eaupe,billet,rendre,cmd,x;
float total,stot1,stot2,stot3,stot4,stot5,stot6,stot7,caisse;
float boncmd (int x, float y);
/*Déclaration du fichier .txt*/
FILE *fp;
main()
{
cmd=1;
while (cmd < 9999)
{
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCoca : 1,5 x ");
scanf("%d",&coca);
stot1 = 1.5 * coca;
printf("\nKriek : 1,5 x ");
scanf("%d",&kriek);
stot5 = 2 * kriek;
total = stot1stot5;
printf("\n\nTotal = %.1f",total);
caisse = caisse + total;
/*Appel fonction pour suavegarder dans un fichier excel*/
boncmd (cmd,total);
while (billet<total)
{
printf("\nArgent recu :");
scanf("%d",&billet);
}
printf("\nA rendre : %.1f",billet-total);
cmd++;
getch();
}
}
/*Fonction pour sauvegarder les valeurs dans un fichier excel*/
float boncmd (int x,float y)
{
/*fopen permet d'ouvrir le fichier excel*/
fp = fopen ("essai1.xls","a+");
/*fprintf permet d'inscrire les valeurs dans le fichier excel*/
fprintf(fp,"%d \t %f \n",cmd,total);
/*fclose permet de fermer le fichier excel*/
fclose(fp);
return 0;
}
bein mon probléme ds cet exercice c la partie sauvegarde du jeu je doi faire le programme en langage c ki concerne la sauvergarde é g beaucoup de mal jéspére ke tu poura médé kilian ou kelkun dotre merci
On reprend là sur le sujet initial:
http://www.commentcamarche.net/forum/affich 2238363 aide jeu en language c
http://www.commentcamarche.net/forum/affich 2238363 aide jeu en language c