Mini projet gestion de Banque [Fermé]

Signaler
-
 Teles -
Bonjour,

J'espère que vous allez tous bien.
J'ai un mini projet pour l'école où je dois écrire un programme pour la gestion d'une banque.
Le programme devrait permettre d'effectuer les opérations suivantes:
Menu avec Choix:
1- Ajouter un compte
2- Rechercher un Compte
3- Afficher tous les comptes
4- Débiter un compte
5- Créditer un compte
6- Effectuer un virement
7- Quitter le programme

J'ai essayé de faire les fonctions qui vont avec mais je n'arrive pas à trouver ce qui cloche. Je ne peux même pas afficher tous les comptes crées.

Si quelqu'un pouvait jeter un coup d'oeil et me dire ce qui ne va pas et comment bien écrire.

Le programme est bien indenté mais lors de la previsualisation et de la validation, l'indentation a disparu.

Merci beaucoup.

Le programme ci dessous:

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


//Définition d'une structure CompteBancaire caractérisé par son numéro, son solde, le nom et l'adresse du titulaire.

typedef struct CompteBancaire {
char nom[10];
char adresse[30];
int numero;
int solde;
}CompteBancaires;

CompteBancaires * c;

//Methode ajouterCompte(CompteBancaire c) qui ajoute le compte cree dans le tableau des comptes

int taille_courante = 0,taille,num;

void ajouterCompte (char * nom, char * adresse, int num, int solde){

strcpy (c[taille_courante].nom, nom);
strcpy (c[taille_courante].adresse, adresse);
c[taille_courante].numero==num;
c[taille_courante].solde==solde;
taille_courante++;
}


//méthode CompteBancaire rechercherCompte(int numero) qui recherche un compte par son numéro et retourne celui-ci s'il est dans la liste des comptes ou null dans le cas contraire

char * rechercheCompte(int numero){
int i;
if (taille=0)
printf( "Pas de compte ouvert.");
else {
for (i=0; i < taille_courante; i++)
if (c[i].numero == num)
return "c[i].number";
}
if (i > taille_courante)
return "null";
}


//une méthode afficherTous() pour afficher convenablement la liste des comptes

void afficherTous(){
int i;
printf ("Affichage de tous les comptes:\n");
for (i=0; i < taille_courante; i++){
printf ("\nInformation compte %d", i);
printf ("\nProprietaire: %s", c[i].nom);
printf ("\nAdresse: %s", c[i].adresse);
printf ("\nNumero de compte: %d", c[i].numero);
printf ("\nSolde du compte: %d\n", c[i].solde);
}
}

void debiterCompte(int montant){
int solde;
printf ("Veillez saisir le montant a debiter: ");
scanf ("%d", &montant);
if (solde > montant){
solde = solde - montant;
printf("Votre solde est de %d FCFA.", solde);
}
else
printf("Votre solde est insuffisant pour effectuer cette operation");

}
void crediterCompte(int montant){
int solde=0;
printf ("Veillez saisir le montant a debiter: ");
scanf ("%d", &montant);
solde = solde + montant;
printf("Votre solde est de %d FCFA.", solde);

}

int main () {
int choix, num,solde=0,i,montant;
char nom[15], adresse[50];

printf("Donner le nombre total de comptes: ");
scanf("%d", &taille) ;

system("cls");

menu: printf("********************* Gestion de Comptes Bancaires **********************\n");
printf("** **");
printf("\n** 1. Ajouter un compte. **");
printf("\n** 2. Rechercher un compte. **");
printf("\n** 3. Afficher tous les comptes. **");
printf("\n** 4. Debiter un compte. **");
printf("\n** 5. Crediter un compte. **");
printf("\n** 6. Effectuer un virement. **");
printf("\n** 7. Quitter le programme. **");
printf("\n** **");
printf("\n*****************************************************************************\n");


do{
printf("\nVeuillez choisir une operation a effectuer: ");
scanf("%d", &choix);
}while(choix > 7 || choix < 0);

// Allocation dynamique de la mémoire

c = (CompteBancaires*)malloc(taille*sizeof(CompteBancaires)) ;


switch (choix)
{
case 1:
printf("\nDonner le nom du titulaire du compte: ");
scanf("%s", nom);
printf("\nDonner son adresse: ");
scanf("%s", adresse);
printf("\nDonner son numero de compte: ");
scanf("%d", &num);
printf("\nDonner le solde du compte: ");
scanf("%d", &solde);

ajouterCompte(nom, adresse, num, solde);

printf("\nUn compte a ete cree au nom de %s.\n", nom);
system("pause");
printf("\nAppuyer sur une touche pour continuer...\n");
system("cls");
goto menu;
break;
case 2:
printf ("\nDonner le numero du compte a rechercher: ");
scanf ("%d", &num);
printf("%d",rechercheCompte(num));
system("pause");
printf("\nAppuyer sur une touche pour continuer...\n");
system("cls");
goto menu;
break;
case 3:
afficherTous();
system("pause");
printf("\nAppuyer sur une touche pour continuer...\n");
system("cls");
goto menu;

break;
case 4:
printf("Choisissez le compte a debiter.");
scanf("%d", &montant);
debiterCompte(montant);
break;
case 5:
printf("Choisissez le compte a crediter.");
scanf("%d", &montant);
crediterCompte(montant);
break;
case 6:
printf("Virement compte a compte: \n");
printf("Choisissez le compte a debiter: ");
scanf("%d", &montant);
debiterCompte(montant);
printf("\nChoisissez le compte a crediter: ");
scanf("%d", &montant);
crediterCompte(montant);
system("pause");
break;
case 7:
printf("\nMerci Aurevoir et a bientot!\n");
system("exit");
break;
}


}


3 réponses

Messages postés
32
Date d'inscription
mercredi 19 juin 2013
Statut
Membre
Dernière intervention
13 juillet 2014
7
pour t'aider voila un exemple mon programme des Etudiant ici






https://tutodev1.blogspot.com/2013/06/gestion-des-etudiants.html
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 79489 internautes nous ont dit merci ce mois-ci

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 675
Ouais, mais comme déjà dit, ce programme n'est pas terrible ;-).
De plus, ça lui explique pas d'où viennent ces erreurs ^^.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 675
Bonjour,

Alors, déjà, je te conseille d'éviter les goto. Cela n'est vraiment pas terrible d'un point de vue algorithmique. Fais d'autres fonctions à la place. Ou un while. Bref, tu peux t'en passer facilement.

CompteBancaires * c;

//Methode ajouterCompte(CompteBancaire c) qui ajoute le compte cree dans le tableau des comptes

int taille_courante = 0,taille,num;

Il vaut mieux éviter les variables globales. Très mauvaises habitudes.
Pour info, ajouterCompte() n'est pas une méthode mais une fonction. Les méthodes sont propres au paradigme objet.

char * rechercheCompte(int numero){
int i;
if (taille=0)
...
return "null";

Attention, taille=0 affecte taille à 0 et renvoie 0 (faux). Donc cette boucle n'a jamais lieu. L'opérateur de comparaison est ==. Ce qui donne if(taille==0)
Mets plutôt return NULL; (à la place de "null"). Ca sera mieux.

c = (CompteBancaires*)malloc(taille*sizeof(CompteBancaires)) ;
Le cast est superflu.

Et enfin, main() renvoie un 0 : return 0.

Voilà pour les erreurs que j'ai vues rapidement. Si tu as toujours des erreurs, reposte ton code avec les corrections et poste-le entre deux balises "code" (bouton <> à droite du bouton "Souligné" (S)).
Cdlt,
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 79489 internautes nous ont dit merci ce mois-ci

Bonjour à tout le monde et merci pour vos suggestion, je vais essayer de
modifier le programme.

A Karara20,
merci pour ton programme qui pourra bien me guider. Peux tu l'avoir en C++?
Cordialement.