Hatványozás C#-ban?
static void Main(String[] args)
{
int szam, kitevo;
do{
Console.Write("Kérem a hatványozandó számot: ");
szam = Convert.ToInt32(Console.Read());
}while(szam<1 || szam<100);
do{
Console.WriteLine("Kérem a kitevőt: ");
kitevo = Convert.ToInt32(Console.Read());
}while(kitevo<1 || kitevo<20);
Console.WriteLine("A szám hatványa: ");
Console.ReadLine();
}
}
}





static void Main(String[] args)
{
int szam, kitevo;
do
{
Console.Write("Kérem a hatványozandó számot: ");
szam = Convert.ToInt32(Console.Read());
}while(szam<1 || szam>100); //akkor kérje be újra, ha a szám < 1 vagy a szám > 100
do
{
Console.WriteLine("Kérem a kitevőt: ");
kitevo = Convert.ToInt32(Console.Read());
}while(kitevo<1 || kitevo>20);
Console.WriteLine("A szám hatványa: ");
Console.ReadLine();
}
}
}





Az előzőt véletlenül küldtem el, bocsi!
Ha valamit elrontottam, a visual studio majd kijavít, jegyzettömbben írtam.
static void Main(String[] args)
{
int szam, kitevo;
do
{
Console.Write("Kérem a hatványozandó számot: ");
szam = int.Parse(Console.ReadLine());
}while(szam<1 || szam>100); //akkor kérje be újra, ha a szám < 1 vagy a szám > 100
do
{
Console.WriteLine("Kérem a kitevőt: ");
kitevo = int.Parse(Console.Readline());
}while(kitevo<1 || kitevo>20); //akkor kérje be újra, ha a szám < 1 vagy > 20
Console.WriteLine("A szám hatványa: "); //számot a Math.Pow() függvénnyel tudunk, Math.Pow(hatványozandó szám, kitevő);
Console.ReadLine();
}
}
}





Azé' vannak itt még problémák.
1. int.parse elszáll, ha nem megfelelő stringet kap, ezt kezelni kéne, és szerintem a Convert.ToInt32 is. int.TryParse-al kéne nézni.
2. 100 a 20.-ra emelve már nagyon nem fér el egy signed int-ben :) De még egy uint-ben sem, sőt, még egy ulong-ban sem. Tehát ehhez kell már VAGY valami bigint lib.-et használnod, VAGY alapból olyan inputokra kell korlátozni a felhasználót, amire még értelmes eredményt ad a program.
(A Decimal típus értéktartománya így kapásból nincs a fejemben, de szerintem abba se fér bele.)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!