Hausaufgaben bei Hilfe Tutorial

Previous topic - Next topic

el abhur

Hi, möchte programmieren lernen deshalb hab ich zuerst das Tutorial bei den Hilfen angefangen. Und jetzt komm ich nicht weiter. Hier die Aufgabenstellung: Ein kleiner Test, der Dich bereit für das nächste Kapitel machen soll:
Stell Dir vor, Du bist ein Lehrer und hast eine Klasse mit 4 Schülern (2 Reihen, 2 Spalten). Weil Dir die Schüler so leid tun, möchtest Du einen Computer die Aufgabe überlassen, den Namen des Schülers auszuwählen, der ausgefragt wird.
Schreibe ein Programm, bei dem Du für die Schulbänke in einer Sub-Funktion die Namen der Schüler eingeben musst, und wähle zufällig eine Reihe und eine Spalte aus, von der Du dann den Schülernamen, die Reihe und die Spalte auf den Bilschirm schreibst.

Zuerst wollte ich mal probieren wie man ver. Inputs in einem Datenfeld speichern kann. Deshalb hab ich mal zum Test das geschrieben:
DIM raum$[3]
FOR i=0 TO 3
   GOSUB name
NEXT
PRINT raum$[0], 100, 400
SHOWSCREEN
MOUSEWAIT



// ------------------------------------------------------------- //
// ---  name  ---
// ------------------------------------------------------------- //
SUB name:
PRINT "Name des Schuelers: ", 100, 100
INPUT schueler$, 250, 100
GLOBAL raum$=schueler$

ENDSUB // name

Nach meinem Erachtens sollte jetzt die ver. Namen gespeichert sein. Jedoch kommt immer nur der letzte eingetragene Name angezeigt. Kann mir da schnell jemand helfen. Die Lösung ist wahrscheinlich sehr einfach aber ich komm einfach nicht drauf.





       mfg El Abhur


                 

Steinbock

Hallo

Bei Deiner SUB übergibst Du den Schülernamen schueler$ nur der Variable raum$, jedoch ohne Feldindex-Angabe!
Also wird vermutlich immer an raum$[0] übergeben.
Du hast im DIM auch nur 3 Feldindexe reserviert, benutzt aber in der FOR-Schleife 4 (0..3) ;)
Time will come. It's just a matter of time...

el abhur

ah ich hab den Fehler gefunden danke



Schranz0r

Verschoben nach GLBasic-de.
Das ist leider kein FAQ!
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard