Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define LIMITE_PRELIEVI 10000
- #define LIMITE_VERSAMENTI 10000
- void prelievo();
- void versamento();
- void statistiche();
- void descrivi_menu();
- // DRY!! DONT REPEAT YOURSELF
- double prelievi[LIMITE_PRELIEVI], versamenti[LIMITE_VERSAMENTI];
- int prelievi_effettuati = 0, versamenti_effettuati = 0;
- double saldo = 0;
- int main() {
- // finchè non voglio uscire
- descrivi_menu();
- int scelta;
- do {
- std::cout << "Seleziona operazione: ";
- std::cin >> scelta;
- switch (scelta) {
- case 1:
- prelievo();
- break;
- case 2:
- versamento();
- break;
- case 3:
- statistiche();
- break;
- case 4:
- std::cout << "cY@ Nerds! :D" << std::endl;
- break;
- default:
- std::cout << "Scelta non valida" << std::endl;
- }
- std::cout << std::endl;
- } while (scelta != 4);
- std::cout << "";
- return 0;
- }
- void descrivi_menu() {
- std::cout << "1. Prelievo" << std::endl
- << "2. Versamento" << std::endl
- << "3. Statistiche" << std::endl
- << "4. Esci" << std::endl;
- }
- void prelievo() {
- std::cout << "Prelievo: ";
- double importo;
- std::cin >> importo;
- if (prelievi_effettuati < LIMITE_PRELIEVI) {
- if (importo <= 0) {
- std::cout << "Non puoi prelevare un numero negativo o nullo di euro."
- << std::endl;
- } else {
- if (saldo >= importo) {
- // Ho superato il numero di prelievi
- saldo -= importo;
- prelievi[prelievi_effettuati] = importo;
- std::cout << "Hai prelevato " << importo << std::endl
- << "Ti rimangono " << saldo << " Euro." << std::endl;
- } else {
- // Ho superato il limite di denaro prelevabile
- std::cout << "Puoi prelevare massimo " << saldo << " Euro."
- << std::endl;
- }
- }
- } else {
- // Avviso del superamento del limite di prelievi
- std::cout << "Hai superato il numero di prelievi massimi." << std::endl;
- }
- // .. cose da prelievo
- prelievi_effettuati++;
- }
- void versamento() {
- std::cout << "Versamento: ";
- double importo;
- std::cin >> importo;
- if (versamenti_effettuati < LIMITE_VERSAMENTI) {
- if (importo <= 0) {
- std::cout << "Non puoi versare un numero negativo o nullo di euro."
- << std::endl;
- } else {
- // Ho superato il numero di versamenti
- saldo += importo;
- versamenti[versamenti_effettuati] = importo;
- std::cout << "Hai versato " << importo << std::endl
- << "Hai accumulato " << saldo << " Euro." << std::endl;
- }
- }
- versamenti_effettuati++;
- }
- void statistiche() {
- double massimo = 0, somma = 0;
- // Controlliamo massimo e sommiamo tutti i prelievi
- for (int i = 0; i < prelievi_effettuati; i++) {
- // Logica che effettua l'aggiornamento del massimo
- if (prelievi[i] > massimo) {
- massimo = prelievi[i];
- }
- // Logica che somma tutti i prelievi
- somma += prelievi[i];
- }
- for (int i = 0; i < versamenti_effettuati; i++) {
- // Logica che somma tutti i versamenti
- somma += versamenti[i];
- }
- // Esempio esplicativo:
- // prelievo 5, verso 10, prelievo 20 => 5 + 10 + 20 / 3 => operazione media
- double media_transazioni =
- somma / (prelievi_effettuati + versamenti_effettuati);
- std::cout << "Importo massimo prelevato: " << massimo << std::endl
- << "Valore medio delle transazioni: " << media_transazioni << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement