Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1708 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Probleme variable fichier [ langage C ]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme variable fichier [ langage C ]

n°1970837
x4re
Posté le 03-03-2010 à 13:00:37  profilanswer
 

Bonjour tout le monde,
 
Voila j'ai commencé le C début octobre.Et dans le cadre de notre cours je dois "creer" une "caisse enregistreuse" pour un bar.
Et j'aimerai avoir l'aide d'une ou plusieurs personnes pour monter a bien ce projet.
 
Par de l'aide je veux dire que si je suis coincé dans un bout de code on ne me donne pas la reponse mais une direction a prendre.
 
Est-ce possible ? :):


Message édité par x4re le 03-03-2010 à 14:51:00
mood
Publicité
Posté le 03-03-2010 à 13:00:37  profilanswer
 

n°1970838
TotalRecal​l
Posté le 03-03-2010 à 13:11:20  profilanswer
 

Ben non, cf les règles du forum [:spamafote].
Travaille déjà par toi même et viens avec des questions précises lorsque tu buteras sur quelque chose de précis...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°1970871
x4re
Posté le 03-03-2010 à 15:01:07  profilanswer
 

Ok Ca marche j'ai un petit soucis deja je poste ici si je dois reouvrir un topic dites le moi :) .  
 
 
j'aimerai  
 
Creer un fichier de type .txt avec pour forme  
 
25:coca[1,00]
42:looza[1.20]
46:biere[0.80]
 
Le premier chiffre etant le nombre de ex: coca restant , et le chiffre entre crochet le prix.
J'aimerai récupérer ces deux variables comment faire ? :s  
 
j'ai comme idée de mettre fscanf
mais je ne vois pas la methode a utiliser .
 
 
 
 
Merci d'avance

Message cité 1 fois
Message édité par x4re le 03-03-2010 à 15:08:53
n°1970879
ptitchep
Posté le 03-03-2010 à 15:38:37  profilanswer
 

en vrac fopen, fclose, fgets, sscanf (ou autres, gros doute soudain sur la méthode en C), strtof


---------------
deluser --remove-home ptitchep
n°1970923
TotalRecal​l
Posté le 03-03-2010 à 17:32:54  profilanswer
 


Avoir su recopié l'énoncé c'est plutôt léger comme recherche personnelle avant de venir poser des questions...
http://www.google.fr/search?q=mani [...] =firefox-a
Bon courage...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°1970951
x4re
Posté le 03-03-2010 à 19:06:38  profilanswer
 

Non mais j'ai cherché, J'ai compris qu'il faut par exemple pour 20:coca[1,50] .  
 
Je lance la lecture caractere par caractere jusque le ":" et apres je transorfme avec atoi() mais je ne comprends pas comment faire par exemple si je choisit sprite qui est troisieme dans ma liste aller chercher directement le 3 sortir le pric et le nombre :s

n°1971046
Sve@r
Posté le 04-03-2010 à 08:33:10  profilanswer
 

x4re a écrit :

Non mais j'ai cherché, J'ai compris qu'il faut par exemple pour 20:coca[1,50] .  
 
Je lance la lecture caractere par caractere jusque le ":" et apres je transorfme avec atoi()


 
Ton principal problème c'est que ta ligne possède deux séparateurs différents. T'as d'un coté les deux-points séparant la qté de l'objet, et de l'autre les crochets séparant l'objet de son prix. Or si tu regardes bien les outils classiques de ces genres de fichiers, tu verras que le séparateur est toujours le même. Il peut être choisi par l'utilisateur mais une fois choisi, il reste identique pour tous les éléments (je veux parler ici de l'outil de conversion de tableur en CSV)
 
Alors ça peut se faire bien sûr, mais tu galèreras plus que si tu utilises le même séparateur style 20:coca:1,50
Là tu pourras utiliser un outil fabuleux nommé strtok_r() qui se chargera lui-même du découpage et te donnera dans une petite boucle les items
- 20
- coca
- 1,5
Donc avant de continuer dans cette voie, dis-nous si tu as possibilité de te mettre plus aux standards habituels...
 

x4re a écrit :

mais je ne comprends pas comment faire par exemple si je choisit sprite qui est troisieme dans ma liste aller chercher directement le 3 sortir le pric et le nombre :s


Ton sprite n'est pas dans ton exemple initial. Pas évident de t'aider si tes exemples changent en cours de route et que tu ne nous les redonnes pas. Si je comprends bien, ta 3° ligne contient 3:sprite[x,y]
 
Le problème du C c'est qu'il est très bas niveau. Tes seuls outils de traitement de fichier sont
- lire un caractère
- lire x caractères
- lire une ligne
- se déplacer de x caractères en avant ou en arrière ou à partir du début ou de la fin
 
Donc faut que tu t'en sortes juste avec ça. A partir de là, t'as que deux possibilités
1) tu te crées ton propre index qui mémorise les items et leur position dans le fichier. Ensuite, quand tu cherches un item style "sprite", ton index te donne la position du premier caractère de la ligne donc tu peux y aller grâce à fseek() puis lire et traiter la ligne grâce à fgets() puis ta fonction perso qui en extrait les infos
2) à chaque fois que tu cherches un item, tu te mets au début du fichier avec fseek() et tu lis chaque ligne avec fgets() puis tu traites la ligne avec ta fonction perso et si tu trouves "sprite" tu fais ce qu'il faut
 
Tu remarqueras que dans les deux cas, j'ai parlé de ta fonction perso qui analyse la ligne. Tu t'en sortiras effectivement toujours mieux si tu écrits de petites fonctions dédiées à un traitement que tu pourras utiliser un peu partout plutôt qu'un gros bloc imbitable et non réutilisable. A toi de découper ton problème en tâches simples pouvant être dévolues à de petites fonctions individuelles.


Message édité par Sve@r le 04-03-2010 à 09:00:06

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1971291
x4re
Posté le 04-03-2010 à 23:23:02  profilanswer
 

okok Merci beaucoup je vais plancher sur ca demain :)  
 
Bonne soirée


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Probleme variable fichier [ langage C ]

 

Sujets relatifs
[php] Problème d'include et génération d'image (résolu)problème avec itérator c++
[edit] probleme de submitAccess - lire les propriétés du fichier .mdb (auteur, sujet....)
[C] Petites questions (débutant)[BATCH] Problème de manipulation de variables avec NIRCMD
SDL + Cbatch date de création de fichier
langage C transformée de Hough 
Plus de sujets relatifs à : Probleme variable fichier [ langage C ]


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR