Avatar billede rune4000 Nybegynder
22. april 2008 - 13:00 Der er 36 kommentarer

Hjælp til C# kode.

Jeg har brug for hjælp til af forstå noget C# kode, som jeg og en medstuderende har lavet - der er brug for kommentarer til de forskellige strukturer som fx constructorer, objektet, metoder osv. Der må også meget gerne kommes med kommentarer til forbedringer.
Koden er til et eksamenprojekt i programmering. Programmet er et bookingsystem til et dyrehotel.

Beklager dobbeltpost!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{//Opretter klassen program
class Program
{
static void Main(string[] args)
{
char svar;

do //do - while loop
{
Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");
string valg = Console.ReadLine();

//opretter kontrolstruktur og nedarvning fra Dyr

Dyr voresDyr;
if (valg == "2")
{
Console.WriteLine("Du har valgt en hund");
voresDyr = new Hund();
}
else
{
Console.WriteLine("Du har valgt en fisk");
voresDyr = new Fisk();
}

Reservation VoresReservation = new Reservation();
VoresReservation.Aktivitet = "Fodre fisken";

Reservation VoresReservation2 = new Reservation();
VoresReservation2.Aktivitet = "Lufte hunden";

Fisk fisken = new Fisk();
VoresReservation.Dyr = voresDyr;

Kunde voresKunde = new Kunde();
voresKunde.Navn = "Mona";
VoresReservation.Kunden = voresKunde;


Console.WriteLine(VoresReservation.UdskrivReservation());
Console.WriteLine("***************");
Console.WriteLine(VoresReservation.UdskrivReservation());
Console.WriteLine(VoresReservation.Aktivitet);
Console.ReadLine();

Console.WriteLine("Flere reservationer?: Tast 1 for ja eller 2 for nej");
svar = char.Parse(Console.ReadLine());
} while (svar == '1');

}


}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{//Opretter klassen reservation
public class Reservation
{
//Statisk tæller til reservationsnumre.
private static int m_ReservationsCounter = 1;


//atrubutter for klassen
private int m_ReservationsNummer;
private string m_Aktivitet;
private Dyr m_Dyr;
private Kunde m_Kunde;



public Reservation()
{
ReservationsNummer = m_ReservationsCounter;
m_ReservationsCounter++;

}
//Adgang type navn
public Kunde Kunden
{
get
{
return m_Kunde;
}
set
{
m_Kunde = value;
}
}
public int ReservationsNummer
{
get
{
return m_ReservationsNummer;
}
set
{
m_ReservationsNummer = value;
}
}

public string Aktivitet{

get {
return m_Aktivitet;
}
set {
m_Aktivitet = value;
}
}

public Dyr Dyr
{

get
{
return m_Dyr;
}
set
{
m_Dyr = value;
}
}

public string UdskrivReservation()
{
string tmp;
tmp = "Kunde navn: " + Kunden.Navn + "\n";
tmp = tmp + "Dyrerace: " + Dyr.Race + "\n";

return tmp;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{
//Opretter klassen kunde

public class Kunde
{
private string m_Navn;
private string m_Adresse;
private string m_Telefon;

//klassens metode

public Kunde()
{

}

public string Navn
{
get
{
return m_Navn;
}
set
{
m_Navn = value;
}
}
public string Adresse
{
get
{
return m_Adresse;
}
set
{
m_Adresse = value;
}
}
public string Telefon
{
get
{
return m_Telefon;
}
set
{
m_Telefon = value;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{//Opretter klassen hund
class Hund : Dyr
{
public Hund()
{
Race = "Hund";
}

}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{//opretter klassen fisk
public class Fisk : Dyr
{
public Fisk()
{
Race = "Fisk";
}
}
}
Avatar billede lasserasch Juniormester
22. april 2008 - 14:58 #1
Virker din kode?
Avatar billede j3ppah Novice
22. april 2008 - 15:39 #2
1.
på alle dem i har hvor i selecter fra en console.readline()
ville jeg nok lave det om så i kørte på en switch.
og så SKAL i have lavet så man fx. ikke bare kan skrive 3, og programmer crasher, eller hopper noget kode over...
så lav en default der siger at du har intastet en ikke gyldig verdi, prøv igen....
2.
HOLD DA OP... det er godt nok ustruktureret kode det der... tager en million år at læse fordi det er stillet så mærkeligt op....
3.
kan du ikke smide et link hvor vi kan hente koden i stedet?? da i kører på flere namespace's osv, ville det være 100gange lættere at se hvor fejlene er... eller hvad der kan forbedres...


4.
jeg er newb programmør så i skal ikke lytte til mig :D...
men prøv lige at smide et link hvor vi kan hente det..
Avatar billede j3ppah Novice
22. april 2008 - 15:45 #3
og få lige styr på de der tuborg klammer der flyver til højre og venstre...
skulle gerne fx se sådan her ud...

Dyr voresDyr;
if (valg == "2"){
Console.WriteLine("Du har valgt en hund");
voresDyr = new Hund();
                }
//Eller

else
{
Console.WriteLine("Du har valgt en fisk");
voresDyr = new Fisk();
}


/* alt efter hvordan man kan lide at lave det...
Jeg bruger altid selv den sidste... da jeg synes det er lettere at overskue... som i også har gjort... men hvis i gør det på den måde skal i lave linie skift efter } (altså 2 linier...) fx.

else
{
Console.WriteLine("Du har valgt en fisk");
voresDyr = new Fisk();
}

else
{
Console.WriteLine("Du har valgt en fisk");
voresDyr = new Fisk();
}
Avatar billede j3ppah Novice
22. april 2008 - 15:45 #4
(selvfølgelig skulle tuborg klammerne have stået lige ud for hinanden i eksempel 1...) my bad.
Avatar billede Syska Mester
22. april 2008 - 15:57 #5
#j3ppah
Nu er det eksperten der ikke har en ordentlig parser til kode, så tror jeg også at deres ville se ud som du gern ville have ....

Dit mangler jo også \t(tab) ind ... men det kan ikke laves så nemt her ...

#rune4000
Jeg ville nok som lasserasch skriver ... virker det ... men det lader jo til at virke som spm forfatter skriver ... men der står at de selv har lavet det, men vil have kommentare ind ... :-s ...

Hvordan kan i have lavet al den kode uden at vide hvordan det virker ...

// ouT
Avatar billede kalp Novice
22. april 2008 - 16:11 #6
I mangler klassen Dyr i det, som der er posted på Eksperten.
Jeg har formatteret koden lidt og placeret elementerne i regions.
Lad os se hvordan det ender med, at se ud når det har været forbi Eksperten's server -måske beholder det den nye formattering;)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Dyrehotel{
  public class Fisk : Dyr { //arver fra klassen dyr
    public Fisk() { // tom konstruktør
      Race = "Fisk";
    }
  }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Dyrehotel {
  class Hund : Dyr {// arver fra klassen dyr
    public Hund(){ //tom konstruktør
      Race = "Hund";
    }
  }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Dyrehotel {
  public class Kunde
  {
    #region Attributes
      private string m_Navn;
      private string m_Adresse;
      private string m_Telefon;
    #endregion
    public Kunde(){ }
    #region Properties
      public string Navn {
        get { return m_Navn; }
        set { m_Navn = value;}
      }
      public string Adresse {
        get { return m_Adresse;  }
        set { m_Adresse = value; }
      }
      public string Telefon {
        get { return m_Telefon; }
        set { m_Telefon = value;}
      }
    #endregion
  }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Dyrehotel {
  public class Reservation {
        #region Attributes 
          private static int m_ReservationsCounter = 1;
          private int m_ReservationsNummer;
          private string m_Aktivitet;
          private Dyr m_Dyr;
          private Kunde m_Kunde;
        #endregion
        public Reservation() {
            ReservationsNummer = m_ReservationsCounter;
            m_ReservationsCounter++;
        }
   
      #region Properties
        public Kunde Kunden {
            get { return m_Kunde;  }
            set { m_Kunde = value; }
        }
        public int ReservationsNummer {
            get { return m_ReservationsNummer; }
            set { m_ReservationsNummer = value;}
        }
        public string Aktivitet {
            get { return m_Aktivitet; }
            set { m_Aktivitet = value; }
        }
        public Dyr Dyr {
            get { return m_Dyr; }
            set { m_Dyr = value; }
        }
        public string UdskrivReservation() {
            string tmp;
            tmp = "Kunde navn: " + Kunden.Navn + "\n";
            tmp = tmp + "Dyrerace: " + Dyr.Race + "\n";
            return tmp;
        }
      #endregion
  }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Dyrehotel {
  class Program {
      static void Main(string[] args) {
          char svar;
          do {
            Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");
            string valg = Console.ReadLine();
            Dyr voresDyr;
            if (valg == "2") {
              Console.WriteLine("Du har valgt en hund");
              voresDyr = new Hund();
            }
            else {
              Console.WriteLine("Du har valgt en fisk");
              voresDyr = new Fisk();
            }

            Reservation VoresReservation = new Reservation();
            VoresReservation.Aktivitet = "Fodre fisken";

            Reservation VoresReservation2 = new Reservation();
            VoresReservation2.Aktivitet = "Lufte hunden";

            Fisk fisken = new Fisk();
            VoresReservation.Dyr = voresDyr;

            Kunde voresKunde = new Kunde();
            voresKunde.Navn = "Mona";
            VoresReservation.Kunden = voresKunde;

            Console.WriteLine(VoresReservation.UdskrivReservation());
            Console.WriteLine("***************");
            Console.WriteLine(VoresReservation.UdskrivReservation());
            Console.WriteLine(VoresReservation.Aktivitet);
            Console.ReadLine();
            Console.WriteLine("Flere reservationer?: Tast 1 for ja eller 2 for nej");
            svar = char.Parse(Console.ReadLine());
          }
          while (svar == '1');
      }
  }
}
Avatar billede kalp Novice
22. april 2008 - 16:11 #7
Hvis i kopirer filerne over i en solution vil i kunne se hvad der menes med Regions.
Avatar billede bitmatic Nybegynder
22. april 2008 - 16:21 #8
-> Rune4000
Prøv at stille nogle konkrete spørgsmål om nogle konkrete dele af koden du ikke forstår.

Hvis det du forventer er, at en af os sætter os ned og kommenterer på hver enkelt linie i jeres kode, så tror jeg du skal være mere end almindeligt heldige for at få et resultat :-)
Avatar billede rune4000 Nybegynder
22. april 2008 - 16:42 #9
#1 ja koden kører, jeg har bare lidt svært ved at forklare hvad jeg har lavet, hvilket skal til min eksamen.
Avatar billede rune4000 Nybegynder
22. april 2008 - 16:48 #10
#buzzz vi er to der har lavet det med meget lidt hjælp fra en tredje medstuderende. Sorry det er vores første større program. Vi har bare svært ved at kommentere de forskellige kodelinier fx: Reservation VoresReservation = new Reservation();
VoresReservation.Aktivitet = "Fodre fisken";

Reservation VoresReservation2 = new Reservation();
VoresReservation2.Aktivitet = "Lufte hunden";

Fisk fisken = new Fisk();
VoresReservation.Dyr = voresDyr;

Kunde voresKunde = new Kunde();
voresKunde.Navn = "Mona";
VoresReservation.Kunden = voresKunde;

Hvad er constructorer, og hvad er objekter?
Avatar billede rune4000 Nybegynder
22. april 2008 - 16:53 #11
#kalp

Her er klassen dyr:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{
    public class Dyr //Opretter klassen Dyr
    {
        //attributter for klassen
        protected string m_Race;
        protected int m_DyrId;
        protected string m_Navn;
        protected string m_Foder;


        public string Race //offentlig metode
        {
            get
            {
                return m_Race;
            }
            set
            {
                m_Race = value;
            }
        }
        public string DyreNavn //offentlig metode
        {
            get              // returnerer attributten variabels indhold
            {
                return m_Navn;
            }
            set              // gemmer variabelnavns indhold i attributten "variabel"
            {
                Console.WriteLine("Indtast dyrenavn:");
                m_Navn = Console.ReadLine();
            }
        }
        public string Foder
        {
            get
            {
                return m_Foder;
            }
            set
            {
                Console.WriteLine("Indtast dyrefoder:");
                m_Foder = Console.ReadLine();
            }
        }
    }
}
Avatar billede rune4000 Nybegynder
22. april 2008 - 16:56 #12
Nu har jeg ændret main til:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{
    class Program //Opretter klassen program
    {
        static void Main(string[] args)
        {
            char svar;
            string aktivitet; // attributter
         

            do //do - while loop starter
            {
                Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");
                string valg = Console.ReadLine();

                //nedarvning fra Dyr

                Dyr voresDyr;
                if (valg == "2")
                {
                    Console.WriteLine("Du har valgt en hund" + "\n");
                    voresDyr = new Hund(); //constructor

                    Console.WriteLine("Indtast Aktivitet for hunden:");
                    aktivitet = Console.ReadLine();

                }
                else
                {
                    Console.WriteLine("Du har valgt en fisk" + "\n");
                    voresDyr = new Fisk();//constructor

                    Console.WriteLine("Indtast Aktivitet for fisken:");
                    aktivitet = Console.ReadLine();
                   
                }

               
                Reservation VoresReservation = new Reservation(); // Hvad hedder det jeg gør her?
                VoresReservation.Aktivitet = aktivitet; // Hvad hedder det jeg gør her?

              Hund hunden = new Hund();// Hvad hedder det jeg gør her?
              Fisk fisken = new Fisk(); //Hvad hedder det jeg gør her?
              VoresReservation.Dyr = voresDyr; // Hvad hedder det jeg gør her?

              Kunde voresKunde = new Kunde(); // Hvad hedder det jeg gør her?
              voresKunde.Navn = "navn"; // Hvad hedder det jeg gør her?
              VoresReservation.Kunden = voresKunde; // Hvad hedder det jeg gør her?

              Kunde voresAdresse = new Kunde();
              voresKunde.Adresse = "add";
              VoresReservation.Kunden = voresKunde;

              Kunde voresTelefon = new Kunde();
              voresKunde.Telefon = "tlf";
              VoresReservation.Kunden = voresKunde;

              Dyr voresNavn = new Dyr();
              voresNavn.DyreNavn = "navn";
              VoresReservation.Kunden = voresKunde;

              Dyr voresFoder = new Dyr();
              voresFoder.Foder = "fodernavn";
              VoresReservation.Kunden = voresKunde;


                Console.WriteLine(VoresReservation.UdskrivReservation()); //Udskriver reservationen fra klassen reservation
                Console.WriteLine("Reservationsnummer: " + VoresReservation.ReservationsNummer);//udskriver reservationsnummer
                Console.WriteLine(VoresReservation.Aktivitet); //Udskriver aktivitet
               
                Console.WriteLine("************************************");

                Console.WriteLine(VoresReservation.UdskrivReservation()); //Udskriver reservationen fra klassen reservation
                Console.WriteLine("Reservationsnummer: " + VoresReservation.ReservationsNummer);// udskriver reservationsnummer
                Console.WriteLine(VoresReservation.Aktivitet); //Udskriver aktivitet

                Console.ReadLine();

                Console.WriteLine("Flere reservationer?: Tast 1 for ja eller 2 for nej" + "\n");
                svar = char.Parse(Console.ReadLine());
            } while (svar == '1'); //do while loop slutter
       
        }

     
    }
}
Avatar billede rune4000 Nybegynder
22. april 2008 - 17:06 #13
Og det er selvfølgelig klassen program jeg snakker om i ovenstående!
Avatar billede j3ppah Novice
22. april 2008 - 19:33 #14
tror vidst ham nr. 3 har hjulpet jer en del ;)...

(men man skal jo ikke dømme folk på "tro / indbildning" :)....

holder forresten stadig på i skal få lavet den default hvis man ikke vælger 1 eller 2, når du skal vælge dyr...
Avatar billede rune4000 Nybegynder
22. april 2008 - 19:41 #15
Jeps jeg ved godt det med valgene, men vores lærer mener vi skal tage udgangspunkt i at folk opfører sig eksemplarisk :-) det er også et introducerende kursus.
Avatar billede kalp Novice
22. april 2008 - 21:25 #16
der er reelt set kun logik i klassen Program.

så spørg ind til de linjer du ikke forstår, så skal vi svare.
Avatar billede rune4000 Nybegynder
22. april 2008 - 23:10 #17
Reservation VoresReservation = new Reservation(); // Hvad hedder det jeg gør her?
VoresReservation.Aktivitet = aktivitet; // Hvad hedder det jeg gør her?

Hund hunden = new Hund();// Hvad hedder det jeg gør her?
Fisk fisken = new Fisk(); //Hvad hedder det jeg gør her?
VoresReservation.Dyr = voresDyr; // Hvad hedder det jeg gør her?

Kunde voresKunde = new Kunde(); // Hvad hedder det jeg gør her?
voresKunde.Navn = "navn"; // Hvad hedder det jeg gør her?
VoresReservation.Kunden = voresKunde; // Hvad hedder det jeg gør her?
Avatar billede j3ppah Novice
22. april 2008 - 23:10 #18
okay :).. jamen så skal i jo gøre som i får besked på :)...

men vil alle andre ikke give mig ret i at man ALTID vil lave et program så du ikke kan fucke det op :D?
altså det er jo ikke meget i skal tilføje...
I kan bruge mit eksempel i bunder, eller kopire det og ændre de ting i føler der ikke er lavet korrekt. :)... håber det hjalp...
P.S. i må gerne lige skrive om det virkede..


Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");
                string valg = Console.ReadLine();

                //nedarvning fra Dyr

                Dyr voresDyr;
                if (valg == "2")
                {
                    Console.WriteLine("Du har valgt en hund" + "\n");
                    voresDyr = new Hund(); //constructor

                    Console.WriteLine("Indtast Aktivitet for hunden:");
                    aktivitet = Console.ReadLine();

                }
                else
                {
                    Console.WriteLine("Du har valgt en fisk" + "\n");
                    voresDyr = new Fisk();//constructor

                    Console.WriteLine("Indtast Aktivitet for fisken:");
                    aktivitet = Console.ReadLine();
                   
                }
-----------------------------------------------------------------------------
Brug dette i stedet
-----------------------------------------------------------------------------

Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");

string b = (Console.ReadLine());
                switch (b)
                {
                    case "1":
                        Console.WriteLine("Du har valgt en fisk" + "\n");
                        voresDyr = new Fisk();//constructor

                        Console.WriteLine("Indtast Aktivitet for fisken:");
                        aktivitet = Console.ReadLine();
                        break;

                    case "2":
                        Console.WriteLine("Du har valgt en hund" + "\n");
                        voresDyr = new Hund(); //constructor

                        Console.WriteLine("Indtast Aktivitet for hunden:");
                        aktivitet = Console.ReadLine();

                        break;

                    default:
                    Console.WriteLine("\n*** ERROR 2 ***\nDu har ikke valgt et dyr vi har!\nPrøv igen.\n\n");
                        continue;

                }
Avatar billede j3ppah Novice
22. april 2008 - 23:12 #19
i default: skulle der selvfølgelig ikke stå ERROR 2. men ERROR 1 da jeg kan se i ikke har andre "ERROR's" :D
Avatar billede rune4000 Nybegynder
22. april 2008 - 23:21 #20
Takker, jeg tester i morgen ;-)
Avatar billede kalp Novice
22. april 2008 - 23:22 #21
Reservation VoresReservation = new Reservation(); // Hvad hedder det jeg gør her?
Svar: opretter en instans/objekt af klassen/typen Reservation.

VoresReservation.Aktivitet = aktivitet; // Hvad hedder det jeg gør her?
Svar: Du assigner m_Aktivitet en værdi via. Aktivitet propertien.

Hund hunden = new Hund();// Hvad hedder det jeg gør her?
Svar: opretter en instans/objekt af klassen hund.

Fisk fisken = new Fisk(); //Hvad hedder det jeg gør her?
Svar: opretter en instans/objekt af klassen fisk.

VoresReservation.Dyr = voresDyr; // Hvad hedder det jeg gør her?
Svar: Du assigner m_Dyr en værdi via. en property

Kunde voresKunde = new Kunde(); // Hvad hedder det jeg gør her?
Svar: opretter en instans/objekt af klassen Kunde.

voresKunde.Navn = "navn"; // Hvad hedder det jeg gør her?
Svar: assigner en værdi til Navn.

VoresReservation.Kunden = voresKunde; // Hvad hedder det jeg gør her?
Svar: assigner en værdi til kunde..
Avatar billede j3ppah Novice
22. april 2008 - 23:24 #22
//skriver teksten
Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");

//opretter en string b (i skal muligvis bruge en anden hvis den er brugt) som den
//laver ud fra en console.readline, hvilket vil sige den bruger det input der kommer
//der fra.
string b = (Console.ReadLine());

//bruger en switch, som går ud fra string b.
                switch (b)
                {

//Hvis string b = "1" laver den sin tekst med du har valgt fisk
                    case "1":
                        Console.WriteLine("Du har valgt en fisk" + "\n");
                        voresDyr = new Fisk();//constructor

                        Console.WriteLine("Indtast Aktivitet for fisken:");
                        aktivitet = Console.ReadLine();
//break gør den falder ud af "switchen"
                        break;

//hvis string b = "2" skriver den du har valgt hund... osv osv..
                    case "2":
                        Console.WriteLine("Du har valgt en hund" + "\n");
                        voresDyr = new Hund(); //constructor

                        Console.WriteLine("Indtast Aktivitet for hunden:");
                        aktivitet = Console.ReadLine();

//break gør at den falder ud af switchen
                        break;

//default siger vel sig selv... det er hvis string b ikke = 1 eller 2...
                    default:
                    Console.WriteLine("\n*** ERROR 1 ***\nDu har ikke valgt et dyr vi har!\nPrøv igen.\n\n");
//Continue gør at den hopper tilbage... (dette kan bruges da det er i starten...
//Ellers ville den hoppe for langt tilbage... (der er mange andre metoder)
                        continue;

                }


//(glemte forklaringerne i den første)
Avatar billede lasserasch Juniormester
23. april 2008 - 09:17 #23
Hold da helt op, det er da en af de længere tråde her... Min mailbox var jo helt fyldt med eksperten.dk mails her til morgen :-)

Kalp -> Godt svar... Tror du får 12 til den eksamen :-)

Rune4000 -> Det kan godt være din lærer siger at man skal antage at folk opfører sig ordenligt, men :

1. Hvis jeg skulle give karakteren ville jeg give ekstra points (eller i hvert fald ikke trække points fra) når der er fejlhåndtering på en kode.
2. Folk opfører sig aldrig ordenligt. Det kan man lige så godt lære fra dag 1. Det er lige som i trafikken, du skal forvente at det kun er dig selv om opfører sig ordenligt. Alle andre er nogle "idioter"... Man må aldrig forvente at en slutbruger ved hvilke værdier en kode forventer at modtage. Hvis jeres lærer siger det, så har han aldrig udviklet software selv før.


Mvh.
Lasse
Avatar billede j3ppah Novice
23. april 2008 - 09:35 #24
citat:
"2. Folk opfører sig aldrig ordenligt. Det kan man lige så godt lære fra dag 1. Det er lige som i trafikken, du skal forvente at det kun er dig selv om opfører sig ordenligt. Alle andre er nogle "idioter"... Man må aldrig forvente at en slutbruger ved hvilke værdier en kode forventer at modtage. Hvis jeres lærer siger det, så har han aldrig udviklet software selv før."

Præcis lasserasch :)... lige hvad jeg mente...
Avatar billede kalp Novice
23. april 2008 - 12:05 #25
lasserasch >> mon ikke jeg ville ja - mundtlig argumentation er trods alt en helt anden ting der ikke involvere dovenskab:)
Avatar billede j3ppah Novice
23. april 2008 - 12:33 #26
+ jeg har smidt den kode de skal bruge og forklaret den for dem ;)
så se nu at få det smidt ind og sig om det virker ;)
Avatar billede rune4000 Nybegynder
23. april 2008 - 16:30 #27
Nu ser koden således ud: using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{//Opretter klassen program
    class Program
    {
        static void Main(string[] args)
        {
            char svar;
            string aktivitet; //har jeg oprettet da den nu skrev en fejl om manglende variabel
            do //do - while loop
            {
               
                //opretter kontrolstruktur og nedarvning fra Dyr

                Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");
                Dyr voresDyr;
                string b = (Console.ReadLine());
                switch (b)
                {
                    case "1":
                        Console.WriteLine("Du har valgt en fisk" + "\n");
                        voresDyr = new Fisk();//constructor

                        Console.WriteLine("Indtast Aktivitet for fisken:");
                        aktivitet = Console.ReadLine();
                        break;

                    case "2":
                        Console.WriteLine("Du har valgt en hund" + "\n");
                        voresDyr = new Hund(); //constructor

                        Console.WriteLine("Indtast Aktivitet for hunden:");
                        aktivitet = Console.ReadLine();

                        break;

                    default:
                        Console.WriteLine("\n*** ERROR 1 ***\nDu har ikke valgt et dyr vi har!\nPrøv igen.\n\n");
                        continue;

                }

                Reservation VoresReservation = new Reservation();
                VoresReservation.Aktivitet = "Fodre fisken";

                Reservation VoresReservation2 = new Reservation();
                VoresReservation2.Aktivitet = "Lufte hunden";

                Fisk fisken = new Fisk();
                VoresReservation.Dyr = voresDyr;

                Kunde voresKunde = new Kunde();
                voresKunde.Navn = "Mona";
                VoresReservation.Kunden = voresKunde;

             
                Console.WriteLine(VoresReservation.UdskrivReservation());
                Console.WriteLine("***************");
                Console.WriteLine(VoresReservation.UdskrivReservation());
                Console.WriteLine(VoresReservation.Aktivitet);
                Console.ReadLine();

                Console.WriteLine("Flere reservationer?: Tast 1 for ja eller 2 for nej");
                svar = char.Parse(Console.ReadLine());
            } while (svar == '1');
       
        }

     
    }
}

Den brokker sig nu over: use of unassigned local variable "svar"....

Tak for alle de gode kommentarer indtil nu!
Avatar billede kalp Novice
23. april 2008 - 16:51 #28
char svar;

til

char svar = '0';
Avatar billede kalp Novice
23. april 2008 - 16:51 #29
hov sorry..

til

char svar = '1';
Avatar billede j3ppah Novice
24. april 2008 - 08:16 #30
får du snart lige smidt det op i stedet for, så vi kan downloade det og se på det... bare brug rappid share eller noget...
er altså 1000x nemmere at hjælpe jer hvis man sidder og selv kan teste på det...
:)
Avatar billede rune4000 Nybegynder
24. april 2008 - 17:09 #31
@ kalp, det virker nu!

Projektet kan hentes her: http://rapidshare.com/files/110071226/Dyrehotel.zip.html
Avatar billede j3ppah Novice
25. april 2008 - 09:10 #32
rune4000 her er en liste over ting der skal rettes...

først et spørgsmål... er der en grund til at i ikke har lavet det i en windows applikationsform i stedet ???.. ville være meget flottere og meget mere overskueligt...



1. Kundenavn må KUN være char

2. Få lavet en liste over forskellige aktiviteter de kan sætte dyret til, i stedet for de selv kan skrive et eller andet random. + husk at lave checkup på at de vælger en af dem.

3. Telefonnr. må KUN være Int

4. Lav en liste over forskelligt dyre foder....

5. lav så efter resevationen bliver "printet", kommer den automatisk med om du vil lave flere resevationer...
Avatar billede j3ppah Novice
25. april 2008 - 09:12 #33
glemte lige at sige... Telefonnr. må være int's og +, og skal være 8, 11 eller 12 langt... husk at sæt den til at fjern eventuelle mellemrum, inden den laver checkup på om det passer...
Avatar billede j3ppah Novice
25. april 2008 - 09:24 #34
grunden til det også må være + har du vel selv regnet ud ??? +45...
og grunden til den enten er 8 11 eller 12 er fordi den enten fx er. 88888888, +4588888888, 004588888888...
grunden til den skal fjerne mellemrum er hvis folk fx skriver +45 88 88 88 88
så skal den lige fjerne dem inden den checker op på de forskellige ting...
Avatar billede rune4000 Nybegynder
26. april 2008 - 09:44 #35
@ j3ppah - ok jeg prøver!

Hvordan kommer jeg til at udskrive flere ting, som fx. kundens adresse og telefonnummer sammen med det andet jeg udskriver to gange?
Avatar billede rune4000 Nybegynder
31. maj 2008 - 17:25 #36
Hej med jer igen,

Nu ser min programklasse ud som nedenstående. Jeg vil stadig gerne have kommentarer, hvis der er nogen der gider!

Derudover så kan jeg ikke finde ud af at få den til at udskrive adresse, telefonnummer, dyrenavn og hvad der eller bliver tastet ind - er der nogen der kan hjælpe?

Hele programmet kan hentes her:     http://rapidshare.com/files/119096761/Dyrehotel.zip.html

**********************************************************************

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dyrehotel
{
    class Program //Opretter klassen program
    {
        static void Main(string[] args)
        {
            char svar = '1';
            string aktivitet; // attributter
         

            do //do - while loop starter
            {
                Console.WriteLine("Vælg dyr: Tast 1 for fisk eller 2 for hund");//skriver teksten
                Dyr voresDyr;

                string b = (Console.ReadLine());//opretter en string b som den
                //laver ud fra en console.readline, hvilket vil sige den bruger det input der kommer
                //der fra.

                switch (b)//bruger en switch, som går ud fra string b.
                {


                    case "1": //Hvis string b = "1" laver den sin tekst med du har valgt fisk
                        Console.WriteLine("Du har valgt en fisk" + "\n");
                        voresDyr = new Fisk();//constructor

                        Console.WriteLine("Indtast Aktivitet for fisken:");
                        aktivitet = Console.ReadLine();

                        break; //break gør den falder ud af "switchen"

                    case "2": //hvis string b = "2" skriver den du har valgt hund... osv osv..
                        Console.WriteLine("Du har valgt en hund" + "\n");
                        voresDyr = new Hund(); //constructor

                        Console.WriteLine("Indtast Aktivitet for hunden:");
                        aktivitet = Console.ReadLine();

                        break; //break gør at den falder ud af switchen

                    default: //default siger vel sig selv... det er hvis string b ikke = 1 eller 2...
                        Console.WriteLine("\n*** ERROR 1 ***\nDu har ikke valgt et dyr vi har!\nPrøv igen.\n\n");

                        continue;//Continue gør at den hopper tilbage... (dette kan bruges da det er i starten...
                    //Ellers ville den hoppe for langt tilbage... (der er mange andre metoder)

                }

             
                Hund hunden = new Hund();// opretter en instans/objekt af klassen hund
                Fisk fisken = new Fisk(); //opretter en instans/objekt af klassen fisk

                Reservation VoresReservation = new Reservation(); //opretter en instans/objekt af klassen/typen Reservation
                VoresReservation.Aktivitet = aktivitet; //assigner m_Aktivitet en værdi via. Aktivitet propertien 

                Kunde voresKunde = new Kunde(); //opretter en instans/objekt af klassen Kunde
                VoresReservation.Kunden = voresKunde; //assigner en værdi til kunde

                voresKunde.Navn = "navn"; //assigner en værdi til Navn
                voresKunde.Adresse = "add"; //assigner en værdi til Adresse
                voresKunde.Telefon = "tlf"; //assigner en værdi til Telefon

                Dyr voresNavn = new Dyr(); //opretter en instans/objekt af klassen Dyr
                VoresReservation.Dyr = voresDyr; // assigner m_Dyr en værdi via. en property

                voresNavn.DyreNavn = "navn"; //assigner en værdi til DyreNavn
                voresNavn.Foder = "fodernavn"; //assigner en værdi til Foder
             


                Console.WriteLine(VoresReservation.UdskrivReservation()); //Udskriver reservationen fra klassen reservation
                Console.WriteLine("Reservationsnummer: " + VoresReservation.ReservationsNummer);//udskriver reservationsnummer
                Console.WriteLine(VoresReservation.Aktivitet); //Udskriver aktivitet
               
                Console.WriteLine("************************************");

                Console.WriteLine(VoresReservation.UdskrivReservation()); //Udskriver reservationen fra klassen reservation
                Console.WriteLine("Reservationsnummer: " + VoresReservation.ReservationsNummer);// udskriver reservationsnummer
                Console.WriteLine(VoresReservation.Aktivitet); //Udskriver aktivitet

                Console.ReadLine();

                Console.WriteLine("Flere reservationer?: Tast 1 for ja eller 2 for nej" + "\n");
                svar = char.Parse(Console.ReadLine());
            } while (svar == '1'); //do while loop slutter
       
        }

     
    }
}
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