3 svar
35 visningar
DragonPeachBlossom är nöjd med hjälpen!
DragonPeachBlossom 31
Postad: 15 okt 2020 Redigerad: 15 okt 2020

Följa ett aktivitets diagram C#

Hej! Min uppgift är att jag ska skriva min kod enligt en aktivitets diagram. Detta är min kod men jag har ett problem. Tillexempel om jag väljer att jag är 20 år. Då printas texten ut många gånger. Vad är felet? Varför blir det så?

 

using System;

namespace Ett_aktivitetsdiagram
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello user, please enter age. We are going to calculate how much money you have saved and when you will retire");
            string age = Console.ReadLine();
            int money = 15000;
            int GiveStringValueToAnIntAge = Convert.ToInt32(age);
            
            do 
            { //
            
                if (money > 20000 || GiveStringValueToAnIntAge < 60)
                {
                    Console.WriteLine("You are saving to little money");
                    money = money + 500;
                    GiveStringValueToAnIntAge++;
                    
                }
                else 
                {
                    Console.WriteLine ("You are saving to much money");
                    money = money + 1000;
                    GiveStringValueToAnIntAge++;
                }
            
            } while (money < 20000 && GiveStringValueToAnIntAge < 65); //
            
            Console.WriteLine ("\nAge of retirement is" + "  " + GiveStringValueToAnIntAge); 
            Console.WriteLine ("\nThe money you have saved is" + " " + money);
            
            Console.ReadKey();
        
        }
    }
}
        

 

Tack i förhand för hjälpen! 

Du är inne i denna loopen tills du fått money >= 20000.
Du börjar med 15000 (hårdkodat) och lägger till 500 varje varv. 
Så .... 10 varv

      

        if (money > 20000 || GiveStringValueToAnIntAge < 60)
                {
                    Console.WriteLine("You are saving to little money");
                    money = money + 500;
                    GiveStringValueToAnIntAge++;
                    
                }
                else 
                {
                    Console.WriteLine ("You are saving to much money");
                    money = money + 1000;
                    GiveStringValueToAnIntAge++;
                }
            
            } while (money < 20000 && GiveStringValueToAnIntAge < 65); //

DragonPeachBlossom 31
Postad: 15 okt 2020 Redigerad: 15 okt 2020

Ok, som jag förstår menar du att svaret som printas ut ska skrivas ut 10 varv. Det är rätt?

DragonPeachBlossom 31
Postad: 15 okt 2020

Fattar nu. Första gången jag ser detta på kod så jag blev förvirrad. Tack för hjälpen. Då är det löst. 

Svara Avbryt
Close