Compte bancaire sous C/C++
Fermé
akanLG
Messages postés
3
Date d'inscription
mardi 4 novembre 2008
Statut
Membre
Dernière intervention
6 novembre 2008
-
4 nov. 2008 à 11:01
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 nov. 2008 à 15:20
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 nov. 2008 à 15:20
A voir également:
- Gestion de compte bancaire en c
- Supprimer compte instagram - Guide
- Compte facebook piraté - Guide
- Carte bancaire machine à laver ✓ - Forum Matériel & Système
- Créer un compte gmail - Guide
- Créer un compte google - Guide
3 réponses
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
6 nov. 2008 à 14:21
6 nov. 2008 à 14:21
C'est possible en C, bien sur. Mais dans le titre tu met C++, et avec des objets c'est plus simple pour ce genre de problème je trouve, surtout qu'il y a pas mal de conteneurs qui permettent de ne pas s'occuper de la mémoire, type string et vector.
Du coup ça allège pas mal la programmation.
Je viens de jeter un oeil à ton programme, tu fais n'importe quoi en plus. Exemple :
Bref, tu as tout intéret à tout revoir. à titre d'exemple, voici ce que ça donnerai en C++:
Ce n'est pas 100% C++, mais c'est au moins objet.
Du coup ça allège pas mal la programmation.
Je viens de jeter un oeil à ton programme, tu fais n'importe quoi en plus. Exemple :
void ouvrir_compte(FILE*compte,char titulaire[10])//utilisation de compte sans aucun intéret ! { bank fiche; //creation d'une fichier qui n'est pas modifié! char numero[5]; clrscr(); printf("\n--------Ouverture d\'un compte-------\n"); compte=fopen("C:\\comptes.dat","w+"); puts("Donner le nom du titulaire:"); gets(titulaire); puts("Lui attribuer un numero de compte:"); scanf("%s",&numero[5]); // modification de la chaine de caratère locale, en commençant par une casse en dehors du tableau : bonjour l'erreur mémoire. De plus, variable utilisé nulle par et détruite à la fin de la fonction flushall(); fwrite(&fiche,sizeof(bank),1,compte); //ecriture d'une fiche vide sur le fichier... fclose(compte); }
Bref, tu as tout intéret à tout revoir. à titre d'exemple, voici ce que ça donnerai en C++:
void bank::ouvrir_compte() { clrscr(); printf("\n--------Ouverture d\'un compte-------\n"); compte=fopen("C:\\comptes.dat","w+"); puts("Donner le nom du titulaire:"); gets(titulaire); puts("Lui attribuer un numero de compte:"); scanf("%s",numero); flushall(); fwrite(this,sizeof(bank),1,compte); fclose(compte); }
Ce n'est pas 100% C++, mais c'est au moins objet.
6 nov. 2008 à 14:36
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct
{
char titulaire[10];
char numero[5];
}
bank; /*création de type bank*/
void ouvrir_compte(void)
{ FILE*compte;
char titulaire[10];
bank fiche;
char numero[5];
clrscr();
printf("\n--------Ouverture d\'un compte-------\n");
compte=fopen("C:\\comptes.dat","w+");
puts("Donner le nom du titulaire:"); gets(titulaire);
puts("Lui attribuer un numero de compte:"); scanf("%s",&numero[5]);
flushall();
fwrite(&fiche,sizeof(bank),1,compte);
fclose(compte);
}
void consulter_compte()
{
FILE*compte;
bank fiche;
char trouve=0,num[5];
clrscr();
puts("-------Consultation de compte------\n");
flushall();
compte=fopen("C:\\comptes","r");
printf("Entrer le numero de compte:"); scanf("%s",&num[5]);
flushall();
while((fread(&fiche,sizeof(bank),1,compte))!=0&&(trouve==0))
{
if(strcmp(fiche.numero,num)==0)
{
trouve=1;
printf("Compte trouve !\n");
printf(" Nom:%s\nNumero de compte:",fiche.titulaire,fiche.numero);
}
}
if(trouve=0) printf("Compte inexistant!\n");
fclose(compte);
getch();
}
void cloturer_compte(void)
{
char numero[5];
char choix;
printf(" Entrez le numero du compte a supprimer \n");
gets(numero);
if(numero==NULL)
{
puts("Desole,ce compte n'existe pas");
}
if(numero!=NULL)
{
puts("Etes-vous sûr de vouloir supprimer ce compte?(O/n)");
scanf("%c",&choix);
if(choix=='O'||'o')
{
remove(numero);
printf("le compte numero %s a ete supprime avec succes\n",numero);
}
if(choix=='N'||'n')
{
printf("le compte numero %s n'a pas ete supprime\n",numero);
}
}
}
main()
{
char choix;
do
{
clrscr();
printf("Ouvrir un compte -->1\n ");
printf("Consulter un compte-->2\n");
printf("Cloturer un compte-->3\n");
scanf("%c",&choix);
flushall();
{
switch(choix)
{
case'1':ouvrir_compte();break;
case'2':consulter_compte();break;
case'3': cloturer_compte();break;
}
}
}
while(choix!='S');
getch();
}