C# lehka otazka
Zdravim ,
chtel bych se zeptat na jednu naprosto lehkou vec . Jak v C# zapsat příkaz , který znamená v pascalu "until"
priklad : mam treba 5 podmínek a kdyz je napr. 3 podmínka splnena , tak at program pokracuje dal ( pokud neni splnena , tak at program zacne znovu od tech 5 podminek ).
Alternativou cyklu repeat..until z Pascalu je do..while.
http://msdn.microsoft.com/en-us/library/370s1zax(v =vs.80).aspx
Ale vůbec to teda neodpovídá tvému popisu.
to do .. while zkousim od vcerejska , ale kdyz mam napr . :
do
{
if (i == z)
{
System.Console.WriteLine("");
}
if (i < z)
{
System.Console.WriteLine("");
}
if (i > z)
{
System.Console.WriteLine("");
}
}while(i == z);
jde mi o to, aby se podminky opakovali dokud nebude platit prvni podminka (i == z) , jenže když to takhle zapnu , a zvolim "z" vetsi nez "i" tak me vypiše podminku a program pokracuje dale .
while (i != z);
napsal sem ti na ICQ wikan :D
To netuším proč, problém se řeší tady.
dobře , když napisu to != tak se mě donekonečna vypíše 2 podmínka , která ale není správná.
Je i < z ?
ted nerozumim uz vubec :D proste co tu resime je neco na styl " typovani "
Doposud jsem nepochopil, co vlastně řešíš.
Řeším následující věc : mám udělat program , kde uživatel má "uhádnout" číslo apod.. jenže pokud je číslo , které ma uživatel uhádnout např. 5 , a zadá 4 , tak aby mu to napsalo nějaký blábol a aby měl "další pokus".
V tom případě nechápu, s čím máš problém. Snad jenom v tom, že v tom cyklu už uživateli neumožňuješ nové zadání, takže cyklus běží do nekonečna.
Takže sem zase nic nepochopil kde mám chybu či tak.
Na začátku toho cyklu musíš od uživatele přečíst jeho tip.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("zadej cislo nejake :");
int B = int.Parse(Console.ReadLine());
Random r = new Random();
int nahodneCislo = r.Next(1, B);
System.Console.WriteLine(nahodneCislo);
int z = nahodneCislo;
System.Console.WriteLine("tipni");
int i = int.Parse(Console.ReadLine());
do
{
if (i == z)
{
System.Console.WriteLine("trefa");
}
if (i < z)
{
System.Console.WriteLine("malo");
}
if (i > z)
{
System.Console.WriteLine("moc");
}
} while (i != z);
System.Console.WriteLine("tu je konec");
if (i != z) ;
{
System.Console.ReadLine();
}
}
}
}
A?
mechci ti rikat ale to tvoje A? mě asi nepomuže, nemyslis ?
Však radu už jsi dostal. Vstup od uživatele musíš číst na začátku cyklu, ne před ním.
tieto dva riadky musis dat do cyklu
System.Console.WriteLine("tipni");
int i = int.Parse(Console.ReadLine());