Diskuze: c# konzole
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Obal si to ještě jednou do cyklu. Vždyť přečteš jen řádek od uživatele, pak jestli je to ekvivalentní k "database", tak to skočí do foru, jedenkrát se to zopakuje (ten cyklus je tam úplně zbytečný ), vyskočí ven, počká na enter a skončí.
Díky za odpověď, ale mě to pořád nějak nejde, nevím proč, teď jsem to obalil teda ještě jednou ale pro změnu to teď nepřestane vyskakovat
if (database == "database")
{
do
{
do
{
Console.WriteLine("IP " + ipaddr2);
showDatabase = false;
} while (showDatabase == true);
} while (database == "database");
}
Ale stejně je problém hned ze začátku který nechápu a to že vůbec jakto, že prostě když napíšu hned ze začátku nějakou blbost, automaticky to ten script přeskočí, proč ? Jinak c# znám nejsem žádny expert nebo tak ale v unity3D si dělám hry, ale asi ho neznám tak dobře no....
Zkus si nad tím 10 minut zapřemýšlet, napiš si někde na papír jak program bude postupovat při:
Pak napiš jestli jsi k něčemu došel nebo ne, podle toho tě nasměruji dál
Btw, hry možná děláš, ale tady není chyba v syntaxi, ale v logice programu.
Už jsem na to přišel
Console.WriteLine("Your ip " + ipaddr);
database = Console.ReadLine();
if (database == "database")
{
do
{
Console.WriteLine("IP " + ipaddr);
database = Console.ReadLine();
showDatabase = true;
} while (showDatabase == true && database == "database");
}
jsem rád že tohle už mám, ale ještě by mě zajímalo proč, když třeba ze začatku místo databse napíšu ahoj tak to prostě celé přeskoči až na konec.
jo no to mi teď taky došlo, tak jsem tam přidal
else if (database != "database")
{
Console.WriteLine("Bad syntax");
}
Ale stejně pokud pak něco napíšu, tak se mi to vypne.
Moc nechápu co ten program má dělat, tak ti neporadím. Momentálně tam máš redundantní kód. To opravdu chceš, abych zadal 2x "database"?
Ne to pak přídám dalši ty věci ja jen chci pochopit jak to má fungovat no co chci je, že budeš mít několik přikazu ktere budeš zadavat a podle toho to bude něco dělat ale když napišeš nějaky nesmysl tak to nepujde a vrati tě to na ten předchozi krok.
// do not enter until user enters "kappa123"
string input;
do
{
input = Console.ReadLine();
} while (input != "kappa123");
Console.WriteLine("cg,u r in!");
Jestli to chceš i s nějakou hláškou, že to zadal blbě, tak:
// do not enter until user enters "kappa123"
string input = null;
do
{
if (input != null)
Console.WriteLine("Wrong input. Try it again!");
input = Console.ReadLine();
} while (input != "kappa123");
Console.WriteLine("cg,u r in!");
Jestli to chceš omezit na poksy, tak:
// do not enter until user enters "kappa123"
int attemptsLeft = 3;
string input = null;
Console.WriteLine("Enter secret password:");
do
{
if (attemptsLeft <= 0)
{
Console.WriteLine("Access denied.");
return;
}
if (input != null)
Console.WriteLine($"Wrong input. You have {attemptsLeft--} attempts left. Try it again!");
input = Console.ReadLine();
} while (input != "kappa123");
Console.WriteLine("cg,u r in!");
Dál už mě to nebaví každopádně snad je tam to co chceš.
Jo díky, teď ještě musím přijít na to jak to zakomponovat do toho mého scriptu ale díky
Zobrazeno 13 zpráv z 13.