Система регистрации / входа - PullRequest
0 голосов
/ 02 мая 2020

Сейчас я пытаюсь создать программу C для управления банковскими счетами, включая регистрацию / вход в систему. Я сделал почти все остальные функции, но я застрял в шаге входа в систему. Идея состоит в том, чтобы сначала проверить, существует ли учетная запись у меня, а затем зарегистрироваться и вернуть Id. Затем используйте этот Id для входа в систему, но когда я вхожу в Id, ничего не происходит. Я понятия не имею, почему, так что у кого-нибудь есть предложения?

Мой код для этих частей здесь, на случай, если вам понадобится какая-либо другая часть, просто скажите мне

int nbCompte;  // nombre des utilisateurs
int maxCompteId;
struct Compte comptes[100];

// à commence du programme
void loadDatabase(){
FILE* f = fopen("database.dat","rb");
if (f==NULL) {printf("Vérifier si le fichier existe"); return; } // sans fichier ou erreurs

maxCompteId = 0;
nbCompte = 0;
struct Compte compte;
// fread returns the number of bytes read. If fread <=0 means no bytes are read -> end of file
while (fread(&compte, sizeof(struct Compte), 1, f) > 0) {
    nbCompte++;
    comptes[nbCompte] = compte;
    if (compte.id > maxCompteId) maxCompteId = compte.id;
}
fclose(f);
}

 // à la fin du programme
void saveDatabase(){
FILE* f = fopen("database.dat","wb");
for (int i=1; i<=nbCompte; i++)
    fwrite(&comptes[i], sizeof(struct Compte), 1, f);
fclose(f);
 }

 void registerer(){
struct Compte newCompte;
printf("Entrez votre nom: "); scanf("%s",&newCompte.infor.nom);
printf("\nUtilisateur a entre: %s", newCompte.infor.nom);
printf("\nEntrez votre prenom: "); scanf("%s", &newCompte.infor.prenom);
printf("\nUtilisateur a entre: %s", newCompte.infor.prenom);
printf("\nEntrez votre date de naissance en AAAAMMJJ: "); scanf("%d", &newCompte.infor.dob);
printf("\nUtilisateur a entre: %d", newCompte.infor.dob);
printf("\nLe montant que vouz souhaitez deposer sur votre compte: "); scanf("%f", 
&newCompte.infor.depose);
printf("\nUtilisateur a entre: %f", newCompte.infor.depose);
maxCompteId++; maxCompteId = newCompte.id;
printf("\nVous registerez avec succès, le numero de votre compte est: %d", newCompte.id);
printf("\nVotre id: %d", newCompte.id);

nbCompte++;
comptes[nbCompte] = newCompte;
}


 void login(){
struct Compte Compte;
int id;
printf("\nEntrez votre numero de compte: "); scanf("%d", id);
for(int i=0; i<nbCompte; i++){
    if(id == Compte.id){
        printf("\nLogin avec succès");
        return;}
}
printf("\nLogin échec");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...