Avatar billede stroyer_dk Nybegynder
04. februar 2010 - 08:31 Der er 10 kommentarer og
2 løsninger

Hjælp til simpelt C# program (ny begynder)

Hej Eksperter,

Jeg påtænker at starte på Datamatiker uddannelsen til August, men vil gerne være en smule forbedret inden, og er derfor gået igang med at lege med C#.

Jeg har været igang med at lave et lille konsol program, som skal simulere "omgangstider på en bane"

Når jeg køre programmet med VS08Express via "Step-by-Step" køre programmet som det skal og generere tilfældige tal hver gang, som så bliver adderet med 1 og multipliceret med 2 efterfølgende.

Men builder jeg programmet og køre den "normalt" så generere den ikke længere tilfældige tal, men genbruger det første tal som bliver genereret.

Det fatter jeg ikke.

Er der en venlig sjæl som kan give en hånd?

Programmet ser sådan ud(Jeg er som sagt totalt nybegynder - men man skal jo kravle før end man kan gå):

using System;

namespace lap_race
{
    class Program
    {
        static void Main(string[] args)
        {
            int lap;
            double LapTime;

            Console.WriteLine("Test of 10 Laps on the Dital Race Course");
            Console.WriteLine();
            Console.WriteLine();
            Console.ReadLine();

            for (lap = 0; lap <= 9; lap += 1)
            {
                Random RandomNumber = new Random();
                LapTime = (double)(RandomNumber.NextDouble() + 1) * 2;

                Console.WriteLine("Lap Time: {0}", LapTime);
            }


            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Break");
            Console.ReadLine();


        }
    }
}
Avatar billede Spotgun Seniormester
04. februar 2010 - 08:43 #1
Prøv at flytte "Random RandomNumber = new Random();" ud af for loop'et, så vil jeg tro det virker efter hensigten.
Avatar billede platik Nybegynder
04. februar 2010 - 08:46 #2
Flyt din random udenfor din løkke, så burde det virke.

            int lap;
            double LapTime;

            Console.WriteLine("Test of 10 Laps on the Dital Race Course");
            Console.WriteLine();
            Console.WriteLine();
            Console.ReadLine();
            Random RandomNumber = new Random();
            for (lap = 0; lap <= 9; lap += 1)
            {
                LapTime = (double)(RandomNumber.NextDouble() + 1) * 2;

                Console.WriteLine("Lap Time: {0}", LapTime);
            }


            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Break");
            Console.ReadLine();
Avatar billede stroyer_dk Nybegynder
04. februar 2010 - 08:49 #3
1#

Det har jeg forsøgt, men så generere den ikke et tilfældigt tal mere end een gang.

Til at starte med havde jeg den også liggende uden for loopen, men skal have et tilfældigt tal hver gang så placerede den inde i loopen i stedet.

Det er muligvis ikke den korrekte måde at gøre det på, men jeg kan ikke umiddelbart gennemskue hvordan jeg ellers skal gøre det.

/mvh
Avatar billede stroyer_dk Nybegynder
04. februar 2010 - 08:50 #4
Platik:

Det er bare SMUKT!

Nu køre den som det skal.

Tak for hjælpen - Smider du lige et svar.

/mvh
Avatar billede platik Nybegynder
04. februar 2010 - 08:53 #5
Random RandomNumber = new Random(); skaber blot et objekt til at skabe et random tal med. Den laver ikke tallet.

LapTime = (double)(RandomNumber.NextDouble() + 1) * 2; Skaber derimod et random tal, så du laver altså et tilfældig tal hver gang du kører løkken igennem. Så længe denne linie står inde i løkken.

Ellers har jeg ikke forstået hvad det er du mener. :-)
Avatar billede platik Nybegynder
04. februar 2010 - 08:56 #6
spotgun skrev faktisk det samme som mig, så vil mene han skal smide et svar :-).
Avatar billede stroyer_dk Nybegynder
04. februar 2010 - 08:57 #7
5#

Arhh... se så lærte jeg igen noget!

Du har forstået det korrekt.

/mvh
Avatar billede Spotgun Seniormester
04. februar 2010 - 08:57 #8
Jeg deler gerne point med Platik hvis det er?
Avatar billede stroyer_dk Nybegynder
04. februar 2010 - 08:58 #9
Så kan i begge skrive et svar, så kan i dele den :-)

Du har ret - fair skal være fair!

/mvh
Avatar billede platik Nybegynder
04. februar 2010 - 08:58 #10
jamen lad dele så :-).
Avatar billede arne_v Ekspert
05. februar 2010 - 03:30 #11
Problemstillingen er f.eks. omtalt i:
  http://www.eksperten.dk/guide/680
Avatar billede stroyer_dk Nybegynder
05. februar 2010 - 10:40 #12
Hej arne_v

Tak for linket - Det vil jeg kigge videre på!

/mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester