Kontrollstrukturen
-
Ich bin leider noch Anfänger...Die Aufgabe muss ich bis morgen erledigen:
Ein benutzer soll hintereinander(jeweils mit Readline())vier einzelne Zeichen(kein
String) eingeen können,die ein Password darstellen sollen.Diese vier Zeichen sollen nach den folgenden kriterien überprüft werden:
Das Originalpassword(bzw. Zeichenfolge) lautet: B K F T
Wenn der Benutzer dieses password eingegeben hat,so soll die folgende meldung auuf dem bildschirm ausgegeben werden:"Login Korrekt".
Allerdings ist es dem benutzer erlaubt, die vier zeichen in beliebiger Reihenfolge und in beliebiger Gross/kleinschreibung einzugeben.
Beispielsweise sind auch folgende Eingaben zulässig.
B F T K
F t b k usw.Hinweise: es dürfen nur elementare datentypen(keine strings) und operatoren verwendet werden.
-
Wo ist die Frage? Was erwartest du? Eine Komplettlösung, weil du nicht lernen willst? Sorry, vergiss es. Das Zauberwort lautet Eigeninitiative. Mach selber was, und wenn es nicht ganz klappt, poste deinen Code und wir helfen dir. Aber deine Hausaufgaben macht hier keiner für dich.
-
Allerdings ist es dem benutzer erlaubt, die vier zeichen in beliebiger Reihenfolge und in beliebiger Gross/kleinschreibung einzugeben.
Das ist ja ein lustiges Login
-
"es dürfen nur elementare datentypen(keine strings) und operatoren verwendet werden" und "Ein benutzer soll hintereinander(jeweils mit Readline())". Passen irgendwie nicht zusammen da ReadLine einen String zurück liefert.
Eigentlich müsstest du Read benutzen.
-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Passwort1
{
class Program
{
static void Main(string[] args)
{string x, u, v, w;
int passworteins, passwortzwei, passwortdrei, passwortvier;
int eingabeeins, eingabezwei, eingabedrei, eingabevier;
int eingabeende, passwortende;
int durchgang = 0;passworteins = Convert.ToChar('B');
passwortzwei = Convert.ToChar('K');
passwortdrei = Convert.ToChar('F');
passwortvier = Convert.ToChar('T');
passwortende = passworteins + passwortzwei + passwortdrei + passwortvier;do
{
Console.WriteLine(" Bitte geben sie das Passwort ein ");
x = Console.ReadLine();
u = Console.ReadLine();
v = Console.ReadLine();
w = Console.ReadLine();eingabeeins = Convert.ToInt32(char.ToUpper(Convert.ToChar(x)));
eingabezwei = Convert.ToInt32(char.ToUpper(Convert.ToChar(u)));
eingabedrei = Convert.ToInt32(char.ToUpper(Convert.ToChar(v)));
eingabevier = Convert.ToInt32(char.ToUpper(Convert.ToChar(w)));eingabeende = eingabeeins + eingabezwei + eingabedrei + eingabevier;
durchgang++;
}
while (durchgang <= 2 && eingabeende != passwortende);if(durchgang>2)
Console.WriteLine(" Sie haben zu viele versuche gebraucht");
else Console.WriteLine(" Ihre eingabe ist richtig");
Console.ReadLine();
}
}
}Es klappt eigentlich...aber wenn der benutzer ddop usw. eingibt zeigt er login richtig....das haengt davon ab weil die werte bkft den wert 423 hat und ddop auch(siehe ascii code)....ich weiss nicht wie man den fehler beseitigen kann.