Rechercher : dans
Par :

Programme C (Sauvegarde des valeurs

chrichnou051, le 12 jan 2008 à 10:54:25
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista
Internet Explorer 7.0
Dev-C++

Meilleures réponses pour « Programme C (Sauvegarde des valeurs » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Les variables en C++ VoirLes variables en C++ 1. Les différents types de variables 1.1 bool 1.2 char 1.3 unsigned short int 1.4 short int 1.5 unsigned long int 1.6 long int 1.7 int (16 bits) 1.8 int (32 bits) 1.9 unsigned int (16 bits) 1.10 unsigned int (32...
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...

1

eee.eee, le 12 jan 2008 à 14:30:33

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
......

2

chrichnou051, le 12 jan 2008 à 15:06:13

Merci pour cette réponse
Mais justement comment faire pour les sauvegardez dans un fichier .txt?

3

eee.eee, le 17 jan 2008 à 18:34:47

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;

4

mamiemando, le 17 jan 2008 à 23:51:06

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 :
http://cpp.developpez.com/faq/cpp/?page=fichiers#FICHIERS_lecture_par_ligne

Bonne chance

5

chrichnou051, le 18 jan 2008 à 13:38:31

Merci bien pour vos reponses mais j'ai trouver la reponse qu'il me fallait

6

mamiemando, le 18 jan 2008 à 14:20:32

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

7

chrichnou051, le 19 jan 2008 à 10:53:22

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;
}

8

mamiemando, le 20 jan 2008 à 15:34:44

Merci !

15

al, le 16 mai 2008 à 11:13:37

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

16

 kilian, le 16 mai 2008 à 11:16:20