Kezdőoldal » Számítástechnika » Programozás » C#-ban a While függvényt hogy...

C#-ban a While függvényt hogy kell használni, és mit jelent a programban itt?

Figyelt kérdés

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace VezetéknévKeresztnév5

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Jancsinak 5000 Ft-ja van.");

Console.WriteLine("1 - mozijegy: 1490 Ft");

Console.WriteLine("2 - pop + kóla: 990 Ft");

Console.WriteLine("3 - mosdó: ingyen");

Console.WriteLine("4 - mindent megvett ami kell");

int penztarca = 5000;

int menupont = 0;

while (penztarca > 0 || menupont == 4)

{

menupont = Convert.ToInt32(Console.ReadLine());

switch (menupont)

{

case 1: penztarca = penztarca - 1490; Console.WriteLine("Pénzed maradt: {0}", penztarca); break;

case 2: penztarca = penztarca - 990; Console.WriteLine("Pénzed maradt: {0}", penztarca); break;

case 3: penztarca = penztarca - 0; Console.WriteLine("Pénzed maradt: {0}", penztarca); break;

case 4: Console.WriteLine("Pénzed maradt: {0}",penztarca); break;

//default: Console.WriteLine("Viszlát!");

}

}

Console.WriteLine("Pénzed maradt: {0}", penztarca);

Console.ReadKey();

}

}


Mit jelent ez: || és mit jelent, a felkiltójel, hogy kell használni?! csöggentett mobilnetem van, szóval nem tudok linkeket nézni, és nem kérek google, és egyéb idegesítő válaszokat... előre is köszönöm!



2014. nov. 18. 18:44
1 2 3
 11/24 A kérdező kommentje:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace VezetéknévKeresztnév4

{

class Program

{

static void Main(string[] args)

{

Random veletlenszam = new Random();

int vel = veletlenszam.Next(1, 95);


Console.WriteLine("Kérem adjon meg egy számot 0-tól 95-ig!");


int szam = 0;



while (szam != vel)

{

szam = Convert.ToInt32(Console.ReadLine());


if (szam > vel)

{

Console.WriteLine("Az általad megadott szám ({0}) nagyobb", szam);

}

else if (szam < vel)

{

Console.WriteLine("Az általad megadott szám ({0}) kisebb", szam);

}

else

{

Console.WriteLine("Talált! Sülyedt! Tipped: {0} = kitalálandó szám: {1}", szam, vel);

}

}

Console.ReadKey();

}

}

}


Itt már világos, hogy a szám nem lehet egyenlő a véletlenszámmal, egészen addig fut... De az Int szam=0; miért kell? nem azt kellene, hogy egyből beolvasni a szöveg után? miért az van hogy

int szam = 0; ?

ha már eleve megvan határozva, hogy az int szam=0 akkor a writleline után tökmindegy mi a válasz... pl hiába írok 44-et, ha az nincs beolvasva... 0 az értéke, nem értem ezt se...

2014. nov. 18. 19:34
 12/24 anonim válasza:

A && az ÉS típusú kapcsolat, tehát mindkét feltételnek teljesülnie kell &&-nél.


Én a kérdésben megadott programnál módosítanám a while kifejezésében a menupont == 4-et menupont != 4-re.


A while ciklus mindig addig fut amíg a kifejezés igaz.

2014. nov. 18. 19:37
Hasznos számodra ez a válasz?
 13/24 anonim válasza:
A véletlenszámos programnál az int szam = 0; amiatt kell, hogy a változónak legyen egy értéke a memóriában. Mert amikor elindul a ciklus és a program megvizsgálná a kifejzésnél a szam változót akkor kell, hogy legyen valami értéke különben hibával leáll a program.
2014. nov. 18. 19:40
Hasznos számodra ez a válasz?
 14/24 A kérdező kommentje:
Ahaa értem! :) Tehát ilyen esetben mindig megkell adni neki valami értéket pl nullát, és a while "cikluson" belül kell beolvastatni azt a választ, amit a while előtt (console.wrtiteLine-ban) bálaszolunk? Akkor ez világos! Köszi, azthiszem értem most már! :) Tehát a felkiáltójel tagadás, ez: || a vagy ez pedig && az és. még annyit nem értek, hogy miért írnak néha ilyet:== és néha miért ilyet = ?
2014. nov. 18. 19:47
 15/24 anonim ***** válasza:

= értékadás

== egyenlőségvizsgálat

2014. nov. 18. 20:18
Hasznos számodra ez a válasz?
 16/24 A kérdező kommentje:

Itt mi a hibám?


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApplication5

{

class Program

{

static void Main(string[] args)

{



Console.WriteLine("kérem nyomjon egy számot");

int szamok = 0;

while (szamok < 4)

{


szamok = Convert.ToInt32(Console.ReadLine());

switch (szamok)

{

case 1: Console.WriteLine("Egyest nyomtál"); break;

case 2: Console.WriteLine("Kettest nyomtál"); break;

case 3: Console.WriteLine("Hármast nyomtál"); break;

default: Console.WriteLine("Rossz menüt választottál"); break;



}

Console.ReadKey();


}


}

}

}

Logikailag értem már a működését, mégsem jó valami.

2014. nov. 18. 22:45
 17/24 anonim ***** válasza:

Az csak attól függ, hogy mit szerettél volna csinálni.

De hogy még mindig rohadtul nem érted az alapokat sem, az viszont nagyon látszik.


Olvass! Ne kérdezz.

2014. nov. 18. 23:05
Hasznos számodra ez a válasz?
 18/24 SimkoL ***** válasza:
A 'Console.ReadKey();'-t egy kapcsossal lejjebb, tehát cikluson kívűlre tegyed.
2014. nov. 19. 12:21
Hasznos számodra ez a válasz?
 19/24 anonim válasza:

SimkoL-nél a jó válasz.


Az a Console.ReadKey() általában azért kell a végére, hogy ne csukódjon be egyből az ablak és tudd ellenőrizni a program működését. :) Ez amolyan kis trükk a konzolos programoknál.


Ha bármi más kérdésed van, kérdezz bátran!

2014. nov. 19. 20:01
Hasznos számodra ez a válasz?
 20/24 A kérdező kommentje:

Rendben, köszönöm! :)

Itt már értek mindent azhiszem, egyedül az érdekes, hogy konvertálni nem lehet egyből, csak a while alatt.

2014. nov. 20. 07:48
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!