Untitled
unknown
c_cpp
3 years ago
6.6 kB
14
Indexable
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct client
{
char numero_de_compte[30];
char mot_de_passe[30];
float solde;
};
void main()
{
int montant;
struct client clt,clt2;
FILE *fichier , *fichier2;
char nom_fichier[30],numero[30],mot_de_passe[30];
int choix, choix2;
char connect = 'o';
printf("\nBIENVENUE\n");
printf("\n1. SE CONNECTER");
printf("\n2. CREER UN NOUVEAU COMPTE");
printf("\n\nVOTRE CHOIX: ");
scanf("%d" , &choix);
switch(choix)
{
case 1:
printf("\e[1;1H\e[2J"); /*Meme chose que system("CLS") mais valable pour tous
les systémes d'exploiatation*/
printf("NUMERO DE COMPTE : ");
scanf("%s" , numero);
printf("\nMOT DE PASSE : ");
scanf("%s" , mot_de_passe);
strcpy(nom_fichier,numero);
fichier = fopen(strcat(nom_fichier,".txt"), "r");
if(fichier == NULL)
{
printf("\nCE COMPTE N'EXISTE PAS");
}
else
{
fread(&clt,sizeof(struct client),1,fichier);
fclose(fichier);
if(!strcmp(mot_de_passe,clt.mot_de_passe))
{
while(connect == 'o')
{
printf("\e[1;1H\e[2J");
printf("\n1.VOIRE VOTRE SOLDE");
printf("\n2.DEPOSER UNE SOMME D'ARGENT");
printf("\n3.RETIRER UNE SOMME D'ARGENT");
printf("\n4.TRANSFERE UNE SOMME D'ARGENT");
printf("\n VOITRE CHOIX : ");
scanf("%d" , &choix2);
switch(choix2){
case 1:
printf("\nVOTRE SOLDE EST %.2f MAD", clt.solde);
break;
case 2:
printf("\e[1;1H\e[2J");
printf("\nENTRER LA MONTANT QUI SERA DEPOSE : ");
scanf("%d" , &montant);
clt.solde += montant;
fichier = fopen(nom_fichier , "w");
fwrite(&clt,sizeof(struct client),1,fichier);
if(fwrite != 0) printf("VOUS AVEZ DEPOSER %d MAD" , montant);
fclose(fichier);
break;
case 3:
printf("\nENTRER LA MONTANT QUI SERA RETIRER : ");
scanf("%d" , &montant);
if(montant > clt.solde) printf("\nVOTRE SOLDE EST INSUFISANT");
else
{
clt.solde -= montant;
fichier = fopen(nom_fichier , "w");
fwrite(&clt,sizeof(struct client),1,fichier);
if(fwrite != 0) printf("VOUS AVEZ RETIRER %d MAD" , montant);
fclose(fichier);
}
break;
case 4:
printf("\nENTRER LE NUMERO DE COMPTE DU BENEFICIAIRE : ");
scanf("%s" , numero);
printf("\nLE MONTANT A TRANSFRER : ");
scanf("%d" , &montant);
if(montant > clt.solde) printf ("\nSOLDE INSUFISANT");
else
{
fichier2 = fopen(strcat(numero,".txt"),"r+");
if(fichier2==NULL) printf("CE COMPTE N'EXISTE PAS");
else
{
fread(&clt2,sizeof(struct client),1,fichier2);
fclose(fichier2);
clt2.solde += montant;
fichier2 = fopen(numero,"w");
fwrite(&clt2,sizeof(struct client),1,fichier2);
if(fwrite != 0)
{
printf("VOUS AVEZ TRANSFERE %d MAD vers %s ",montant, clt2.numero_de_compte);
fclose(fichier2);
clt.solde -= montant;
strcpy(nom_fichier,clt.numero_de_compte);
fichier = fopen(strcat(nom_fichier,".txt"), "w");
fwrite(&clt,sizeof(struct client),1,fichier);
fclose(fichier);
}
}
}
break;
case 5:
printf("\nENTRER VOTRE MOT DE PASSE ACTUEL : ");
scanf("%s",mot_de_passe);
if(!strcmp(mot_de_passe,clt.mot_de_passe))
{
printf("\n\nENTRER VOTRE NOUVEAU MOT DE PASSE : ");
scanf("%s",mot_de_passe);
strcpy(clt.mot_de_passe,mot_de_passe);
strcpy(nom_fichier,clt.numero_de_compte);
fichier = fopen(strcat(nom_fichier,".txt"),"w");
fwrite(&clt,sizeof(struct client),1,fichier);
fclose(fichier);
printf("\nLE MOT DE PASSE A BIEN ETE MODIFIE");
} else printf("VOTRE MOT DE PASSE EST INCORRECT");
}
defaul:
break;
printf("\nRESTER CONNECTER ? [o/n]");
scanf("%s", &connect);
}
}
else{
printf("\n MOT DE PASSE INCORRECT");
}
}
case 2:
printf("\e[1;1H\e[2J");
printf("NUMERO DE COMPTE : ");
scanf("%s" , clt.numero_de_compte);
printf("MOT DE PASSE : ");
scanf("%s" , clt.mot_de_passe);
clt.solde = 0;
strcpy(nom_fichier, clt.numero_de_compte);
fichier = fopen(strcat(nom_fichier,".txt"), "w");
fwrite(&clt, sizeof(clt), 1, fichier);
if(fwrite != 0)
{
printf("\n\n LE NOUVEAU COMPTE A BIEN ETE CREER");
}
else
{
printf("PROBLEME LORS DU SAUVEGARDE");
}
}
}
Editor is loading...