Programme C (Sauvegarde des valeurs

Résolu/Fermé
chrichnou051 Messages postés 152 Date d'inscription samedi 27 janvier 2007 Statut Membre Dernière intervention 30 décembre 2010 - 12 janv. 2008 à 10:54
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 16 mai 2008 à 11:16
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
A voir également:

9 réponses

eee.eee Messages postés 69 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 15 septembre 2009 20
17 janv. 2008 à 18:34
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;
2
eee.eee Messages postés 69 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 15 septembre 2009 20
12 janv. 2008 à 14:30
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
......
1
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
17 janv. 2008 à 23:51
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
1
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
18 janv. 2008 à 14:20
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
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
20 janv. 2008 à 15:34
Merci !
1
chrichnou051 Messages postés 152 Date d'inscription samedi 27 janvier 2007 Statut Membre Dernière intervention 30 décembre 2010 3
12 janv. 2008 à 15:06
Merci pour cette réponse
Mais justement comment faire pour les sauvegardez dans un fichier .txt?
0
chrichnou051 Messages postés 152 Date d'inscription samedi 27 janvier 2007 Statut Membre Dernière intervention 30 décembre 2010 3
18 janv. 2008 à 13:38
merci bien pour vos reponses mais j'ai trouver la reponse qu'il me fallait
0
chrichnou051 Messages postés 152 Date d'inscription samedi 27 janvier 2007 Statut Membre Dernière intervention 30 décembre 2010 3
19 janv. 2008 à 10:53
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;
}
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
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 mai 2008 à 11:16
0