Projet Banque en C [Fermé]

Messages postés
2
Date d'inscription
mardi 15 mai 2018
Statut
Membre
Dernière intervention
18 mai 2018
- - Dernière réponse : [Dal]
Messages postés
5169
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 juillet 2019
- 18 mai 2018 à 17:27
Bonjour a tous j'ai un projet de gestion de banque en language C je souhaite que vous m'aidez. Voila CE que j doit avoir
1-Creation compete
2-Recherche compete
3-Affichage compete
4-Operation compete
5-Affichage operation compete
6-Fermeture compete
7-Quitter
Afficher la suite 

3 réponses

Messages postés
25993
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 juillet 2019
1720
Messages postés
5169
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 juillet 2019
786
0
Merci
Salut Maluseck,

Bienvenue sur le forum :-)

Pour obtenir un affichage comme celui que tu postes, il suffit de faire un printf (en supposant que ton programme doive interagir avec l'utilisateur avec les entrées/sorties standard sur la console) :

    printf("1-Creation compete\n2-Recherche compete\n3-Affichage compete\n4-Operation compete\n5-Affichage operation compete\n6-Fermeture compete\n7-Quitter\n");

ou, pour faire plus joli dans le code source et visualiser mieux le menu ce que l'on crée :

    printf(
            "1-Creation compete\n"
            "2-Recherche compete\n"
            "3-Affichage compete\n"
            "4-Operation compete\n"
            "5-Affichage operation compete\n"
            "6-Fermeture compete\n"
            "7-Quitter\n"
          );

j'ajouterai qu'il faut probablement remplacer les "compete" par "compte", mais je te laisse juge de cette modification ;-)

Plus sérieusement, si tu as besoin d'aide pour autre chose, explique ce qui te pose problème et, certainement, un membre du forum pourra tenter de t'aider ou te guider. Le lien donné par Jordane te donne des indications sur la façon de poser tes questions relatives à des exercices sur CCM.

Dal
Maluseck
Messages postés
2
Date d'inscription
mardi 15 mai 2018
Statut
Membre
Dernière intervention
18 mai 2018
-
C'est ta dire la syntaxe pour crée le compte et l'affichage des opérations de la compte
Messages postés
5169
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 juillet 2019
786
0
Merci
Bonjour Malusek,

Tu dis que ce qui te pose problème, c'est la syntaxe pour crée le compte et l'affichage des opérations de la compte.

Il n'y a pas de syntaxe particulière en langage C pour créer des compte ou afficher des opérations sur un compte, car c'est un langage généraliste, pas spécialement créé pour réaliser des applications bancaires. Il faut programmer tout cela avec les possibilités offertes par le langage C.

Si tu as commencé à programmer quelque chose et que tu es bloqué sur une erreur ou sur quelque chose, poste ton code et explique sur quoi tu bloques, car ce n'est pas l'objet du forum que de faire l'exercice à ta place.

Cependant, dans ce genre de projet, le code ne vient pas en premier, et si tu ne sais pas par où commencer, c'est peut-être parce que tu ne commences pas par le commencement.

Un bon commencement est de raisonner par rapport aux données du domaine que tu traites, puis de réfléchir à la structure de données adéquate, et ensuite de coder.

Dans ce genre d'application, les données sont centrales.

Ainsi, même si tu fournis peu d'informations sur le sujet de ton projet, ont peut comprendre que :

- tu fais un logiciel pour une "banque"
- une banque peut gérer plusieurs "clients"
- les clients peuvent avoir plusieurs "comptes" dans cette banque
- chaque compte reçoit des "opérations" de débit ou de crédit
- ...

Puis, interroge toi sur les relations entre ces différents concepts et sur les actions qui les mettront en oeuvre, ce qui t’amènera aux fonctionnalités (qui doivent au moins contenir ce qui est affiché par le menu), puis au code. Tu devras certainement utiliser variables, tableaux, et/ou liste chaînées (ce sont des exemples de structures de données simples, à toi de voir), mettre dedans des struct, gérer la mémoire vive et/ou persistante, ...

Une vraie application traiterait aussi les clients de plusieurs types (professionnels, non professionnels), les comptes de plusieurs types (courant, épargne, assurance vie, etc.), les opérations de plusieurs types (mouvements par espèces, virement, carte bancaire, etc.), ...

Comme ce que tu fais ressemble à un exercice, et n'est pas un développement réel, tu devrais aussi de demander où tu arrêtes ton niveau de complexité ou de réalisme (demande à ton enseignant lorsque tu as un doute), ou décide là où tu mets les limites (si tu as cette possibilité) et écris le dans ta documentation de conception et d'utilisation.

Sinon, pour créer des listes chaînées et itérer dans une telle liste pour en afficher les éléments, tu as de nombreux sites avec des exemples de code.

Par exemple, sur CCM, on en parle là, pour des exemples de listes simplement chaînées plus ou moins complets :

https://www.commentcamarche.net/forum/affich-35337296-liste-chainee#9
https://www.commentcamarche.com/faq/7444-liste-simplement-chainee
https://www.commentcamarche.com/faq/7636-liste-doublement-chainee

Autrement, pour faire plus simple encore, si tu n'as pas besoin de gérer des insertions/retraits d'éléments, tu pourrais te contenter de tableaux dynamiques, et gérer tes données en déclarant un pointeur sur struct, et en allouant une capacité mémoire initiale pour n éléments avec alloc, et augmenter la capacité avec realloc lorsque tu approches de la limite. Ensuite, tu passes d'une struct à l'autre avec l'opérateur d'indexation
[ ]
, et parcourir les données se résume à parcourir les indices successifs du tableau.

Dal
[Dal]
Messages postés
5169
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 juillet 2019
786 -
Voilà un exemple de cette dernière technique :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXDESC 30

struct operation {
    double sum;
    char desc[MAXDESC];
};

int main(void) {
    int n;
    struct operation * ops;

    /* allocation pour 3 opérations */
    ops = malloc(sizeof(struct operation) * 3);
    if (ops == NULL)
        return 1;

    /* on crée des opérations */
    ops[0].sum = 500.0; strncpy(ops[0].desc, "Depot initial", MAXDESC);
    ops[1].sum = -12.50; strncpy(ops[1].desc, "Achat de truc", MAXDESC);
    ops[2].sum = -375.0; strncpy(ops[2].desc, "TIP Tresor Public", MAXDESC);

    /* on liste nos 3 opérations */
    for (n = 0; n < 3; n++)
        printf("| %-*s | %7.2f |\n", MAXDESC, ops[n].desc, ops[n].sum);

    /* on augmente la capacité à 4 et on ajoute une opération */
    struct operation * more_ops;
    more_ops = realloc(ops, sizeof(struct operation) * 4);
    if (more_ops == NULL)
        return 1;
    ops = more_ops;
    ops[3].sum = -40.0; strncpy(ops[3].desc, "Essence", MAXDESC);

    /* libération de la mémoire */
    free(ops);
    return 0;
}