Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Hjælp til C#

Af Megabruger MESJ | 25-11-2009 11:57 | 1241 visninger | 3 svar, hop til seneste
Hej holere Vi sidder og har noget c# consol programmering i skolen og er støt på et lille problem : ) { while (1 == 1) { string temp; double børn=0; double voksne=0; double Pensionister=0; double atbetale; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\nDette program udregner billet priser, du vil nu blive bedt om\n at indtaste antallet af børn, voksne og pensionister"); Console.WriteLine("\n\n\nBørn - fra 0 til 18 år\n kroner 35"); Console.WriteLine("Voksne - fra 18 til 60 år\n kroner 60"); Console.WriteLine("Pensionister - fra 60 og opefter \n kroner 30"); Console.ReadKey(); Console.Clear(); Console.WriteLine("Indtast antallet af Børn:"); temp = Console.ReadLine(); børn = double.Parse(temp); Console.WriteLine("Indtast antallet af Voksne:"); temp = Console.ReadLine(); voksne = double.Parse(temp); Console.WriteLine("indtast antallet af Pensionister"); temp = Console.ReadLine(); Pensionister = double.Parse(temp); børn = børn * 35; voksne = voksne * 60; Pensionister = Pensionister * 30; atbetale = børn + voksne + Pensionister; Console.Clear(); Console.WriteLine("\nAt betale:"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\n\n" + atbetale + "Kr."); Console.ReadKey(); Console.Clear(); } alt virker som det skal men vi kunne godt tænke os at man ikke var tvunget til at skrive 0 vis der ikke er nogen børn istedet for bare at pass den metoden med enter .. nogen ideer til hvordan man kunne gøre det ? Mvh mesj
--
#1
Sebastian|
Ultrabruger
25-11-2009 12:12

Rapporter til Admin
Det kan I gøre ved at benytte jer af double.TryParse(temp, out børn) i stedet for double.Parse(børn), fordi: 1) .TryParse() ikke kaster en fejl, såfremt strengen ikke kan konverteres til en double 2) børn er deklareret med værdien 0 I bør således kunne taste Enter, hvorefter temp bliver indlæst med en tom streng ... som blot ignoreres, og børn derfor vil være 0 som sat i udgangspunktet. Håber det hjælper jer videre.
--
Gode svar kræver gode spørgsmål. Husk detaljerne, når du spørger.
#2
ZazzY
Nørd Aspirant
25-11-2009 12:12

Rapporter til Admin
I stedet for "while (1 == 1)" - kan i bare skrive "while (true)" Mht. til enter Console.WriteLine("Indtast antallet af Børn:"); temp = Console.ReadLine(); if (temp == null) { temp = 0; } else //Eller if (temp != null) { børn = double.Parse(temp); }
--
| P5N32-E SLI Plus | Intel Core 2 Quad(Q6600) - 2.4 @ 3.6 | 4x1Gb Corsair Dominator XMS2 PC6400 | Club 3D 9800GX2 | Seagate 320Gb(Raid 0) |
#3
MESJ
Megabruger
25-11-2009 12:25

Rapporter til Admin
Tak tak ! 1# Perfekt løsning virker uden problemer! kunne du specificer lidt hvad tryparse er ? 2# Din løsning virkede umidelbart som et fint alternativ (dog noget kompliceret!) MEN der kommer fejl ved børn = børn * 35; ? (unassigned)
--

Opret svar til indlægget: Hjælp til C#

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning