IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

base de données / programme de banque


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut base de données / programme de banque
    bonjour à tous,

    je voulais créer un programme qui simule des opération de caisse dans une banque (retrait, dépot d'argent, et virement entre les comptes). Je voulais donc créer une base de données très simpliste. Je sais le faire en Java, mais en C je bute un peu.

    J'explique en gros ce que je voudrais faire :

    fichier "comptes.txt" :
    <
    1:125.5;
    2:50;
    3:0;
    4:-12;
    ...
    >

    le compte n°1 est créditeur de 125.5€, le 2e de 50 , etc ...

    en Java, on utilise des délimiteurs (ici ce sera ";" et ":") et une fonction tokenhiser (orthographe... ) pour bien séparer le numéro de compte de l'argent qui se trouve dessus ... Avec la fonction fwrite on lit ensuite le fichier "compte.txt"

    On peut alors utiliser les données du fichier, les manipuler, puis réecrire dans le fichier .

    Le problème est que je voudrais créer mon interface en C, mais je ne sais pas comment lire un fichier comptes.txt

    Merci .

  2. #2
    Membre confirmé Avatar de Beldom
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 63
    Par défaut
    Utilise la fonction fopen pour ouvrir ton fichier (en lecture), puis la fonction fread pour le lire
    Enfin, ferme le avec fclose

    Enfin ca c'est juste pour l'ouverture/lecture/fermeture ^^

    Pour plus de détails, les man des fonctions :
    http://www.linux-kheops.com/doc/man/...3/fopen.3.html
    http://www.linux-kheops.com/doc/man/...3/fread.3.html
    http://www.linux-kheops.com/doc/man/.../fclose.3.html

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    fwrite/fread sont plus souvent associés à des flux binaires, même s'ils peuvent faire les deux. Moi je conseillerais plutôt de lire le fichier ligne par ligne avec fgets ce qui te permettrait même de ne pas avoir besoin du séparateur ; s'il était prévu pour séparer les lignes et savoir où commence la prochaine

    La ligne courante lue avec fgets est stocké dans un tableau de char et tu peux donc après en faire ce que tu veux comme tokenizer avec la fonction strtok
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2002
    Messages : 290
    Par défaut
    strtok pour les token...
    pas evident à utiliser pour un débutant, et peut-être pas très interessant quand il n'y a qu'un token, mais bon c'est un exercice non ?

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut
    ok si j'ai bien compris je fais un fopen("comptes.txt"), puis j'utilise fgets pour lire le fichier ligne par ligne ...

    Citation Envoyé par Franck.H
    La ligne courante lue avec fgets est stocké dans un tableau de char et tu peux donc après en faire ce que tu veux comme tokenizer avec la fonction strtok
    j'ai cliquez sur le lien que tu m'as filé :
    char * fgets (char * s, int size, FILE * stream);
    je ne sais pas trop quoi rentrer en parametre

    Pour ce qui est de la fonction "strtok" je verrai apres, une fois que j'aurais déja toute ma ligne

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par olivier1209
    j'ai cliquez sur le lien que tu m'as filé :
    char * fgets (char * s, int size, FILE * stream);
    je ne sais pas trop quoi rentrer en parametre
    Les paramètres dans l'ordre:
    1. Buffer où sera stocké la ligne courante. Généralement un simple tableau de char statique de taille suffisante.
    2. Taille du buffer
    3. Pointeur sur le flux ouvert vers ton fichier.


    On peut lire un fichier par exemple par une boucle ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while (fgets (buf, sizeof buf, fichier) != NULL)
    {
       /* Action... */
    }
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2002
    Messages : 290
    Par défaut
    s est la chaine dans laquelle tu reçois le resultat.
    size est le nombre maximum de caractères devant être lus (si je ne trompe pas cela signifie que s doit avoir une taille d'au moins size+1) et enfin stream est l'endroit d'où tu lis (renvoyé par le fopen)

  8. #8
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut
    ok merci beaucoup je vais essayer

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par olivier1209
    <...>Je sais le faire en Java, mais en C je bute un peu.
    <...>
    Le problème est que je voudrais créer mon interface en C, mais je ne sais pas comment lire un fichier comptes.txt
    Si tu veux programmer en C, le mieux est d'apprendre à le faire. Il y a des références de livres et de tutoriels sur ce site (et sur le mien).

Discussions similaires

  1. Conception d'une base de donnée pour une banque
    Par simo1050 dans le forum Modélisation
    Réponses: 3
    Dernier message: 07/11/2007, 16h34
  2. Réponses: 3
    Dernier message: 12/01/2006, 18h47
  3. création d'une base de donnée par programme
    Par lassad dans le forum Bases de données
    Réponses: 9
    Dernier message: 18/10/2005, 16h36
  4. programme Delphi permettant la création de base de donnée
    Par lassad dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/10/2005, 14h06
  5. [VB.NET] Programmer la creation base de données
    Par papy27 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 02/09/2004, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo