begin process at 2012 02 08 09:15:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Lecture/écriture


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lecture/écriture

lundi 30 août 2004 à 11:11:17 | Lecture/écriture

bethany

Bonjour à tous,

J'essai de résoudre un exercice que nous devons faire pour l'école en C (pas C++).

Il s'agit de récupérer un 'double' que l'utilisateur tape au clavier, puis que le chiffre tapé soit inscrit en direct sur un fichier txt.
voici l'enoncé du prof:
"écrivez un programme qui lit des double au clavier et qui les écrit dans un fichier au fur et a mesure de la saisie, puis qui relit le fichier et affiche les nombres à l'écran. [b] On interrompra la saisie en saisissant un 0. [\b]
En cours nous avons vu: fgets, fgetc, fputs, fprintf, fscanf, fopen, fclose...

Si quelqu'un pouvait m'aider pour l'écriture en direct je ne vois pas du tout comment faire :(

Merci a tous :)
Bethany
lundi 30 août 2004 à 12:34:43 | Re : Lecture/écriture

LordBob

Membre Club
un exercice pour l'école tu fais quoi? bon sinon je vais essayer de t'aider, voici le code que tu demandes (attention: il peut contenir des erreurs):

#include <stdio.h>

int main(int argc, char** argv)
{
FILE *fp; // pointeur sur le fichier a ecrire
double saisie; // var pour la saisie

if(fp=fopen("nomdufichier.ext", "a+b") == NULL) // si erreur
exit(0); // on quitte

while(saisie!= 0) // boucle de saisie
{
printf("Tapez un nombre: ");
scanf("%d", &sasie); // on range saisie dans variable

if(saisie != 0) // si different de 0
{
fprintf(fp, "%d", &saisie); // ecrirture du nombre dans le fichier
printf("%d", &saisie); // on affiche le nombre
}
else
{
fcloase(fp); // ferme fichier
exit(0); quitte programme
}
}

return 1;
}


Bob...

"La chance accorde ses faveur aux esprits avertis..."
lundi 30 août 2004 à 14:16:37 | Re : Lecture/écriture

djl

a mon avis ca doit etre une faute de frappe

fprintf(fp, "%d", saisie);

au lieu de

fprintf(fp, "%d", &saisie);



ce qui pourrait etre embettant c'est

scanf("%d", &saisie);

le probleme c'est qu'il faut toujours lire ce qu'on saisie, la tu lis un entier et si l'utilisateur fais une saisie erronée (par exemple un caractere, ca arrive) ca ne sera pas lu et restera dans le stream jusqu'a ce que ca soit lu, donc risque de boucle infinie

une solution serait de faire

if( scanf("%d", &saisie) == EOF ) while( fgetc(stdin) != EOF );

mais dans l'optique de "toujours lire ce qu'on saisie", il faudrait toujours saisir ce qui vient d'une saisie utilisateur (donc pas forcement stdin, ce qui compte c'est si on peut assurer le formatage predeterminer) avec fgets et de parser le formatage avec sscanf

je dis ca surtout parce que c'est un exercice
lundi 30 août 2004 à 14:43:23 | Re : Lecture/écriture

bethany

Tout dabord merci a LordBob et a Djl pour leur intervention c'est très gentil d'essayer de m'aider...

J'ai testé ton programme LordBob, et j'obtiens un truc pas mal du tout:

Tapez un nombre: 12345
1245044Tapez un nombre:

Donc ormis la mise en forme sans les \n, il est évident qu'il y a un petit bug dans la boucle while je pense parce que ca ne ressort pas le nombre que j'ai entré (d'ailleurs le nombre 1245044 reste toujours le meme)...

Je vais continuer sur ce bout de code et essayé de comprendre.


AVIS AUX AMATEURS, si quelqu'un a une illumanation sur l'erreur, qu'il hésite pas a me faire signe :)

Bonne apres midi!
Bethany

lundi 30 août 2004 à 14:49:07 | Re : Lecture/écriture

bethany

A oui aussi LordBob, je suis en DUT GEII (Genie electrique et informatique industrielle) en alternance 2 mois/ 2 mois et je vais rentrée en 2 année a partir du 13 septembre.
Et comme a mon taf je n'ai pas de boulot en programmation, et bien je commence mes exo, comme ca je n'aurais pas a les faire apres :)
lundi 30 août 2004 à 15:07:40 | Re : Lecture/écriture

magic_Nono

Membre Club
Bob

fopen("nomdufichier.ext", "a+b")

a+b, tu es sur???

sinon, initialise saisie a une val non nulle

fprintf(fp, "%d", saisie); // ecrirture du nombre dans le fichier
printf("%d", saisie); // on affiche le nombre


et C fclose à la fin !

Magic Nono: l'informagicien!
lundi 30 août 2004 à 15:13:52 | Re : Lecture/écriture

bethany

Moi a la place de 'a+b' j'ai mis 'w' mais le programme n'écrit pas dans le fichier... Bizarre !!!

Et puis un double correspond a un int??? parce que on a mis %d et pas %f ... ???
lundi 30 août 2004 à 15:16:05 | Re : Lecture/écriture

magic_Nono

Membre Club
"puis qui relit le fichier et affiche les nombres à l'écran."

1> écrire
fopen (..,"w");
recup données
écritures fprintf
fclose(..)
fermer le fichier

2>
fopen (..,"r");
lectures fscanf
affichages
fclose(..)


!!!! pas avec les mm var !!!!


=> conseil

main
{
{
//(1)
}
{
//(2)
}
}

++
Magic Nono: l'informagicien!
lundi 30 août 2004 à 15:17:44 | Re : Lecture/écriture

magic_Nono

Membre Club
%f effectivt

Bob a fait vite...
y va se faire tirer les oreilles le galopin

Magic Nono: l'informagicien!
lundi 30 août 2004 à 15:19:02 | Re : Lecture/écriture

magic_Nono

Membre Club
le prg ecrit le fichier à sa fermeture !!!!



Magic Nono: l'informagicien!

1 2

Cette discussion est classée dans : fichier, lecture, clavier, double, écriture


Répondre à ce message

Sujets en rapport avec ce message

Lecture/écriture de fichier .INI sous Unix? [ par Samprayoga ] Bonjour à tous,C'est mon premier message sur ce forum, alors je vais essayer d'être clair.J'aimerais savoir s'il existe ou si quelqu'un a déjà impléme lecture écriture dans un fichier formaté [ par borgeomi ] borgeomibonjouuuuuuur !!!!!Vieux programmeur C et COBOLJe voudrais écrire un programme orientée objet qui lit et écrit dans un fichier structuré( Equi lecture écriture dans un fichier [ par debutantprog ] bonjourmon pb n'est pas bien original et je cherche toujours parmis les réponses déjà proposés ue solution seulement les différents programmeurs n'uil accélérer la lecture / écriture dans un fichier [ par infodaoudi ] Bonjour ,j'ai un programme qui utilise des entrée/sortie lecture écriture dans un fichier de taille très grande 20 go,y-il un moyen pour accélérer le Détection de la fin d'écriture d'un fichier par un autre programme [ par nanard1402 ] Lecture écriture cellules Excel avec Builder6 [ par bibilbibil ] Bonsoir, <span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: FR; ms Simuler une execution [ par keket ] Bonjour, j'ai une question : je désire simuler l'execution d'une lecture et d'une écriture grâce a des threads. Mon programme marche, mais j'ai un pro lecture de fichier format pcap [ par kirakira ] je veux savoir comment réaliser a l'aide d'un programme en c ou en c++ une connexion avec un fichier de format  *.pcap , aussi comment  peut on créer  lecture d'un fichier texte [ par infodaoudi ] Bonjour,au fait j'ai un fichier texte remplie de float, il est de la forme1.2 1.3 22.3au fait c'est des floats separées par des espacesje cherche à li Lecture d'un Benchmark en C [ par komanetchi ] Bonjour tout le monde,J'ai un problème concernant la lecture d'un fichier .txt. Ce fichier est un benchmark que je n'arrive pas a l'ouvrir en lecture.


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,182 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales