ffonsi Geschrieben 15. März 2010 Geschrieben 15. März 2010 Hallo Aufagebenstellung sieht folgendermaßen aus: Aufgabe1 Schreibe ein Programm "Schiffe Versenken", das in einem 2dimensionalen Array der Größe 8x8 3 Schiffe platziert (2 Zweier und 1 Dreier) und es einem Benutzer ermöglicht über die Tastatur Koordinaten einzugeben. Wenn eine eingegebene Koordinat mit einem Schiff übereinstimmt, soll das Programm das Wort "Treffer" ausgeben, wenn nicht soll "Wasser" ausgegeben werden. Das Programm soll zusaätzlich überprüfen, ob die om Benutzer eingegebenen Koordinaten gültig sind. Bei ungültigen Koordinaten soll eine Fehlermeldung ausgegeben werden. So weit so gut, das Programm steht, aber jetzt die Aufgabe 2: Erweitere das Programm"Schiffe Versenken" so, dass das Programm die Meldung "Versenkt" ausgibt wenn alle Koordinaten eines Schiffes getroffen wurden. Was auch noch schön wäre eine option, damit nicht immer wider das Programm neu geöffnet werden muss. Und hier hört mein Latein absolut auf. Habe ehrlich gesagt auch keine Idee wie ich da drin gehen soll. Damit ihr mal schauen könnt wie mein Programm bis jetzt aussieht stelle ich das ganze Ding mal rein. Ich bin in der Lehre als Fachinformatiker Systemintegration und habe erst mitte Januar angefangen und in der Schule hatte ich auch nicht wirklich ein Fach was einen darauf vorbereitet hat. Diese Aufgabe hat mein Ausbilder mir gestellt, also keine Hausaufgabe oder sowas. HILFE!!! Ich werd noch bekloppt mit dem Programmieren:upps program schiffe_versenken; {$APPTYPE CONSOLE} uses SysUtils; var feld: array [1..8, 1..8] of char; x,y:integer; schiff1 : char; schiff2 : char; schiff3 : char; ziel1,ziel2:integer; wdh : boolean; begin // BEFUELLEN des Arrays schiff1:='S'; schiff2:='S'; schiff3:='S'; for y:=1 to 8 do begin for x:=1 to 8 do begin feld[x,y]:='W'; end; //for x end;//for y // ANLEGEN der Schiffe //Das 1.Schiff anlegen feld[1,1]:= schiff1; feld[2,1]:= schiff1; //ende des ersten Schiffes // Das 2. Schiff anlegen feld[4,5]:= schiff2; feld[4,4]:= schiff2; //ende des zweiten Schiffes // Das 3. Schiff anlegen feld[1,8]:= schiff3; feld[2,8]:= schiff3; feld[3,8]:= schiff3; // ende des dritten Schiffes // AUSGABE des Arrays for y:=1 to 8 do begin writeln; for x:=1 to 8 do begin write(feld[x,y]:4); end; //for x Writeln; end;//for y writeln; //Eingabeaufforderung // erste Abfrage der Koordinate wdh := false; while wdh = false do begin writeln ('Geben sie die erste Koordinate des Feldes ein das sie beschiessen moechten:'); readln (ziel1); if (ziel1 =0) or (ziel1 > 8) then begin writeln ('Diese Eingabe ist nicht zulaessig!!!'); end else begin wdh := true; end; end; // zweite Abrage der Koordinate wdh:= false; while wdh = false do begin writeln ('Geben sie die zweite Koordinate des Feldes ein das sie beschiessen moechten:'); readln (ziel2); if (ziel2 =0) or (ziel2 >8) then begin writeln ('Diese Eingabe ist nicht zulaessig!!!'); end else begin wdh := true end; end; if feld [ziel1,ziel2] = 'W' then begin writeln ('Sie haben nur das WASSER getroffen.'); end else begin writeln ('Sie haben einen TREFFER gelandet!') end; readln; end. Zitieren
LadyPreis Geschrieben 15. März 2010 Geschrieben 15. März 2010 und was sollen wir jetzt machen? Dir hier nen fertigen Quelltext präsentieren? Frag genau nach, in welchem Punkt du Probleme hast - dann wird dir auch geholfen. Aber dass das ne Aufgabe vom Ausbilder sein soll bezweifel ich doch sehr stark. Welcher Ausbilder sagt denn zu seinem Azubi "Programmier mal ein Spiel" Zitieren
ffonsi Geschrieben 15. März 2010 Autor Geschrieben 15. März 2010 (bearbeitet) tja ich weiß ja nicht bei wem du das gelernt hast aber mein Ausbilder will mich halt fordern, nur manchmal übertreibt er es ein wenig. Ich komme mit der Boolean Regel noch nicht so ganz klar, vielleicht kann mir da ja jemand weiterhelfen, und nicht so Blödsinn verzapfen der keinem weiterhilft. Und ne richtige Idee wie ich jetzt weiterverfahren soll damit der angibt Versenkt wenn alle Koordinaten getroffen worden sind habe ich auch nicht wirklich parat. Bearbeitet 15. März 2010 von ffonsi Zitieren
e@sy Geschrieben 15. März 2010 Geschrieben 15. März 2010 ...und nicht so Blödsinn verzapfen der keinem weiterhilft. In dem Fall kann ich dir garantieren das du hier keine Hilfe finden wirst. Boolesche Algebra Mein Weg sähe so aus: Schuss erfolgt,Treffer,Treffer markieren,überprüfen ob Komplettes Schiff versenkt,Markierung komplett,Ausgabe "Versenkt" Zitieren
ffonsi Geschrieben 16. März 2010 Autor Geschrieben 16. März 2010 Das ist doch mal ein Beitrag mit dem man was anfangen kann, jetzt hab ich wenigstens schon mal ein Gedankenanstoß bekommen mit dem ich ein Stuktogramm gestalten kann. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.