Permalänk
Medlem

Väldigt basic

Hej sweclocker!
Jag är väldigt ny på programmering och behöver svar på en väldigt basic fråga.
OBS- inget prov eller inlämning.

Fråga : Läs in två tal. Testa om det första talet är mer än dubbelt så stort som det andra talet. I så fall ska meddelandet bli : ”För stort tal”

Start
Läs in 2 tal
OM tal 1 är dubbelt så stort som tal 2
Skriv ut "för högt tal"
Stop

static void Main(string[] args)
{
Console.WriteLine("skriv ett tal");
double tal1 = int.Parse(Console.ReadLine());
Console.WriteLine("skriv ett till tal");
double tal2 = int.Parse(Console.ReadLine());

if ................?????

Tacksam för svar ( basic nivå )

Permalänk
Medlem

if (tal2 / 2 > tal1) {

Console.WriteLine("För stort tal");

}

Visa signatur

i5-7600k . GTX 1080 . 16 GB

Permalänk
Medlem

För att bygga ut på tidigare svar, det söker efter kallas generellt komparatorer (eng: comparator om du ska googla), dvs en "operator" som jämför olika värden med varandra. För mer komplexa typer behöver man dock i regel använda dessa typers egna funktioner för jämförelser, se e.g. följande för strängar i C++.

std::string str1 ("green apple");
std::string str2 ("red apple");
if (str1.compare(str2) != 0)
std::cout << str1 << " is not " << str2 << '\n';

Edit:
Noterade att tidigare inlägget har inverterat talen, samt att delningen kan ge avrundningsfel (ifall integers hade använts, men bra praxis att tänka på det), borde istället använda:
if ( tal1 > tal2 * 2)

Visa signatur

Redbox: Asrock B650 Lightning ATX, 7800x3D -20CCO, XFX 6950XT, 2x32GB Corsair Vengence 6400 CL32, WD SN770 2TB, Corsair RMe 1000, Lian Li Lancool 216, Peerless Assassin 120 SE
Purpbox: Z87-Pro, I5 4670K@4.2, Sapphire 290 TRI-X, 2x8GB Crucial Tactical@stock, Deep Silence 1
Samsung Evo 250+500GB + QVO 1TB, 2x1TB 7200RPM backup/lagring
Det var bättre förr: E5300 2600MHz -> 3640MHz, Celeron 300A -> 450MHz

Permalänk
Medlem
Skrivet av johanandersson:

if (tal2 / 2 > tal1) {

Console.WriteLine("För stort tal");

}

Skrivet av e1m1:

För att bygga ut på tidigare svar, det söker efter kallas generellt komparatorer (eng: comparator om du ska googla), dvs en "operator" som jämför olika värden med varandra. För mer komplexa typer behöver man dock i regel använda dessa typers egna funktioner för jämförelser, se e.g. följande för strängar i C++.

std::string str1 ("green apple");
std::string str2 ("red apple");
if (str1.compare(str2) != 0)
std::cout << str1 << " is not " << str2 << '\n';

Edit:
Noterade att tidigare inlägget har inverterat talen, samt att delningen kan ge avrundningsfel (ifall integers hade använts, men bra praxis att tänka på det), borde istället använda:
if ( tal1 > tal2 * 2)

10000 tack för svaren!