Problem mit Programm
-
Außerdem liest Console.Read() nur ein Zeichen ein, du solltest besser Console.ReadLine() verwenden und den String dann mit Convert.ToDouble() konvertieren.
-
jo danke das mit dem Console.ReadLine(); hat funktioniert :), vielen dank dafür.
doch nun naht schon das zweite problem :/. und zwar hab ich nun das problem das er bei der rechnung irgendwas verbockt oO.
als beispiel: ich gebe einen betrag von 100 ein, der wird ja dann mit der dmwst variable mal genommen um den bruttobetrag zu erhalten. alleridings kommt dabei nich wie geplant 116 heraus sondern : 56,84.programmcode ist hier:
public class mwst { public static void Main() { double rnetto, rbrutto; const double dmwst = 1.16; Console.WriteLine("Bitte geben sie einen Nettobetrag ein."); rnetto = Console.Read(); Console.ReadLine(); rbrutto = dmwst * rnetto; Console.Write("Der Bruttobetrag ist: {0}.", rbrutto); Console.ReadLine(); } }
danke schonmal im vorraus
-
Du Solltest deine Werte noch vorher Convertieren. Und im Übrigen liest mans anders ein... :
rnetto = double.Parse(Console.ReadLine());
-
kann leider net sagen was das genaue problem ist aber wenn ihr es wisst dann könntet ihr es mir ja sagen
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace TicketSystem
{
class Program
{
static void Main(string[] args)
{
double betrag,rest;
int dauer; //--Variablen
int auswahl = '0';
do
{Console.WriteLine("Parscheinsystem"); //--ausgabe der information
Console.WriteLine(); //--ausgabe der information
Console.WriteLine("50 cent pro viertel Stunde."); //--ausgabe der information
Console.WriteLine("maximale dauer 1Std."); //--ausgabe der information
Console.WriteLine("geben sie einen Betrag ein Max. 2 Euro"); //--ausgabe der informationbetrag = Convert.ToDouble(Console.ReadLine()); //--eingabe des betrags
if (betrag > 2) //--ausgabe der information
{
Console.WriteLine("Maximaler Betrag ist 2 Euro");
Console.WriteLine();
Console.WriteLine("der Restbetrag wird ausgeben");
}
Console.WriteLine("gebe gewünschte parkdauer ein maximale eingabe 1Std"); //--auswahl der Parkdauerzeit
Console.WriteLine("um Parkdauer zu erhöhen wähle");
Console.WriteLine("1 ---> 15 Minuten 2 ---> 30 Minuten 3 ---> 45 Minuten 4 ---> 60 Minuten");
dauer = Convert.ToInt16(Console.ReadLine());switch (dauer) //--vergleich der eingabe
{
case 1:
rest = betrag - 0.5;
Console.WriteLine("ihre parkdauer ist 15 Minuten lang");
Console.WriteLine("Ihre Parkdauer endet um");
Console.WriteLine();
Console.WriteLine(rest);
break;case 2:
rest = betrag - 1;
Console.WriteLine("Ihre Parkdauer ist 30 Minuten lang");
Console.WriteLine("Ihre Parkdauer endet um");
Console.WriteLine();
Console.WriteLine(rest);
break;case 3:
rest = betrag - 1.5;Console.WriteLine("ihre Parkdauer ist 45 Minuten lang");
Console.WriteLine("Ihre Parkdauer endet um ");
Console.WriteLine();
Console.WriteLine(rest);
break;case 4:
rest = betrag - 2;
Console.WriteLine("ihre Parkdauer ist 60 Minuten lang");
Console.WriteLine("Ihre Parkdauer endet um");
Console.WriteLine();
Console.WriteLine(rest);
break;default:
Console.WriteLine("falsche Parkdauer geld wird ausgegeben versuchen sie es erneut");}
Console.WriteLine("möchten sich noch eine schein ausdrucken");
Console.WriteLine();
Console.WriteLine("Geben sie 'j' für einen neuen parkschein ein");
auswahl =Convert.ToInt16(Console.ReadLine());
}while (auswahl == '0');
}}
}
-
Und was war jetzt die Frage?
-
naja die frage ist warum das programm net geht
habe keine ahnung davon kann nur c++
-
Wenn du jetzt noch die Güte hättest das Fehlverhalten etwas näher zu beschreiben...
-
Ich war mal so frei.
using System; using System.Collections.Generic; using System.Text; namespace TicketSystem { class Program { static void Main(string[] args) { double betrag, rest; int dauer; //--Variablen int auswahl = '0'; do { Console.WriteLine("Parscheinsystem"); //--ausgabe der information Console.WriteLine(); //--ausgabe der information Console.WriteLine("50 cent pro viertel Stunde."); //--ausgabe der information Console.WriteLine("maximale dauer 1Std."); //--ausgabe der information Console.WriteLine("geben sie einen Betrag ein Max. 2 Euro"); //--ausgabe der information betrag = Convert.ToDouble(Console.ReadLine()); //--eingabe des betrags if (betrag > 2) //--ausgabe der information { Console.WriteLine("Maximaler Betrag ist 2 Euro"); Console.WriteLine(); Console.WriteLine("der Restbetrag wird ausgeben"); } Console.WriteLine("gebe gewünschte parkdauer ein maximale eingabe 1Std"); //--auswahl der Parkdauerzeit Console.WriteLine("um Parkdauer zu erhöhen wähle"); Console.WriteLine("1 ---> 15 Minuten 2 ---> 30 Minuten 3 ---> 45 Minuten 4 ---> 60 Minuten"); dauer = Convert.ToInt16(Console.ReadLine()); switch (dauer) //--vergleich der eingabe { case 1: rest = betrag - 0.5; Console.WriteLine("ihre parkdauer ist 15 Minuten lang"); Console.WriteLine("Ihre Parkdauer endet um"); Console.WriteLine(); Console.WriteLine(rest); break; case 2: rest = betrag - 1; Console.WriteLine("Ihre Parkdauer ist 30 Minuten lang"); Console.WriteLine("Ihre Parkdauer endet um"); Console.WriteLine(); Console.WriteLine(rest); break; case 3: rest = betrag - 1.5; Console.WriteLine("ihre Parkdauer ist 45 Minuten lang"); Console.WriteLine("Ihre Parkdauer endet um "); Console.WriteLine(); Console.WriteLine(rest); break; case 4: rest = betrag - 2; Console.WriteLine("ihre Parkdauer ist 60 Minuten lang"); Console.WriteLine("Ihre Parkdauer endet um"); Console.WriteLine(); Console.WriteLine(rest); break; default: Console.WriteLine("falsche Parkdauer geld wird ausgegeben versuchen sie es erneut"); break;//VERGESSEN! ! ! } Console.WriteLine("möchten sich noch eine schein ausdrucken"); Console.WriteLine(); Console.WriteLine("Geben sie 'j' für einen neuen parkschein ein"); auswahl = Convert.ToInt16(Console.ReadLine()); } while (auswahl == '0'); } } }
break;
nach
default:
vergessen
using System.Linq;
Kennt C# nicht.
Gruß, Doug_HH
-
Doug_HH schrieb:
using System.Linq;
Kennt C# nicht.
Doch, kennt C#
using ist ein Schlüsselwort von C# um den Namensraum anzugeben. C# kann hier im bestenfall nur den Namensraum der referenziert wird nicht kennen.
Linq hat in C# 3.0 Sprachelemente bekommen. Zu diesen gehört System.Linq (.Net 3.5)
-
@ kunndelbaer...
Och ich wieder, dass ist bitter wieder aufs neue zu erfahren, das ich nicht mehr auf den neusten Stand bin.
Mir hat man Windows 3.1 als Nachfolger von VISTA verkauft
Ich muss nachrüsten, glaube ich.Gruß, Doug_HH