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");

}

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)

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!