Nejste přihlášen/a.
Dobrý den, ctěl bych se zeptat, proč mi tento kod nefunguje? vždy když to spustím, a napíši např ahoj a enter a zase ahoj, tak mi to napíše : ahoj a pod to nazdar. Nevíte jak to vyřešit? nebo v čem mám chybu? kód:
namespace BOT_xd
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Ahoj, jsem BOT. Můžeš si se mnou psát, ale nesmíš psát velká písmena, háčky a čárky.");
string txt = Console.ReadLine();
if (txt == "ahoj") ;
{
Console.WriteLine("Ahoj");
}
string txt1 = Console.ReadLine();
else if (txt1 == "nazdar") ;
{
Console.WriteLine("Nazdar");
}
Console.ReadKey();
}
}
}
Taky bych řekl, že ty středníky za oběma if-y by tam neměly být.
Navíc je to tak blbé odsazené, že vůbec nechápu, kdy se má vykonávat ten modrý příkaz
Čtu popis tvého problému ještě jednou a myslím, že už chápu, co chceš dělat.
Odstraň středníky po if.
Odstraň slovo "else"před druhým if.
Přečti si nějaký úvod do "příkazů"jazyka C# nebo obecný úvod do programování s popisem příkazu typu "if ... elseif ... then" a jak je správně používat, např. ohraničení bloku příkazů ("{", "}") a ukončení příkazu (";").
To by mě zajímalo, v čem daný kód pouštíte, protože je chyba v samotné syntaxi. To Vám compiler nikdy nemůže spustit.
Konkrétně pak řádek před else if a ty středníky jsou taky špatně
nic nepouštím. ; za zavorkou ifu muze znamenat prazdny prikaz.neni to tak?slusne ude na to upozorni
podle mě nemůže a pokud, tak to znehodnotí podmínku, protože odtrhne složenou závorku, která patří k podmínce. Mělo by to nahlásit chybu a nikoliv jen neprovést podmínku. Každopádně to prubněte umazat.
Ono to prázdný příkaz asi označovat bude, jenže po něm následuje ten blok příkazů a ne klíčové slovo elseif nebo then a proto to kompilátor bude zřejmě chápat jako ukončení celého if-u. Tedy if vyhodnotí podmínku, provede prázdný příkaz a program pokračuje dále v normálním běhu vykonáním toho druhého read-u.
Vsadím se, že když poprvé zadá místo "ahoj" něco jiného (třeba "Dobrý den"), že mu to pořád bude psát "Ahoj".
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.