Kezdőoldal » Számítástechnika » Programozás » C# programban Case és swits...

C# programban Case és swits esetében hogyan lehet megírni egy programot?

Figyelt kérdés

pl ha feltételhez szeretném kötni, hogy:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Szia Niki, Mennyi idős vagy?");

int x = Convert.ToInt32(Console.ReadLine());

switch (x)

{

És jönnének a Case "függvének", de azt szeretném, hogyha pl a lány 16 évnél fiatalabb, akkor azt írja ki: nem múltál el 16 éves, ha elmúlt 16 éves, azt írná ki, hogy "nem múltál el 16 éves.

Még valamit nem tudok: ha egy programban valaki hibás adatot ad meg, akkor ugye a defaulttal lehet "megmondani" hogy mit írjon ki, de hogy lehet megoldani, hogy addig kérdezze a kort, amíg nem ad meg valaki egy elfogadható választ?! Casenel csak azt tudom megoldani, hogy pl valaki nyomjon le egy számot 1-3-ig és ha 1-est nyom akkor a case 1 szöveget írja ki, ha kettest a case 2-őt, de azt nem tudom hogy lehet megoldani, hogy pl ha valaki 16-os számnál kisebb szöveget ír ki, akkor kiadjon x szöveget. és string esetében hogy kell caset használni? Egyébként teljsen kezdő vagyok, szóval ne magyarázzatok túl bonyolultan légyszíves, szóval szakzsargon kerülésével írjatok légyszíves, előre is köszönöm!



}

}

}



2014. nov. 15. 18:01
 1/6 anonim ***** válasza:

[link]


Megadhatsz tartományt.


case 0-16: nem múlt el 16

default: elmúlt 16


Amúgy ez tipikusan nem case feladat, hanem if.


> hogy lehet megoldani, hogy addig kérdezze a kort, amíg nem ad meg valaki egy elfogadható választ?!


Ismerkedj meg a ciklusokkal.

2014. nov. 15. 18:04
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

#1 vagyok,


Persze az én case-emnél nincs lekezelve a negatív érték, biztosan erre is van valami megoldás, pl. Integer.MIN_VALUE.

2014. nov. 15. 18:05
Hasznos számodra ez a válasz?
 3/6 anonim válasza:

1.Inkább if-el kellene.

2.Berakod egy hátultesztelő ciklusba,és úgy addig tudod kérdezni tőle,amíg nem ad meg jó adatot.

2014. nov. 15. 18:15
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
A case 1-16 nem jó, nincs hiba, de nem úgy értelmezi, hogy 1-16 sajnos.Szóval nem tudom hogy oldjam meg...
2014. nov. 15. 18:48
 5/6 anonim ***** válasza:

#1-2 vagyok


Valóban, hülyeség volt, nem néztem meg jobban a leírást.


Viszont ez működőképes, kis matekkal megoldható:

[link]


int range = (num-1) / 500;

switch (range) {

case 0: break; // 1-500

case 1: break; // 501-1000

// etc...

}

2014. nov. 15. 18:53
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Ezt most nem értem sajna.. :S
2014. nov. 15. 18:56

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!