taak probleem

Pagina: 1
Acties:
  • 982 views

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • hiseiba
  • Registratie: Oktober 2022
  • Laatst online: 30-04-2024
Dag iedereen ik was mijn taak voor school aan het maken en ik snap echt niet wat de probleem van mijn codes zijn kan iemand me helpen

schooltaak:
Ontwerp een console toepassing waarmee je berekent hoeveel iemand voor een bioscoopkaartje moet betalen.
De volle prijs van een bioscoopticket bedraagt 13,70 EUR.
Op basis van de leeftijd wordt de prijs bepaald:
Jonger dan 5 jaar: gratis;
Tussen de 5 en de 12: halve prijs;
Tussen de 13 en de 54: vol tarief;
55+: gratis

mijn codes:
//declaratie variabelen
const double cdblVollePrijsTicket = 13.70;
double dblEindPrijsTicket;
int intLeeftijd;

dblEindPrijsTicket = 0;

//invoer
Console.Write("Hoe houd ben je: ");
intLeeftijd = Convert.ToInt32(Console.Read()); ;


if (intLeeftijd < 5)
{

//uitvoer
Console.WriteLine();
Console.Write("jouw bioscoopticket is gratis.");
}
else if (intLeeftijd >= 5 && intLeeftijd<= 12)
{
//berekening
dblEindPrijsTicket = cdblVollePrijsTicket / 2;

//uitvoer
Console.WriteLine();
Console.Write("je moet " + Math.Round(dblEindPrijsTicket, 2).ToString() + "EUR betalen.");
}
else if (intLeeftijd >= 13 && intLeeftijd <= 54)
{
//berekening
dblEindPrijsTicket = cdblVollePrijsTicket;

//uitvoer
Console.WriteLine();
Console.Write("je moet " + Math.Round(dblEindPrijsTicket, 2).ToString() + "EUR betalen.");
}
else if (intLeeftijd >= 55)
{

//uitvoer
Console.WriteLine();
Console.Write("jouw bioscoopticket is gratis.");
}
else
{
Console.WriteLine();
Console.Write("je geeft geen gegeven in");
}


Console.ReadKey();

Alle reacties


Acties:
  • +1 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 15-09 20:52
Je zou het beste je code eens tussen code-tags kunnen stoppen zodat het leesbaar is. En geef eens aan wat het probleem is.

Acties:
  • 0 Henk 'm!

  • Umbrah
  • Registratie: Mei 2006
  • Laatst online: 16:05

Umbrah

The Incredible MapMan

We doen hier niet aan huiswerk problemen oplossen, maar je zou kunnen beginnen eens te omschrijven waar je probleem zit volgens een compiler, wat je verwacht, wat voor foutmeldingen je hebt, en de code leesbaar te maken door de code-tags te gebruiken (met een taal specificatie, het ziet er uit als klassiek VBasic, dit).

Wat betreft je huiswerk:

Wat zei je docent/huiswerkbegeleider toen je om hulp vroeg? Wat heb je in je aantekeningen van je lessen staan? Wat voor bronnen gebruik je om dit te leren? Het is leuk spul en een belangrijke vaardigheid om te leren, en dat willen we je natuurlijk niet ontnemen, want de denkwijze die hier achter zit heb je een hoop aan later.

Acties:
  • 0 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 15-09 20:52
Umbrah schreef op zaterdag 8 oktober 2022 @ 14:39:
...het ziet er uit als klassiek VBasic, dit)...
Lijkt eerder op C#

Acties:
  • +2 Henk 'm!

  • Mrlten
  • Registratie: Februari 2005
  • Laatst online: 15:21

Mrlten

Premium Deluxe Plus

Ik zou hier een ReadLine van maken, anders houdt het op bij negenjarigen:

code:
1
intLeeftijd = Convert.ToInt32(Console.Read())

Acties:
  • +2 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 15-09 20:52
Tot zover het opvoeden dat TS iets beter zijn best moet doen om het probleem te omschrijven.

Acties:
  • +1 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 16:10

DukeBox

loves wheat smoothies

hiseiba schreef op zaterdag 8 oktober 2022 @ 14:30:
Tussen de 5 en de 12: halve prijs;
Tussen de 13 en de 54: vol tarief;
55+: gratis
Beetje offtopic maar zoals het er nu staat zijn er 2 gaten, namelijk als je tussen de 12 en 13 jaar bent en als je tussen de 54 en 55 bent.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 15-09 20:52
Het aantal integers > 12 en < 13 is gelukkig niet zo groot. Idem voor 54, 55.

Acties:
  • +1 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 14:24
Hungarian notation: zsm hiervan afstappen in een strong typed language aangezien je hier geen vrienden mee maakt in het bedrijfsleven.

Verder ontopic: kun je duidelijk omschrijven wat er precies misgaat? Wat is bv de uitkomst die krijgt bij verschillende inputs?

Acties:
  • +1 Henk 'm!

  • michiel_
  • Registratie: Juli 2005
  • Niet online
Mrlten schreef op zaterdag 8 oktober 2022 @ 14:45:
Ik zou hier een ReadLine van maken, anders houdt het op bij negenjarigen:

code:
1
intLeeftijd = Convert.ToInt32(Console.Read())
Nog mooier: Console.Read() geeft een int (charcode) terug. Ik snap dat je hier flink op vast kan lopen.
Ik zou zeggen, kijk naar de waarde van intLeeftijd bij verschillende invoeren, pak een ASCII tabel erbij en probeer uit te zoeken wat er gebeurd :)

Acties:
  • 0 Henk 'm!

  • Umbrah
  • Registratie: Mei 2006
  • Laatst online: 16:05

Umbrah

The Incredible MapMan

Visual Basic:
1
Dim affirm As String = "You're right"

Acties:
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

Zoals al aangegeven: Afstappen van de Hongaarse notatie. Het boeit onder in je script geen reet of je variabele een constante is, noch of het een int of double is. C# (wat dit lijkt te zijn) is een strong typed taal, dus als je appels met peren gaat vergelijken krijg je daar meteen een hele duidelijke foutmelding van. Je variabelen hiermee vervuilen zorgt alleen voor enorme refactor commits als je ooit een type verandert.

Daarnaast is Tweakers niet de juiste plek om je huiswerk voor je te laten doen (al blijken mensen hier wel in te trappen deze keer). Je zou op z'n allerminst je code tussen [code] tags kunnen zetten zodat indents worden meegenomen en het nog enigszins leesbaar is, en (ook tussen code tags) de foutmelding die je krijgt kunnen delen.

Het feit dat je het 'mijn codes' noemt maakt wat mij betreft duidelijk dat je nog aan het begin van je schoolcarrière zit en nog echt geen kaas hebt gegeten van programmeren, dus het gaat je veel helpen als je nu alvast van de slechte gewoontes afstapt want je zult hier nog wel een keer terugkomen.

Ben wel benieuwd wat er nu daadwerkelijk fout gaat, en wat voor oplossingen je zelf hebt geprobeerd op basis van de overduidelijke foutmelding die C# hierover zou moeten geven :)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zoals al aangegeven door anderen: we willen best met je meedenken met je huiswerk maar we verwachten óók dat je zelf wat moeite doet. We zitten hier niet om het vóór je te maken.

Begin eens met uit te leggen wat je probleem is, wát je niet snapt, wat je geprobeerd hebt, wat je gezocht en gevonden hebt etc. En dat mag dan in een nieuw topic waarin je dan ook meteen netjes code-tags gebruikt.

[ Voor 44% gewijzigd door RobIII op 08-10-2022 17:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.