Avatar billede maxmuldjord Nybegynder
01. oktober 2004 - 16:41 Der er 10 kommentarer og
1 løsning

ændre i kode til opgave

Der er stærkt ebbe i pointkassen så der bliver kun 5 af dem :(

Nedenstående kode viser lidt af en bunden opgave vi har haft, nu syntes jeg ikke der er meget kød på at siide og taste kode ind der ikke rigtigt kan noget så jeg ville ændre det til at man kan indtaste sit navn og sin topfart og HP i stedet for at have det som faste værdier i programmet. Der kommer lidt mere til men det håber jeg selv at kunne bikse mig frem til

using System;

class SportsCar
{
    private int maxSpeed = 0;
    private int horsepower = 0;
    private static int maxSpeedRequirement = 0;
    private static int horsepowerRequirement = 0;
   
    private string [] legalDrivers = new string [0]; //Exercise 2
   
    public bool SportsCheck()
    {
        if((maxSpeed >= maxSpeedRequirement) && (horsepower >= horsepowerRequirement))
            return true;
        else
            return false;
    }

    public void SetMaxSpeed(int newMaxSpeed)
    {
        maxSpeed = newMaxSpeed;
    }
   
    public int GetMaxSpeed()
    {
        return maxSpeed;
    }
   
    public void SetHorsepower(int newHorsepower)
    {
        horsepower = newHorsepower;
    }
   
    public int GetHorsepower()
    {
        return horsepower;
    }

    public static void SetMaxSpeedRequirement(int newMaxSpeedRequirement)
    {
        maxSpeedRequirement = newMaxSpeedRequirement;
    }
   
    public static int GetMaxSpeedRequirement()
    {
        return maxSpeedRequirement;
    }

    public static void SetHorsepowerRequirement(int newHorsepowerRequirement)
    {
        horsepowerRequirement = newHorsepowerRequirement;
    }
   
    public static int GetHorsepowerRequirement()
    {
        return horsepowerRequirement;
    }
   
    //Exercise 2
    public void SetLegalDrivers(params string [] newLegalDrivers)
    {
        legalDrivers = newLegalDrivers;
    }
   
    //Exercise 2
    public bool DriverCheck(string name)
    { 
        foreach(string tempName in legalDrivers)
        {
            if(tempName == name)
                return true;
        }
        return false;
    }
   
   
}

class Tester
{
    public static void Main()
    {
       
        SportsCar myCar = new SportsCar();
        SportsCar.SetMaxSpeedRequirement(200);
        SportsCar.SetHorsepowerRequirement(250);       
        myCar.SetMaxSpeed=Convert.ToInt32(Console.ReadLine());
        myCar.SetHorsepower=Convert.ToInt32(Console.ReadLine());
       
        Console.WriteLine("It is {0} that my car is a sports car", myCar.SportsCheck());
       
       
        //Exercise 2
        myCar.SetLegalDrivers("Peter", "Ann", "Eric");
        Console.WriteLine("It is {0} that Peter can drive myCar", myCar.DriverCheck("Peter"));
        Console.WriteLine("It is {0} that Josephine can drive myCar", myCar.DriverCheck("Josephine"));
       
       
        Console.ReadLine();
    }
}
Avatar billede arne_v Ekspert
01. oktober 2004 - 16:45 #1
Er det ikke bare at indlæse de nye oplysninger med Console.ReadLine
ligesom de andre ?
Avatar billede arne_v Ekspert
01. oktober 2004 - 16:46 #2
I C# bør du iøvrigt erstatte Get og Set metoderne med property.
Avatar billede snepnet Nybegynder
01. oktober 2004 - 16:46 #3
Hvis du retter

myCar.SetMaxSpeed=Convert.ToInt32(Console.ReadLine());
myCar.SetHorsepower=Convert.ToInt32(Console.ReadLine());

til

myCar.SetMaxSpeed(Convert.ToInt32(Console.ReadLine()));
myCar.SetHorsepower(Convert.ToInt32(Console.ReadLine()));

Skulle det kunne bygge... og det er da en start :o)

mvh
Avatar billede snepnet Nybegynder
01. oktober 2004 - 16:47 #4
wow.... attack !
Avatar billede maxmuldjord Nybegynder
02. oktober 2004 - 11:03 #5
Ok, jeg begynder (måske) at forstå lidt  af det men jeg kan ikke finde nogle eksempler i min lærebog at støtte mig til så jeg har et (eller nok flere)problem(er)

Jeg forsøger at lave en ny instance (hedder det det?)I min SportsCar = new SportsCar() men det giver i alt 4 fejl, 3 af fejlene er relateret til dette:

SportsCar = new SportsCar();
        SportsCar.SetMaxSpeed(Convert.ToInt32(Console.ReadLine()));
        SportsCar.SetHorsepower(Convert.ToInt32(Console.ReadLine()));

og fejl nr. 4 er at SportsCheck er ukendt i klassen Tester. Hele smøren kommer her :

using System;

class SportsCar
{
    private int maxSpeed = 0;
    private int horsepower = 0;
    private static int maxSpeedRequirement = 0;
    private static int horsepowerRequirement = 0;
   
    private string [] legalDrivers = new string [0]; //Exercise 2
   
    public bool SportsCheck()
    {
        if((maxSpeed >= maxSpeedRequirement) && (horsepower >= horsepowerRequirement))
            return true;
        else
            return false;
    }

    public void SetMaxSpeed(int newMaxSpeed)
    {
        maxSpeed = newMaxSpeed;
    }
   
    public int GetMaxSpeed()
    {
        return maxSpeed;
    }
   
    public void SetHorsepower(int newHorsepower)
    {
        horsepower = newHorsepower;
    }
   
    public int GetHorsepower()
    {
        return horsepower;
    }

    public static void SetMaxSpeedRequirement(int newMaxSpeedRequirement)
    {
        maxSpeedRequirement = newMaxSpeedRequirement;
    }
   
    public static int GetMaxSpeedRequirement()
    {
        return maxSpeedRequirement;
    }

    public static void SetHorsepowerRequirement(int newHorsepowerRequirement)
    {
        horsepowerRequirement = newHorsepowerRequirement;
    }
   
    public static int GetHorsepowerRequirement()
    {
        return horsepowerRequirement;
    }
   
    //Exercise 2
    public void SetLegalDrivers(params string [] newLegalDrivers)
    {
        legalDrivers = newLegalDrivers;
    }
   
    //Exercise 2
    public bool DriverCheck(string name)
    { 
        foreach(string tempName in legalDrivers)
        {
            if(tempName == name)
                return true;
        }
        return false;
    }
   
   
}

class Tester
{
    public static void Main()
    {
       
        SportsCar myCar = new SportsCar();
        SportsCar.SetMaxSpeedRequirement(200);
        SportsCar.SetHorsepowerRequirement(250);
        Console.WriteLine("Type the numbers of maximum speed and Horsepower of your car");
       
        SportsCar = new SportsCar();
        SportsCar.SetMaxSpeed(Convert.ToInt32(Console.ReadLine()));
        SportsCar.SetHorsepower(Convert.ToInt32(Console.ReadLine()));
       
        if (SportsCheck() ==false)
            Console.WriteLine("Your car sucks");
        else
            Console.WriteLine("You have a sportscar");
       
       
        //Exercise 2
        myCar.SetLegalDrivers("Peter", "Ann", "Eric");
        Console.WriteLine("It is {0} that Peter can drive myCar", myCar.DriverCheck("Peter"));
        Console.WriteLine("It is {0} that Josephine can drive myCar", myCar.DriverCheck("Josephine"));
       
       
        Console.ReadLine();
    }
}
Avatar billede arne_v Ekspert
02. oktober 2004 - 11:06 #6
myCar = new SportsCar();
        myCar.SetMaxSpeed(Convert.ToInt32(Console.ReadLine()));
        myCar.SetHorsepower(Convert.ToInt32(Console.ReadLine()));
Avatar billede arne_v Ekspert
02. oktober 2004 - 11:06 #7
if (myCar.SportsCheck() ==false)
Avatar billede arne_v Ekspert
02. oktober 2004 - 11:06 #8
så compiler det
Avatar billede maxmuldjord Nybegynder
02. oktober 2004 - 11:13 #9
det gør den nemlig Arne! Tak. Vender lige tilbage
Avatar billede maxmuldjord Nybegynder
02. oktober 2004 - 19:28 #10
smid lige et svar Arne så skal du få point, alle 5 :)
Avatar billede arne_v Ekspert
02. oktober 2004 - 19:35 #11
svar
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