TH6
Hectopat
- Katılım
- 9 Temmuz 2022
- Mesajlar
- 874
- Çözümler
- 20
Arkadaşlar merhaba bayağıdır C ile uğraşmıyordum. Deneme için bir kod yazayım dedim ancak hata ya da hatalar var bilmiyorum. Bazen register ya da log in kısmında sorun yaşıyorum. Kod şu:
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
struct bank{
char firstName[20];
char middleName[20];
char surName[20];
char setUserName[40];
char setPassword[50];
char setPasswordConfirm[50];
int choice;
bool isLog;
int balance;
};
//Global Variables.
int j;
//Functions Declare.
void registe(struct bank banka[100], int i);
void login(struct bank banka[100], int i);
void mainmenu(struct bank banka[100], int i);
int main()
{
int a = 0;
int i = 0;
struct bank banka[100];
for(a; a < 100; a++)
{
banka[a].balance = 0;
}
bool wh = true;
while(wh == true)
{
system("cls");
printf("*****Welcome to Bank System. What Do You Want to Do?*****\n\n*****1.Register*****\n\n*****2.Log In*****\n\n*****3.Exit*****\n: ");
scanf("%d", &banka[i].choice);
switch(banka[i].choice)
{
case 1:
registe(banka, i);
i++;
break;
case 2:
login(banka, i);
if(banka[j].isLog == true)
{
mainmenu(banka, i);
}
break;
case 3:
wh = false;
break;
}
}
}
void registe(struct bank banka[100], int i)
{
system("cls");
printf("Enter your First Name: \n");
scanf("%s", banka[i].firstName);
printf("Enter your Middle Name: \n");
scanf("%s", banka[i].middleName);
printf("Enter your Surname: \n");
scanf("%s", banka[i].surName);
printf("Enter your Username: \n");
scanf("%s", banka[i].setUserName);
printf("Enter your Password: \n");
scanf("%s", banka[i].setPassword);
printf("Confirm your Password: \n");
scanf("%s", banka[i].setPasswordConfirm);
while(strcmp(banka[i].setPassword, banka[i].setPasswordConfirm))
{
printf("Passwords do not match. Please try again\n");
printf("Enter your Password: \n");
scanf("%s", banka[i].setPassword);
printf("Confirm your Password: \n");
scanf("%s", banka[i].setPasswordConfirm);
}
printf("Registering is successful. You can log in.");
getchar();
getchar();
system("cls");
}
void login(struct bank banka[100], int i)
{
char username[40];
char password[50];
int found = 0;
printf("Enter your Username: \n");
scanf("%s", username);
printf("Enter your Password: \n");
scanf("%s", password);
for(j = 0; j < i; j++)
{
if(strcmp(username, banka[j].setUserName) == 0 && strcmp(password, banka[j].setPassword) == 0)
{
found = 1;
break;
}
}
while(found != 1)
{
printf("Username or password are incorrect. Please try again\n");
printf("Enter your Username: \n");
scanf("%s", username);
printf("Enter your Password: \n");
scanf("%s", password);
for(j = 0; j < i; j++)
{
if(strcmp(username, banka[j].setUserName) == 0 && strcmp(password, banka[j].setPassword) == 0)
{
found = 1;
break;
}
}
}
banka->isLog = true;
system("cls");
printf("Log In is Successful");
getchar();
getchar();
}
void mainmenu(struct bank banka[100], int i)
{
int found;
int s; // For search.
char searchName[40];
bool wh = true;
int dd;
while(wh == true)
{
printf("-----1.Check Balance-----\n\n");
printf("-----2.Deposit Money-----\n\n");
printf("-----3.Withdraw Money----\n\n");
printf("-----4.Transfer Money----\n\n");
printf("-----5.Log Out-----------\n: ");
scanf("%d", &banka[j].choice);
switch (banka[j].choice)
{
case 1:
printf("Your Balance is %d", banka[j].balance);
getchar();
getchar();
system("cls");
break;
case 2:
system("cls");
printf("How much money do you want to deposit?: ");
scanf("%d", &dd);
banka[j].balance += dd;
printf("Process Successful");
getchar();
system("cls");
break;
case 3:
printf("How much money do you want to withdraw: ");
scanf("%d", &dd);
banka[j].balance -= dd;
printf("Process Successful");
getchar();
system("cls");
break;
case 4:
printf("Which account do you want to transfer to?: ");
scanf("%s", searchName);
for(s = 0; s < i; s++)
{
if(strcmp(searchName, banka[s].setUserName) == 0)
{
found = 1;
break;
}
}
while(found != 1)
{
printf("User couldn't find. Please try again.\n\n");
getchar();
getchar();
system("cls");
printf("Which account do you want to transfer to?: ");
scanf("%s", searchName);
for(s = 0; s < i; s++)
{
if(strcmp(searchName, banka[s].setUserName) == 0)
{
found = 1;
break;
}
}
}
printf("Account found. How much money to transfer?: ");
scanf("%d", &dd);
while(dd > banka[j].balance)
{
printf("You cannot transfer more money than you have. Please try again.\n\n");
printf("Account found. How much money to transfer?: ");
scanf("%d", &dd);
}
banka[s].balance += dd;
banka[j].balance -= dd;
system("cls");
break;
case 5:
printf("Goodbye");
wh = false;
break;
}
}
}