Forum » Programiranje » [C#] nejasnost
[C#] nejasnost
krastača ::
Delam na nalogi:
Napiši program, ki v neskončni zanki bere in izpisuje znake Če vpišeš q, se naj izvajanje zanke prekine in in znak se naj ne izpiše. Uporabi stavek break.
Program sem zastavila tako:
Četudi sem dodala, da znak "c" ne sme bit q in če je naj zaustavi program ne naredi tega? In če za while(c!='q') dodam break tudi ne deluje. Kaj delam narobe?
Napiši program, ki v neskončni zanki bere in izpisuje znake Če vpišeš q, se naj izvajanje zanke prekine in in znak se naj ne izpiše. Uporabi stavek break.
Program sem zastavila tako:
char c; do { Console.Write("Vnesi poljuben znak: "); c = (char)Console.Read(); Console.WriteLine(); Console.ReadLine(); if (c >= 'A' && c <= 'Z') { Console.WriteLine("Vpisal si veliko črko: {0}", c); Console.WriteLine(); } else if (c >= 'a' && c <= 'z') { Console.WriteLine("Vpisan znak je mala črka: {0}", c); Console.ReadLine(); } else Console.WriteLine("Vpisal si znak {0}", c); Console.WriteLine(); } while(c != 'q'); Console.ReadKey(true);
Četudi sem dodala, da znak "c" ne sme bit q in če je naj zaustavi program ne naredi tega? In če za while(c!='q') dodam break tudi ne deluje. Kaj delam narobe?
- zaklenil: Ziga Dolhar ()
Marat ::
Pri while zanki si napisala le pogoj v oklepaju, nisi pa dala zavitih oklepajev v katerih je koda ki se izvede ob tem pogoju.
To tko na hitr, nisem se čisto poglobil v samo nalogo... verjetno je še kaj, npr. da znotraj while zanke dodaš if stavek
while(c != 'q') { do(); }
To tko na hitr, nisem se čisto poglobil v samo nalogo... verjetno je še kaj, npr. da znotraj while zanke dodaš if stavek
if(c == "q") { break; }
Zgodovina sprememb…
- spremenil: Marat ()
Arto ::
krastača ::
tudi, če bi ga vrinila v else if obliko in na koncu dodala break mi ga izpiše normalno v programu
Marat ::
krastača ::
do while sem uporabila zato, ker ko vpisem prvi znak mi ko kliknem na enter ponudi novi zapis. Če sem poskusila while mi te opicije ni dalo :(
nejodagreat ::
V do-while zanko dodaj še en if stavek, ki preveri, če je vnešen znak 'q', in v tem primeru se naj izvede break. Vsaj jaz tako razumem nalogo.
edit: je že bilo predlagano
edit: je že bilo predlagano
Zgodovina sprememb…
- spremenil: nejodagreat ()
Marat ::
+ še to:
v if else stavka dodaj še pogoj da črka ne sme biti q
isto za tistega z velikimi črkami. Obvezno pa dodaj še že predlagani:
Aja pa ibriši tiste prazne
zadeva dela, ker sem sprobal v VS
v if else stavka dodaj še pogoj da črka ne sme biti q
else if (c >= 'a' && c <= 'z' && c != 'q')
isto za tistega z velikimi črkami. Obvezno pa dodaj še že predlagani:
else if (c=='q') {break;}
Aja pa ibriši tiste prazne
Console.WriteLine();
zadeva dela, ker sem sprobal v VS
krastača ::
Console.Write("Vnesi poljuben znak: "); char c = (char)Console.Read(); Console.WriteLine(); Console.ReadLine(); do { if (c >= 'A' && c <= 'Z') { Console.WriteLine("Vpisal si veliko črko: {0}", c); Console.ReadLine(); } else if (c >= 'a' && c <= 'z') { Console.WriteLine("Vpisan znak je mala črka: {0}", c); Console.ReadLine(); } else Console.WriteLine("Vpisal si {0} ostalih znakov", c); Console.WriteLine(); c++; } while (c != 'q');
Če program zasnujem tako, ko začnem z A mi ko dajem enter izpisuje vse velike črke, nato preide na male in ko pride na mali q mi ven vrže zadevo. Vendar me moti da mi ni izpisalo vseh char znakov kot je / * ipd
Zgodovina sprememb…
- spremenilo: krastača ()
krastača ::
Lolz tako bi sedaj naj delovalo - vedar nevem, če je to kar je naloga zahtevala saj nisem nikjer sedaj uporabila break stavka in ko mi izpiše vse znake se zaključi kar pomeni, da ni neskončna zanka!.
Zgodovina sprememb…
- spremenilo: krastača ()
Marat ::
a to ti ni v redu?
char c; do { Console.Write("Vnesi poljuben znak: "); c = (char)Console.Read(); Console.ReadLine(); if (c >= 'A' && c <= 'Z' && c != 'Q') { Console.WriteLine("Vpisal si veliko črko: {0}", c); } else if (c >= 'a' && c <= 'z' && c != 'q') { Console.WriteLine("Vpisan znak je mala črka: {0}", c); } else if (c == 'q') { break; } else Console.WriteLine("Vpisal si znak {0}", c); } while (c != 'q'); }
Zgodovina sprememb…
- spremenil: Marat ()
krastača ::
čuj, zgleda v redu samo ko sem skopirala je veliki Q normalno izpisalo samo pri male q ven vrže
Marat ::
ja, ker je treba dat veliki Q tudi v pogoj pri while zanki ter v zadnji else if
char c; do { Console.Write("Vnesi poljuben znak: "); c = (char)Console.Read(); Console.ReadLine(); if (c >= 'A' && c <= 'Z' && c != 'Q') { Console.WriteLine("Vpisal si veliko črko: {0}", c); } else if (c >= 'a' && c <= 'z' && c != 'q') { Console.WriteLine("Vpisan znak je mala črka: {0}", c); } else if (c == 'q' && c != 'Q') { break; } else Console.WriteLine("Vpisal si znak {0}", c); } while (c != 'q' && c != 'Q');
krastača ::
vseeno pa sem sama nekaj pozabila, da naloga zahteva da ko vpišeš q gre ven iz programa - ne pa ko ga vpišemo
oz program ga ne sme izpisati
oz program ga ne sme izpisati
Zgodovina sprememb…
- spremenilo: krastača ()
Spura ::
Ti moras brat znake v neskoncni zanki. Ti preberes enega.
Če program zasnujem tako, ko začnem z A mi ko dajem enter izpisuje vse velike črke, nato preide na male in ko pride na mali q mi ven vrže zadevo. Vendar me moti da mi ni izpisalo vseh char znakov kot je / * ipd
znak z = preberi znak while (z ni q ali z ni Q) { izpisi z // tukaj vstavis dodatno logiko ce hoces z = preberi znak }
to je vse.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Matematika - trapezOddelek: Šola | 8989 (5992) | Yacked2 |
» | [Python] Tutoriali za začetnika v Notepad++ (strani: 1 2 )Oddelek: Programiranje | 16279 (13373) | black ice |
» | [C#] kaj delam narobe?Oddelek: Programiranje | 883 (703) | FrEaKmAn |
» | matematikaOddelek: Šola | 2629 (603) | $%&/() |
» | kozji test (strani: 1 2 3 )Oddelek: Loža | 7059 (6166) | jeti |