Kezdőoldal » Számítástechnika » Programozás » Hol rontom el az alábbi...

Hol rontom el az alábbi programozásos házi feladatot?

Figyelt kérdés

Az a helyzet, hogy mérnök hallgatóként tudnunk kell egy kicsit programozni. Az egyik mérnökinfós ismerősömhöz járok különórára és feladott egy házit, amelyhez átnéztem az általa kijelölt anyagrészeket és megpróbáltam megcsinálni a feladatot. De sajnos nem jutottam semmi jóra, pedig a feladat egyszerű.


A feladatkiírás így hangzik: Véletlenszerűen generálj egy pontszámot 0 és 22 között! Majd ha ez a szám 0 és 10 közé esik, írd ki hogy megbukott, 11-20 között megfelelt, 21-22 kiváló!


Amit én csináltam az az alábbi linken érhető el. Lehet hogy bazi nagy hülyeségeket írtam, de legalább megpróbáltam. Egyébként az biztos hogy az eleje nem jó, mert a gépnek magától kell megadnia egy számot 0-22 között. Viszont én pedig azt írtam, hogy én adjam meg ezt a számot. De alapból nem is tudom hogy hogy kell, ráadásul nem találtam semmi ismerős kifejezést ami rémlett volna az eddigi "ismereteimből" hogy hogyan kell egy véletlen számot generálni...


Kép: [link]


Előre is köszönöm szépen a segítséget!


20/l



2014. szept. 30. 12:42
1 2
 1/18 A kérdező kommentje:
Azt elfelejtettem leírni, hogy sima C-ről van szó.
2014. szept. 30. 12:43
 2/18 anonim ***** válasza:

1. Ilyen nincs szinte egyik nyelvben sem, hogy "x<=y<=z". Azt fogalmazd meg, hogy "x<=y ÉS y<=z" -> tehát nézz utána a logikai operátoroknak. :)


2. Véletlenszám generálás: Google("c random number");

2014. szept. 30. 12:45
Hasznos számodra ez a válasz?
 3/18 SimkoL ***** válasza:

#include <time.h>


int main(){

srand(time(NULL));

int r = rand()%23;

if (r <= 10 )

printf("%d On megbukott", r);

else if ((r > 10) && (r < 21 ))

printf("%d On megfelelt", r);

else if (r > 20)

printf("%d On kivalo", r);

system("pause");

}

2014. szept. 30. 13:59
Hasznos számodra ez a válasz?
 4/18 63tqh ***** válasza:

Csináltam neked egy megoldást, írtam magyarázatot is.

(Az oldal nem enged pastebin-t linkelni...)

pastebin[dot]com/YDbSqf4q

Link:

[link]

2014. szept. 30. 13:59
Hasznos számodra ez a válasz?
 5/18 63tqh ***** válasza:
Nem is baj, pastebin-es rossz, rand()%23 kell.
2014. szept. 30. 14:04
Hasznos számodra ez a válasz?
 6/18 SimkoL ***** válasza:
#4: Nálam a három if-ben leírt feltétel miatt is megbuknál :)
2014. szept. 30. 14:37
Hasznos számodra ez a válasz?
 7/18 anonim ***** válasza:

elég a 2 if is egybeágyazva

ez nem C kód

if (r <= 10)

{megbukott}

else if (21<=r) (kiváló)

else (megfelelt)

2014. szept. 30. 15:28
Hasznos számodra ez a válasz?
 8/18 63tqh ***** válasza:
SimkoL: Az if-ekkel semmi baj, de biztos meg is tudod indokolni, ha már írsz valamit.
2014. szept. 30. 22:47
Hasznos számodra ez a válasz?
 9/18 SimkoL ***** válasza:

if (randomSzam>=0 && randomSzam<=10)

Mivel mi generáltuk a számokat és tudjuk, hogy 0 és 22 között lehet ezért

nem vizsgáljuk, hogy nagyobb vagy egyenlő mint 0 hanem csak azt, hogy kisebb mint 11,

- ezt sajna én is benéztem - 6 fél után - a r <=10 nél -

if (randomSzam < 11)

if (randomSzam>=11 && randomSzam<=20) helyett

if ((randomSzam > 10) && (randomSzam < 21 )) miért is kellene vizsgálni az egyenlőséget ?

a harmadik bocsánatos mivel

//ezt direkt másként írtam, itt vagy 21 vagy 22 esetén lép be

2014. okt. 1. 08:19
Hasznos számodra ez a válasz?
 10/18 anonim ***** válasza:

Simkol, te hülye vagy.

Minek kötsz bele, ha ennyire nem értesz hozzá?

Tökéletesen rendben voltak azok az elágazások, úgy ahogy a kolléga csinálta.

2014. okt. 1. 08:40
Hasznos számodra ez a válasz?
1 2

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!