1 svar
65 visningar
Lazcano 8
Postad: 11 dec 2023 11:04

Nästan färdig bank simulator i c# med Uttagsfel!

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bank_simulator_försök_2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("                                                       -------------");
            Console.WriteLine("------------------------------------------------------|AMO´S BANKING|---------------------------------------------------");
            Console.WriteLine("                                                       -------------");
            Console.WriteLine("_________________________________________");
            Console.WriteLine("Välkommen var vänlig välj ett alternativ |");
            Console.WriteLine("-----------------------------------------");

            int balance = 0;
            bool running = true;

            while (running)
            {

                Console.WriteLine("[I]nsätning:");
                Console.WriteLine("[U]ttag:");
                Console.WriteLine("[S]aldo:");
                Console.WriteLine("[R]äntesparande:");
                Console.WriteLine("[A]vslut:");


                string options = Console.ReadLine();





                switch (options)
                {

                    case "I":
                    case "i":
                        Console.WriteLine(" ");
                        Console.WriteLine("Hur mycket vill du sätta in?:");
                        Console.WriteLine("-----------------------------");

                        balance += int.Parse(Console.ReadLine());

                        Console.WriteLine($"Tillgänligt: {balance}kr");
                        Console.WriteLine(" ");
                        break;


                    case "U":
                    case "u":


                        balance -= int.Parse(Console.ReadLine());
                        if (balance > 0 && 0 < balance)
                        {
                            balance -= int.Parse(Console.ReadLine());
                            Console.WriteLine($"Tillgänglig: {balance}kr");

                        }

                        else (balance < 0)
                        { 
                                Console.WriteLine("Du har inte tillräckligt med saldo, försök igen:");
                                Console.WriteLine("------------------------------------------------"); 
                        }
                         

                        Console.WriteLine(" ");
                        Console.WriteLine("Hur mycket vill du ta ut?:");
                        Console.WriteLine("--------------------------");
                        Console.WriteLine(" ");

                        // till hit!

                        break;


                    case "S":
                    case "s":
                        Console.WriteLine(" ");
                        Console.WriteLine($"Du har {balance}kr tillgängligt:");
                        Console.WriteLine("----------------------------------");
                        Console.WriteLine(" ");
                        break;





                    case "R":
                    case "r":
                        Console.WriteLine(" ");
                        Console.WriteLine("Ange ditt årliga insättningsbelopp:");
                        int yearly_deposit = int.Parse(Console.ReadLine());

                        Console.WriteLine("Ange ränta 1-100%:");
                        float yearly_interest = float.Parse(Console.ReadLine());

                        Console.WriteLine("Ange antal år, minst 1:");
                        float years = float.Parse(Console.ReadLine());
                        Console.WriteLine(" ");


                        float yearly_interest_precent = yearly_interest / 100;

                        float total_earning = 0;

                        float total_deposit = years * yearly_deposit;


                        for (int i = 1; i <= years; i++)
                        {

                            float increase = (total_earning + yearly_deposit) * yearly_interest_precent;

                            total_earning += increase;

                            Console.WriteLine($"År:{i} Total:{total_earning}kr Ökning:{increase}kr");
                        }
                        Console.WriteLine(" ");
                        Console.WriteLine($"Du har efter: {years} år sparat ihop: {total_deposit + total_earning}kr");
                        Console.WriteLine("------------------------------------");
                        Console.WriteLine(" ");
                        break;





                    case "A":
                    case "a":
                        Console.WriteLine(" ");
                        Console.WriteLine("Tack för ditt förtroende hos AMO'S BANKING!");
                        Console.WriteLine("Ha en fortsatt trevlig dag!");
                        Console.WriteLine("---------------------------");


                        running = false;
                        break;



                    default:
                        Console.WriteLine(" ");
                        Console.WriteLine("Var vänlig välj ett giltigt alternativ!:");
                        Console.WriteLine("----------------------------------------");
                        break;

                }




            }


            Console.ReadLine();




        }
    }
}

Hej igen! :)

 

Har lyckats med hjälp från många kunna fixa denna bank simulatur. Det ända problemet är att när programmet startar börjar den alltid med 0kr sedan om man gör ett uttag då kontot är på 0kr får man upp ett fel medelande MEN när man sedan kollar saldot står det då  - (den summan man försökt ta ut). 

Vet att jag måste göra en if/else loop men har liksom gått in i väggen på den här!

Någon som kan eller haft samma problem?

Yngve 37890 – Livehjälpare
Postad: 11 dec 2023 12:39

Hej.

Ett problem är att du minskar variabeln balance med det önskade uttaget utan att först kontrollera om det finns tillräckligt mycket medel på kontot.

Tips: Inför en ny variabel typ requestedWithdrawal till vilken du läser in önskat uttagsbelopp.

Kontrollera sedan att balance > requestedWithdrawal innan du faktiskt ändrar balance.

Svara Avbryt
Close