· 4 years ago · May 09, 2021, 08:14 PM
1// ================================== PROGRAM GŁÓWNY ==================================
2// =====================================================================================
3using System;
4using System.Collections;
5
6namespace Pilarski_Maciej_55217_INIS3
7{
8 class Program
9 {
10 static void Main(string[] args)
11 {
12
13 //------------------------------------------------------
14 //----------- Podpowiedzi w zadaniach ------------------
15 //
16 // Zajęcia 9 - klasa bankier uczciwy i fałszywy
17 // Zajęcia 4 - dodawanie do koszyka (jak do konta pieniędzy)
18 //------------------------------------------------------
19 // ---------------- Treść zadania ----------------------
20 //
21 // Dwa panele: użytkownik i admin
22 //
23 // ------- Użytkownik: -------
24 // -wpłaca i wypłaca,
25 // -sprawdza historię operacji na koncie,
26 // -generuje podsumowanie: ile wpłacił i ile wypłacił od początku
27 // -może wziąć kredyt(pole kredyt w klasie Konto), ALE TYLKO JEDEN.Metoda SpłaćKredyt przelewa pieniądze z konta na spłatę kredytu.
28 // -może zrobić przelew na inne konto
29 // -wszystkie operacje możliwe dopiero po zalogowaniu na konto(hasło przechowujemy w klasie Account)
30 //
31 // ------- Admin -------
32 // -może zabokować konto użytkownikowi(pole typu bool w Account), wtedy użytkownik nie może się zalogować
33 // -może dodawać i usuwać konta
34 // -może robić podsumowania: ile w sumie jest pieniędzy w banku, ile wynosi łączny kredyt itd
35 // -jest w posiadaniu historii kredytowej każdego klienta, może też pobrać wszystkich aktualnych dłużników
36 //
37 // ------- Klasy: -------
38 // Account, Bank(pole: tablica / kolekcja kont)
39 // konta w banku przechowujemy w kolekcji ArrayList
40 //
41 //
42 // kontakt: 80rass @gmail.com
43
44
45
46 // ================================== PROGRAM ==================================
47 // =============================================================================
48
49 // Tworzenie konta konto1:
50 Account konto1 = new Account("Marek", "1", 200, 0, true, false);
51 //Tworzenie konta konto2:
52 Account konto2 = new Account("Robert", "2", 0, 0, true, true);
53
54 Console.WriteLine(konto2); //szybkie info o koncie - z użyciem ToString
55 konto2.Info(); //info o koncie - z użyciem metody Info()
56
57 konto1.Info();
58
59 konto1.Deposit(300);
60 konto1.Info();
61
62 konto1.Withdraw(200);
63 konto1.Info();
64
65 konto1.TakeCredit(100);
66 konto1.Info();
67
68 konto2.Deposit(1000);
69 konto2.TakeCredit(100);
70 konto2.Info();
71
72 // Array list do przechowywania kont
73 ArrayList list = new ArrayList();
74 // list.Add(element) - dodaje element do listy
75 // list.RemoveAt(element) - usuwa element z listy
76
77
78 foreach (var item in list) // Komenda wypisująca wszystkie elementy listy
79 {
80 Console.WriteLine(item);
81 }
82
83 }
84 }
85}
86// ================================== KLASA ACC ==================================
87// ===============================================================================
88using System;
89using System.Collections.Generic;
90using System.Text;
91
92namespace Pilarski_Maciej_55217_INIS3
93{
94 class Account
95 {
96 // ================================ KLASA KONTO ================================
97 // =============================================================================
98
99 // konstruktor klasy konto (Account)
100 private string name, number;
101 private int money = 0;
102 private int debit = 0;
103 private bool blockade;
104 private bool credit;
105
106 public Account(string name, string number, int money, int debit, bool blockade, bool credit)
107 {
108 this.name = name;
109 this.number = number;
110 this.money = money;
111 this.debit = debit;
112 this.blockade = blockade;
113 this.credit = credit;
114 }
115
116 // ================================= LOGOWANIE =================================
117 // Wszystkie metody możliwe po zalogowaniu - dodać opcję logowania
118 // gdy bool = false nie może się probować zalogować (zablokowany ale przez bank)
119 // =============================================================================
120
121
122 // =================== Metody klasy konto (void'y Account'a) ===================
123
124 // 1. Wpłacenie pieniędzy
125 public void Deposit(int balance)
126 {
127 Console.WriteLine("Wpłacono " + balance + " do konta " + name);
128 money = money + balance;
129 }
130
131 // 2. Wypłacenie pieniędzy
132 public void Withdraw(int balance)
133 {
134 Console.WriteLine("Wypłacono " + balance + " z konta " + name);
135 if( money - balance >= 0)
136 money = money - balance;
137 }
138
139 // 3. Informacje o koncie
140 public void Info()
141 {
142
143 Console.WriteLine("-----------------");
144 Console.WriteLine("Konto/Imie: " + name);
145 Console.WriteLine("Stan konta: " + money + "PLN");
146 Console.Write("Kredyt: ");
147 if (credit == true)
148 Console.WriteLine("Posiada kredyt");
149 else
150 {
151 Console.WriteLine("Nie posiada kredytu");
152 };
153 Console.WriteLine("Kwota kredytu: " + debit); // nie pokazuje na ile PLN ma kredyt
154 Console.WriteLine("Numer konta: " + number);
155 Console.Write("Czy konto aktywne: ");
156 if (blockade == true)
157 Console.WriteLine("Aktywne");
158 else
159 {
160 Console.WriteLine("Nieaktywne");
161 };
162 Console.WriteLine("-----------------");
163
164 }
165 public override string ToString()
166 {
167 return $"Nazwa: {name}, nr: {number}, stan: {money}, aktywne: {blockade}";
168 }
169
170
171
172 // 4. Sprawdź historię operacji na koncie
173
174 // 5. Podsumowanie ile wpłacił i ile wypłacił od początku
175
176 // 6. Weź kredyt
177 public void TakeCredit(int debit)
178 {
179 Console.WriteLine("Bierzesz kredyt na: " + debit + " na konto " + name);
180 if(credit == false)
181 {
182 money = money + debit;
183 credit = true;
184 }
185 else
186 {
187 Console.WriteLine("Nie możesz wziąć kredytu, bo już jeden posiadasz!");
188 }
189 }
190
191 // 7. Spłać kredyt
192
193 // 8. przelej na inne konto
194
195
196 }
197}
198
199// ================================== KLASA BANK ==================================
200// ================================================================================
201
202using System;
203using System.Collections;
204using System.Collections.Generic;
205using System.Text;
206
207namespace Pilarski_Maciej_55217_INIS3
208{
209 class Bank
210 {
211 // ================================ KLASA BANK =================================
212 // =============================================================================
213 public Bank()
214 {
215
216
217 }
218
219 // ===================== Metody klasy bank (void'y Bank'u) =====================
220
221 // 1. Zablokuj konto użytkownika (zmień bool z true na false)
222
223 // 2. Dodaj Użytkownika
224
225 // 3. Usuń uzytkownika
226
227 // 4. Suma pieniędzy w banku (suma money wszystkich kont)
228
229 // 5. Suma wziętych kredytów (nwm czy liczba kredytów czy kwota na jaką wzięte)
230
231 // 6. Pobierz wszystkich aktualnych dłużników
232
233 // 7. Wyświetl historię kredytów
234
235
236 }
237}
238