Diskuze: převod písmena na číslo
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 7 zpráv z 7.
//= 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.
Řešení je velice snadné. Vytvoř si pole struktur, kde pole má velikost počtu typů znaků které se mohou zobrazit. Struktura představuje informaci znaku a je tvořena dvěma celočíselnými typy, kde první značí pod jakým stisknutým číslem se znak nachází a druhý značí pozici (tedy kolikrát musíš tlačítko stisknout pro výběr daného znaku).
Postup:
1. verze
pracuješ s prvky struktury, využiješ cyklus for
2. verze
pracuješ s prvky struktury bez nutnosti dalších řídících procedur
Mít obě verze v programu není nic těžkého, je to jeden rozhodovací příkaz
V programu můžeš pro testy a úpravy využít např. některou z
následujících funkcí:
isalnum(), isalpha(), isdigit(), isprint(), islower(), isupper(), tolower(),
toupper()
Díky za odpověď. Jsem v tom nováček, tak hodně tápu.Takže vytvořím pole: int[] Array = new int[60]; -kt. má 61 znaků, jenže nevím, jak zadat každému znaku tu danou informaci.
Pole struktur kolega říkal ne pole intů
struktura vypadá např
struct Login_Credential
{
string Username;
string Password;
}
Takto uložíš do jednoho prvku pole víc než jednu informaci.
V pohodě, není to nic těžkého. Na následujících řádcích Ti blíže
nastíním postup.
Vytvoř si typ struktury
struct sType {
unsigned int num;
unsigned int pos;
};
Vytvoř si pole struktur
struct sType znak[256];
Vytvoř si soubor init.ini obsahující informace o rozložení znaku, něco
jako viz kód níže.
první znak je znak který zpracovávám, druhý znak je číslo tlačítka a
třetí je pozice.
a 2 2
b 2 3
...
1 1 1
2 2 1
Nyní je třeba načíst hodnoty ze souboru init.ini do pole struktur.
Každý načtený znak má svoji ASCII hodnotu. Tu použiješ jako index pole
struktur.
Pro každý řádek v souboru init.ini použij něco jako toto:
znak[p1].num = p2;
znak[p2].pos = p3;
kde:
p1 je ASCII hodnota prvního znaku na řádku
p2 je hodnota druhého znaku na řádku
p3 je hodnota třetího znaku na řádku
Tím máš naplněné pole struktur hodnotami.
Pak už jen čteš znaky ze souboru vstup.txt, zjistíš ASCII hodnotu znaku, tu
použiješ jako index pole struktur ze kterého si bereš potřebné informace a
ty následně zpracováváš na výstup.
Oprava úryvku kódu týkajícího se načítání hodnot ze souboru init.ini
znak[p1].num = p2;
znak[p1].pos = p3;
Zobrazeno 7 zpráv z 7.