kleine app voor een starter.. 'vul een emmer

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Obi-Vince
  • Registratie: Februari 2011
  • Laatst online: 19-07-2023
Mijn vraag
'hulp bij een opzet van een apje

Relevante software en hardware die ik gebruik
visual studio
Wat ik al gevonden of geprobeerd heb

emmer aplicatie

verschillende emmers kunnen maken (2) met verschillende maximale inhoud
vulbaar - nummerieke input
leegbaar - nummerieke input; stapsgewijs en in 1x
gebruik van emmer class, properties en de constructor
kunnen laten zien wat er (nog) in de emmer zit
kunnen opvoeren hoeveel je in de emmer wilt doen
kunnen knoeien en laten zien hoeveel er geknoeid is

k was hiermee bezig maar lukt nog niet echt..Constructor:

class Bucket{
private string bucketname;
private int amount of liters;

private Bucket (string name, int ltramnt)
{
Name = name;
amount of liters = ltramnt;
}
}

Bucket name = new Bucket("Bucket10", 10);


Properties:
class Bucket

Public static void Main (string[] arg)
{
bucket Bucket10 = new Bucket ();
Console.Writeline (name, ltramount);
Bucket10.ltramnt = 10;
Console.Writeline (Bucket10.ltramnt);
ik probeerde meerdere emmers aan te kunnen maken met inhoud van 10 tot 12 liter
uitgeschreven..Emmer 10 tot 12 liter
emmer vullen (in stappen)
emmer leeggooien in stappen
emmer leeg gooien in 1 keer

flow zoals ik m zie..
"je gaat nu een emmer pakken, geef aan of je een emmer met een inhoud van 10, 11 of 12 liter wilt gebruiken"

"Type met hoeveel liter je de emmer wilt vullen"
"Er zit nu () Liter in de emmer"
"De emmer is nu vol"
"De emmer loopt over, je hebt () Liter verspilt"
"Wil je een nieuwe emmer vullen? Y/N"
"Druk op 'enter' om de applicatie te verlaten"

"Type hoeveel liter je uit de emmer wilt halen"
"Er zit nu nog () Liter in de emmer"
"wil je de emmer verder legen? Y/N"
"Zoveel liter zit er niet meer in de emmer; je kunt nog maar () uit de emmer halen"
"De emmer is nu leeg"
"Druk op 'enter' om de applicatie te verlaten"

Type "legen" om de emmer ineens te legen.
"De emmer is nu helemaal leeg"
"Wil je een nieuwe emmer vullen? Y/N"
"Druk op 'enter' om de applicatie te verlaten"


kan iemand mij een duidelijke structuur uitleggen??

bij voorbaat superbedankt!

Beste antwoord (via Obi-Vince op 24-06-2017 09:22)


Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Bucket
{
public string name;
public int liters;
private int huidige;

public Bucket (string name, int ltramnt)
{
name = name;
liters = ltramnt;
}



public vulemmer()
public leegemmervolledig()
public leegemmer()
public huidigeopvragen()

}


qua structuur moet je volgens mij er zo wel uit kunnen komen.

Wellicht ook een handige site om door te nemen ivm classes http://csharp.net-tutorials.com/classes/introduction/

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Bucket
{
public string name;
public int liters;
private int huidige;

public Bucket (string name, int ltramnt)
{
name = name;
liters = ltramnt;
}



public vulemmer()
public leegemmervolledig()
public leegemmer()
public huidigeopvragen()

}


qua structuur moet je volgens mij er zo wel uit kunnen komen.

Wellicht ook een handige site om door te nemen ivm classes http://csharp.net-tutorials.com/classes/introduction/

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
@Obi-Vince Welkom hier op het forum. Ten eerste wil ik je wijzen op het gebruik maken van de [code=c#]code....[/] tags zodat het wat beter leesbaar is.

Verder zou ik je willen vragen om wat meer uit te wijden over wat er niet wil lukken. Want hoewel het hier niet verboden is om huiswerkvragen te stellen willen we daarbij wel dat de topicstarter vooral zichzelf helpt, en dat doe je het beste door je eigen gedachten proces uit te leggen, en te vertellen wat er niet wil lukken.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Obi-Vince
  • Registratie: Februari 2011
  • Laatst online: 19-07-2023
Dank voor de feedback! Ik kan hier zeker mee aan de slag.
Het is niet zo dat ik andere mijn huiswerk wil laten maken hoor maar ik ben met C sharp nog zo groen als gras en heb moeite met het opbouwen van een syntax ruggegraat om goed mee te kunnen experimenteren. Nogmaals dank!!

Acties:
  • +3 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op vrijdag 23 juni 2017 @ 16:08:
code:
1
...


qua structuur moet je volgens mij er zo wel uit kunnen komen.

Wellicht ook een handige site om door te nemen ivm classes http://csharp.net-tutorials.com/classes/introduction/
Met als extragratis extra tips: camelcase gebruiken voor variabele- en functienamen, en daarbij private spul met een kleine letter beginnen en public spul met een hoofdletter zoals AFAIK gangbaar is in C#. Daarnaast geen talen mixen in je code. Er zijn argumenten voor en tegen Nederlands in je code gebruiken maar die discussie even helemaal uit de weg gaand: zowel "bucket" als "emmer" benoemen lijkt me verre van handig. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Obi-Vince
  • Registratie: Februari 2011
  • Laatst online: 19-07-2023
Dank :-)

En het is iid de bedoeling alles in het engels te houden.. mijn opzetje was in NL, inderdaad niet handig :-S
Ik ben nog ene beetke aan het puzzelen, na een chaotische introductieles of ik in visual studio alles in 1 script kwijt kan dat ik de handeling (en dus het kunnen aanmaken van meerdere buckets los moet koppelen van de bucket en zijn properties. Zodat ik in visual studio 2 scripts/tabs krijg.. is dit nodig? en waarom wel/niet?

Acties:
  • +3 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Hoe je het verdeelt over meerdere bestanden staat niet vast. Hier kan je een discussie daarover lezen: https://stackoverflow.com...classes-in-separate-files

Verder doe je wat dingen fout in je eerste opzetje:
  • "amount of liters" mag geen spaties bevatten. Het moet dan iets als amountOfLiters worden.
  • Je constructor is private en dat wil zeggen alleen in die klasse zichtbaar. Hoe wil je dan objecten daarvan maken?
  • In je constructor schrijf je naar Name terwijl je veld bucketname heet. De name = name; van Grave is trouwens ook niet goed. Het moet in zijn voorbeeld this.name = name; worden.
Wat je wel goed doet en Grave wat minder is dat je al je velden private hebt gemaakt. Verder is het gebruikelijk dat je alleen waardes die je niet meer kan veranderen aan je constructor meegeeft en de rest zet je via properties. Voor het ophalen van simpele waardes gebruik je properties. Methoden gebruik je als er acties gedaan moeten worden.

Hoe ik het zou doen:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Bucket
{
    private int maxAmount;
    private int currentAmount;

    public Bucket(int size)
    {
        maxAmount = size;
    }

    public string Name { get; set; }

    public int CurrentAmount
    {
        get 
        {
            return currentAmount;
        }
    }

    public void Fill()
    {
        // a method; TODO: implement
    }
    
    public void Empty()
    {
        // a method; TODO: implement
    }
    
    public void Remove(int amount)
    {
        // a method; TODO: implement
    }
}

Acties:
  • 0 Henk 'm!

  • Obi-Vince
  • Registratie: Februari 2011
  • Laatst online: 19-07-2023
Super bedankt!

Mijn cursus testcase is geaccepteerd, vanaf volgende week 4 maanden intensief trainen.. Ik kom hier waarschijnlijk vaker langs ;-)

Nogmaals dank voor alle food for thought!
Pagina: 1