second commit, slighly changed the idea

This commit is contained in:
s464978 2022-10-19 11:22:24 +02:00
parent d683c1d8d0
commit 33a067edee
6 changed files with 100 additions and 97 deletions

Binary file not shown.

View File

@ -1,7 +1,97 @@
import java.util.Scanner;
public class DataReader {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
User[] users = new User[10];
users[0] = new User("Piotr", "Fronczewski", 1, 12345678, 2137, 0.0);
users[1] = new User("Szymon", "Michałowski", 2, 87654321, 9876, 0.0);
users[2] = new User("Bartosz", "Palka", 3, 12348765, 1234, 0.0);
System.out.println("Witamy w systemie naszego bankomatu!");
Main loop = new Main();
loop.menu();
System.out.println("Proszę zalogować się na swoje konto, wpisz swój numer klienta");
int userNumber = input.nextInt();
DataReader loop = new DataReader();
loop.menu(users[userNumber]);
}
Scanner input = new Scanner(System.in);
public void menu(User user){
boolean end = false;
while (!end){
logIn(user);
end = true;
}
System.out.println("Dziękujemy za używanie bankomatu.");
input.close();
//System.exit(status kodu)
System.exit(0);
}
public void logIn(User user) {
int userNumber = user.getUserNumber();
int pin = 0;
boolean end = false;
while (!end) {
//user ma byc wyciagany na podstawie numeru konta a nie jako obiektu stworzonego w ramach danej klasy
if (user.compareUserNumber(userNumber) == false){
System.out.println("Nie ma takiego numeru klienta");
end = true;
break;
} else {
System.out.println("Numer klienta wprowadzono poprawnie");
}
System.out.println("Wpisz swój numer pin: ");
pin = input.nextInt();
if (user.comparePIN(pin) == false){
System.out.println("Błędne hasło");
end = true;
break;
} else {
System.out.println("Hasło wprowadzono poprawnie");
}
possibleOptions(user);
}
}
public void possibleOptions(User user) {
boolean end = false;
while (!end){
System.out.println("Aby wybrać opcję wciśnij klawisz odpowiadający danej cyfrze.");
System.out.println("Możliwe opcje do wyboru: ");
System.out.println("1 - sprawdź stan konta");
System.out.println("2 - wpłać środki na konto");
System.out.println("3 - wyjdź z systemu bankomatu");
int option = input.nextInt();
switch(option) {
case 1:
System.out.println("Twój stan konta wynosi: " + user.getBalance());
break;
case 2:
System.out.println("Wpisz ile środków chcesz wpłacić na swoje konto: ");
double sum = input.nextDouble();
user.deposit(sum);
break;
case 3:
System.exit(0);
break;
default:
System.out.println("Wybrano błędną opcję. Wybierz jeszcze raz.");
}
}
}
}
/*
Należy zbudować oprogramowanie wykorzystywane do obsługi bankomatu. Bankomat po
włożeniu karty elektronicznej (kredytowa, płatnicza, bankomatowa) oraz weryfikacji
posiadacza karty (sprawdzenie PIN), powininen wydawać kwotę pieniędzy. Bankomat
powinien umożliwiać deponowanie pieniędzy, zakup kodów do telefonii pre-paidowej,
sprawdzenie stanu konta oraz dokonywanie operacji przelewu dla użytkowników,
którzy w swoim banku wystąpili o tego typu usługę
*/

View File

@ -1,93 +0,0 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class Main {
Scanner input = new Scanner(System.in);
User user1 = new User("Piotr", "Fronczewski", 1, 12345678, 2137, 0.0);
public void menu(){
boolean end = false;
while (!end){
System.out.println("Proszę zalogować się na swoje konto: ");
logIn();
end = true;
}
System.out.println("Dziękujemy za używanie bankomatu.");
input.close();
//System.exit(status kodu)
System.exit(0);
}
public void logIn() {
int userNumber = 0;
int pin = 0;
boolean end = false;
while (!end) {
System.out.println("Wpisz swój numer klienta: ");
userNumber = input.nextInt();
if (user1.compareUserNumber(userNumber) == false){
System.out.println("Nie ma takiego numeru klienta");
end = true;
break;
} else {
System.out.println("Numer klienta wprowadzono poprawnie");
}
System.out.println("Wpisz swój numer pin: ");
pin = input.nextInt();
if (user1.comparePIN(pin) == false){
System.out.println("Błędne hasło");
end = true;
break;
} else {
System.out.println("Hasło wprowadzono poprawnie");
}
possibleOptions(user1);
}
}
public void possibleOptions(User user) {
boolean end = false;
while (!end){
System.out.println("Aby wybrać opcję wciśnij klawisz odpowiadający danej cyfrze.");
System.out.println("Możliwe opcje do wyboru: ");
System.out.println("1 - sprawdź stan konta");
System.out.println("2 - wpłać środki na konto");
System.out.println("3 - wyjdź z systemu bankomatu");
System.out.println("4 - przeloguj się na inne konto");
int option = input.nextInt();
switch(option) {
case 1:
System.out.println("Twój stan konta wynosi: " + user.getBalance());
break;
case 2:
System.out.println("Wpisz ile środków chcesz wpłacić na swoje konto: ");
double sum = input.nextDouble();
user.deposit(sum);
break;
case 3:
System.exit(0);
break;
case 4:
end = true;
break;
default:
System.out.println("Wybrano błędną opcję. Wybierz jeszcze raz.");
}
}
}
}
/*
Należy zbudować oprogramowanie wykorzystywane do obsługi bankomatu. Bankomat po
włożeniu karty elektronicznej (kredytowa, płatnicza, bankomatowa) oraz weryfikacji
posiadacza karty (sprawdzenie PIN), powininen wydawać kwotę pieniędzy. Bankomat
powinien umożliwiać deponowanie pieniędzy, zakup kodów do telefonii pre-paidowej,
sprawdzenie stanu konta oraz dokonywanie operacji przelewu dla użytkowników,
którzy w swoim banku wystąpili o tego typu usługę
*/

View File

@ -76,8 +76,14 @@ public class User {
}
boolean deposit(double amount) {
balance = balance + amount;
System.out.println("Stan konta po wpłacie wynosi: " + balance);
// amount nie moze byc ujemne, a po dodaniu do calego balanasu musi byc wieksze lub rowne 0
if (amount <= 0) {
System.out.println("Nie można dodać ujemnej kwoty lub 0.");
return false;
} else {
balance = balance + amount;
System.out.println("Stan konta po wpłacie wynosi: " + balance);
}
return true;
}
}