Tudnátok segíteni, C#-ban?
Figyelt kérdés
Mi a baj ezzel? (2006 februári érettségi feladat)
Akkor is azt írja hogy nem mobil mikor 39el kezdődőt adok meg.
Console.WriteLine("Adjon meg egy telefonszámot : ");
string tel = Console.ReadLine();
int kez = tel[0] * 10 + tel[1];
if (kez == 39 || kez == 41 || kez == 71)
{
Console.WriteLine("Ez egy mobil szám.");
}
else
{
Console.WriteLine("Ez nem mobil szám.");
}
Console.ReadKey();
2011. dec. 12. 18:57
1/6 anonim válasza:
Mondjuk kezdésnek irasd ki a tel és a kez változókat közvetlenül az if előtt, és akkor megtudod, miért.
2/6 A kérdező kommentje:
kiírtam, próbáltam többféleképpen is, de akkor se működött. (kiírattam tel[0] és tel[1] console.write-tal majd azt próbáltam új változóba beírni, de azzal se ment.)
2011. dec. 12. 20:01
3/6 _Jessy_ válasza:
azért mert tel[0] == 3, a szorzás miatt int-é konvertálja, így lesz belőle 51. A helyes megoldás:
if(tel.Length < 2 || !int.TryParse(tel.Substring(0, 2), out kez) || kez != 39 || kez != 41 || kez != 71)
{
Console.WriteLine("Ez nem mobil szám.");
}
else
{
Console.WriteLine("Ez egy mobil szám.");
}
és ezzele leellenőrizted azt is, helyes-e a bevitt adat
4/6 _Jessy_ válasza:
az előbbiben elírtam tel[0] == '3' helyesen
5/6 A kérdező kommentje:
Hú, köszi szépen! Kiment a fejemből ez a dolog, hogy ha int-be konvertálom akkor az ASCII kódját adja meg.
2011. dec. 12. 20:41
6/6 _Jessy_ válasza:
amógy ha nem kell másra az érték, akkor simán a .Substring(0,2) == "??" -el vizsgálhatod.
További 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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!