Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

C# litet problem

Skapad av Borttagen, 2010-05-29 21:00 i Webbutveckling & Programmering

1 461
9 inlägg
0 poäng
NemoEstContant
Visningsbild
P 29 Göteborg Hjälte 107 inlägg
0
Hej. Jag har problem med att jag vill få ett program att helt enkelt göra tre saker 1. be en att trycka på ett.
2. om man trycker på 1 be en trycka på esc.
3. om man inte trycker på 1, be en försöka igen, om man då trycker på ett. be en trycka på esc.

Här är Koden. Kan någon säga vad som är fel?












Visa spoiler


class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Erease All Data...");
Console.WriteLine("To Abort This Operation, Press 1...");
ConsoleKeyInfo A = Console.ReadKey();
ConsoleKeyInfo B = Console.ReadKey();
ConsoleKeyInfo C = Console.ReadKey();
if (A.Key == ConsoleKey.D1) {
Console.WriteLine(" ");
Console.WriteLine("To Close This Window, Press Esc");goto Ete;}
Khk:
else {Console.WriteLine(" ");
Console.WriteLine("No, Press 1...");goto Enn; }
Enn:
if (C.Key == ConsoleKey.D1) Abc:{
Console.WriteLine(" ");
Console.WriteLine("To Close This Window, Press Esc");goto Ete;}
else {goto Khk;}
Ete:
ConsoleKeyInfo B = Console.ReadKey();
if (B.Key == ConsoleKey.Escape) {Console.WriteLine(" ");
}
else {goto abc;}
}
}
}

Fuck No

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

pezhvak
Visningsbild
P 33 Hjälte 6 inlägg
0
Well, I'm not sure i understood your question right or not (I'm not living in Sweden)
but you forgot to define a label for "Ete",
you used "goto Ete;" when there is no label defined with that name, hope that was what you looking for ;)

Pezhvak likes cats too, let's exchange recipes

Raz
Visningsbild
P 31 Hjälte 2 733 inlägg
0

Svar till pezhvak [Gå till post]:

He defined it at row 21.


Svar till NemoEstContant [Gå till post]:

Varför har du massor etiketter överallt ens?
Jag är inte bekant med C#, men jag tror knappast att man kan sätta etiketter hejvillt i koden.

if (C.Key == ConsoleKey.D1) Abc:{, till exempel.

Adieu

pezhvak
Visningsbild
P 33 Hjälte 6 inlägg
0
Oy, sorry, i didn't read it to the end...
here is a pure code for you:
[code]
Console.WriteLine("Erease All Data...");
Console.WriteLine("To Abort This Operation, Press 1...");
ConsoleKeyInfo A;
bool canQuite = false;
bool isD1Pressed = false;
do
{
A = Console.ReadKey();
if (!isD1Pressed)
if (A.Key != ConsoleKey.D1 && A.Key != ConsoleKey.NumPad1)
Console.WriteLine("
No, Press 1...");
else
{
isD1Pressed = true;
Console.WriteLine("
To Close This Window, Press Esc");
}
else
{
if (A.Key != ConsoleKey.Escape)
Console.WriteLine("
To Close This Window, Press Esc");
else
canQuite = true;
}
}
while (!canQuite);
[/code]

Actually i added a little bit codes, for example in your app don't accept number 1 from num-pad, just from top row of your keyboard, so if you don't like that, you can remove "A.Key != ConsoleKey.NumPad1", so it will act just as you like, also you used space to separate your messages, you can use "
" to break line..

hope this work4 you ;)

Pezhvak likes cats too, let's exchange recipes

pezhvak
Visningsbild
P 33 Hjälte 6 inlägg
0
Svar till pezhvak [Gå till post]:

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Erease All Data...");
Console.WriteLine("To Abort This Operation, Press 1...");
ConsoleKeyInfo A;
bool canQuite = false;
bool isD1Pressed = false;
do
{
A = Console.ReadKey();
if (!isD1Pressed)
if (A.Key != ConsoleKey.D1 && A.Key != ConsoleKey.NumPad1)
Console.WriteLine("
No, Press 1...");
else
{
isD1Pressed = true;
Console.WriteLine("
To Close This Window, Press Esc");
}
else
{
if (A.Key != ConsoleKey.Escape)
Console.WriteLine("
To Close This Window, Press Esc");
else
canQuite = true;
}
}
while (!canQuite);

}
}

Pezhvak likes cats too, let's exchange recipes

Blumfan
Visningsbild
P 32 Ljungbyholm Hjälte 1 698 inlägg
0

Svar till NemoEstContant [Gå till post]:

Vad är det som blir fel för det första?

sen skulle jag starkt råda dig att inte använda goto alls, utan försök använd en do-while loop i stället.

Ovanligt blå

pezhvak
Visningsbild
P 33 Hjälte 6 inlägg
0
actually this site will change "
" to linebreak, so i re-submitted that with a different solution, it seems that didn't work too.. everywhere you see linebreak in middle of the source code, replace the linebreak with "
", and i didn't understand about this line: "sen skulle jag starkt råda dig att inte använda goto alls, utan försök använd en do-while loop i stället.", is i said I'm not living in Sweden, so my Swedish is bad:D

Pezhvak likes cats too, let's exchange recipes

pezhvak
Visningsbild
P 33 Hjälte 6 inlägg
0
Corrected version:

Svar till Blumfan [Gå till post]:

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Erease All Data...");
Console.WriteLine("To Abort This Operation, Press 1...");
ConsoleKeyInfo A;
bool canQuite = false;
bool isD1Pressed = false;
do
{
A = Console.ReadKey();
if (!isD1Pressed)
if (A.Key != ConsoleKey.D1 && A.Key != ConsoleKey.NumPad1)
Console.WriteLine("\nNo, Press 1...");
else
{
isD1Pressed = true;
Console.WriteLine("\nTo Close This Window, Press Esc");
}
else
{
if (A.Key != ConsoleKey.Escape)
Console.WriteLine("\nTo Close This Window, Press Esc");
else
canQuite = true;
}
}
while (!canQuite);

}
}

Pezhvak likes cats too, let's exchange recipes

cower
Visningsbild
P 44 Lund Hjälte 1 042 inlägg
0
Svar till NemoEstContant [Gå till post]:
Använd aldrig goto, det leder bara till svårfunna buggar.


Forum » Datorer & IT » Webbutveckling & Programmering » C# litet problem

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons