dum | žák

Programování C#

Název školy Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace
Adresa školky Kostelní 134, 411 08 Štětí
46773509
Název operačního programu OP Vzdělávání pro konkurenceschopnost
Registrační číslo CZ.1.07/1.5.00/34.1006
Označení vzdělávacího materiálu VY_32_INOVACE_23_PRG_456
Název tématické oblasti (sady) Programování
Název materiálu Logické operátory
Anotace Text shrnuje poznatky o logických operátorech. Přidává operátor logické negace. Dále předkládá cvičení na procvičení nasazení logických operátorů.
Autor Ivan Pomykacz Jazyk čeština
Očekávaný výstup Rozhodne o použití logického operátoru. Používá logické operátory v kódu.
Klíčová slova logický součet, logický součin, logická negace, výraz, operátor
Druh výukového zdroje Pracovní list Věková skupina žáků 15+
Typ interakce aktivita Ročník 1.
Speciální vzdělávací potřeby žádné
Zhotoveno, (datum/období) 21.10.2013 Celková velikost

pdf icon
Cvičení IX

Obsah

Zadání

Vytvořte aplikaci, která bude vyžadovat přihlášení uživatele. Náš program bude značně omezený, ale jen do té doby, než se seznámíme s dalšími metodami a technikami programování.

Postup

  • Program vyzve uživatele k zadání uživatelského jména a hesla. Použijte metodu Console.ReadLine() pro získání uvedených dat.

  • Proveďte ověření totožnosti uživatele. V naší aplikaci bude veden pouze jeden uživatelský účet. Pro úspěšné přihlášení je potřeba aby přihlašovací jméno a heslo byly stejné jako ty, co jsou uložené v programu.

    Můžete použít logický součin k vyřešení autentizace.

  • Vypište informaci o úspěchu či neúspěchu přihlášení.

    Pozor! Z bezpečnostního hlediska byste neměli uživatele informovat o tom, zda-li zadal chybné jméno nebo heslo. Útočník zpravidla nezná ani jméno ani heslo. A pokud mu napovíte tím, že uhádl heslo chybovou hláškou "Špatně zadané heslo", je na půl cesty k tomu, aby získal i heslo.

Verze 1.1

Schovejme heslo před zraky náhodných čumilů.

Pomocí vlastností Console.ForegroundColor a Console.ForegroundColor můžeme dočasně dosadit barvu pozadí do barvy popření a tím vlastně zneviditelnit psaný text.

Deklarujme novou proměnnou barva typu ConsoleColor, do které uložíme aktuální barvu popření (písma).

ConsoleColor barva;
barva = Console.ForegroundColor;
 

Následně můžeme změnit barvu popření na barvu pozadí.

Console.ForegroundColor = Console.BackgroundColor;
 

Po zadání hesla to ovšem musíme vrátit zpět :)

Console.ForegroundColor = barva;
 

Řešení

Console.WriteLine("Program: Login v1.1\n");
 
string secretName = "root";
string secretPass = "toor";
 
string loginName;
string loginPass;
 
Console.WriteLine("Přihlášení");
Console.Write("login: ");
loginName = Console.ReadLine();
 
// příprava na změnu barvy
ConsoleColor barva;
barva = Console.ForegroundColor;
 
Console.Write("heslo: ");
// záměna barvy
Console.ForegroundColor = Console.BackgroundColor;
// načtení hesla
loginPass = Console.ReadLine();
// barva zpět
Console.ForegroundColor = barva;
 
// autentizace
if (secretName == loginName && secretPass == loginPass) {
    Console.WriteLine("\nPřihlášení proběhlo úspěšně");
}
else {
    Console.WriteLine("\nChybně zadané jméno nebo heslo!");
}