Nejste přihlášen/a.

Přihlásit se do poradny

 

Kostka C#

Od: andrewer odpovědí: 8 změna:

Zdravím, mám udělat program do kterého zadávám čísla do té doby než zadám číslo 6, na to zareaguje tak že vypíše počet pokusů které jsem potřeboval než jsem zadal číslo 6.

Víte někdo jak?

Dělal bych to asi přes while ale nejsem si jistý jak

 

 

8 odpovědí na otázku
Řazeno dle hodnocení

 

 

anon65534
hodnocení

0x

No rozhodně budeš potřebovat while, nějakou proměnnou, způsob jak číst z konzole čísla, vědět jak zjistit zda je zadané číslo 6tka a jak z while odejít (nebo to do něj rovnou zakomponovat od začátku).

Pak si udělej programovou logiku tak jak jde za sebou, to by ti mělo pomoct. Na tomhle nic moc složitého není, pokud znáš všechny prvně vyjmenované věci tak by neměl být problém to zkusit do sebe poskládat.

 

lkjhhg
hodnocení

0x

Je to Console nebo Forms?

V Console to bude nějak:

int pokus=1;

for (; ; pokus++) {

int num=int.TryParse(Console.ReadLine());

if (num==6) break;

}

Console.WriteLine("pokus: "+pokus);

Ve Forms přidáte nad Constructor proměnnou int pokus=0;

pak event do něj něco jako: pokus++; if (num==6){Console.WriteLine("pokus: "+pokus); ... }

anon65534

Ježiši

On sotva zvládá while smyčku a ty mu jako ukázku dáš tu nejautističtější for-smyčku kterou takhle nikdo nezapisuje a ani tím nedojde k nějakému zjednodušení.

Když už tam musíš tlačit special-snowflake zápis for smyčky tak to aspoň udělej aby to k něčemu bylo:

int pokusu = 0;
for (int num = 0; num != 6; pokusu++)
{
int.TryParse(Console.ReadLine(), out num);
}

Což je pořád příšerné ale aspoň to poskytuje nějaké "zkrácení" ale pořád by tě s tím každý druhý poslal někam protože z něčeho co jde pochopit okamžitě jedním pohledem je něco nad čím se musíš pozastavit pokud jsi to sám nenapsal.

lkjhhg

Máš pravdu je to trochu nepřehledné, normálně bych to zapsal takhle:

int pokus=1;

for (int num=int.Parse(Console.ReadLine()); num!=6; pokus++) {} Console.WriteLine("pokus: "+pokus);

Ale stejně si to JIP upraví.

anon65534

No jasně, tohle se sice nezkompiluje protože takhle int.TryParse nefunguje. Ale moje pointa byla, že by ho takováhle smyčka akorát brutálně zmátla a zde není žádný důvod to tlačit do for cyklu když by tu byl while mnohem přehlednější zvlášť pro někoho kdo je momentálně na úrovni této otázky.

runner2
Nyni jste z toho udelali nekonecnou smycku, pokud teda nezada cislo 6 hned v prvnim kroku.
lkjhhg

Máte pravdu přepsal sem se:

int pokus=1;

for (; int.Parse(Console.ReadLine())!=6; pokus++) {} Console.WriteLine("pokus: "+pokus);

Tak a teraz ešte cez goto a bez if. A keď sme už pri C#, tak stojí za povšimnutie aj "goto case".

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]