Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Hilfe! Problem in Pascal! (https://www.delphipraxis.net/9815-hilfe-problem-pascal.html)

Sofa5000 5. Okt 2003 10:30


Hilfe! Problem in Pascal!
 
Hilfe! Kann mir jemand helfen? Ich lerne gerade das Programmieren und mache ein paar einfache Programme aber bei diesem habe ich ein Problem!

Der Sinn von dieses Programms:
der Benutzer gibt gültige Note ein
abbgebrochen wir wenn der Benutzer die Zahl null einbibt
und ich muss es mit einer while anweisung machen!

hier ist es:

Delphi-Quellcode:
program durchw;
uses wincrt;
var note,sum,i,x:integer;
begin
     i:=-1;
     sum:=0;
     writeln('Gib die Note ein');
     while (note>0) do begin
           sum:=sum+note;
           i:=i+1;
     end;
writeln(sum/i);
end.
Kann mir jemand sagen wo der Fehler liegt?

Danke!!

[edit=MrSpock]Programmtags hinzugefügt. Mfg, MrSpock[/edit]

Dagon 5. Okt 2003 10:35

Re: Hilfe! Problem in Pascal!
 
Ich hab dein Problem gelöst:

Delphi-Quellcode:
var note,sum,i,x:integer;

begin
  i:=-1;
  sum:=0;
  while (note > 0) do begin
    writeln('Gib die Note ein'); ReadLn(note);
    sum:=sum+note;
    i:=i+1;
  end;
  writeln(sum/i);
  ReadLn;
end.

Sofa5000 5. Okt 2003 10:51

Re: Hilfe! Problem in Pascal!
 
Das geht irgendwie auch nicht!

Dagon 5. Okt 2003 10:53

Re: Hilfe! Problem in Pascal!
 
Zitat:

Zitat von Sofa5000
Das geht irgendwie auch nicht!

Könntest du dich ein bisschen präziser ausdrücken?
Was geht nicht (Fehlermeldung, falsches Resultat)?

MrSpock 5. Okt 2003 11:10

Re: Hilfe! Problem in Pascal!
 
Hallo Sofa5000,

Vor der Ausgabe mit Writeln müsstest du überprüfen, ob i <> 0, sonst erzeugst du natürlich einen Fehler (Division durch 0).



Delphi-Quellcode:
var note,sum,i,x:integer;
begin
  i:=-1;
  sum:=0;
  while (note > 0) do begin
    writeln('Gib die Note ein'); ReadLn(note);
    sum:=sum+note;
    i:=i+1;
  end;
  if i > 1 then
    writeln(sum/i)
  else
    writeln('Keine Noten eingegeben.');
  ReadLn;
end.

Sofa5000 5. Okt 2003 12:03

Re: Hilfe! Problem in Pascal!
 
@ MrSpock Wenn ich es so mache wie du es geschrieben hast kommt gleich wenn ich das Programm öffne die Meldung keine Note eingegeben!

@theMaster Bei deiner Lösung kommt gleich wenn ich das Programm öffne 0,0000000000E+00

sakura 5. Okt 2003 12:10

Re: Hilfe! Problem in Pascal!
 
Gib Deiner Frage bitte mal noch eine vernünftige Überschrift!

...:cat:...

Niko 5. Okt 2003 12:11

Re: Hilfe! Problem in Pascal!
 
Wenn's unbedingt eine while Schleife sein soll, musst du Note vorher auf einen Wert größer 0 setzen. Sonst wäre eine repeat-until Schleife günstiger.

Dagon 5. Okt 2003 12:12

Re: Hilfe! Problem in Pascal!
 
Dann versuchs mal so:

Delphi-Quellcode:
var note,sum,i:integer;

begin
  i:=-1;
  sum:=0;
  note := 1;
  while (note > 0) do begin
    writeln('Gib die Note ein'); ReadLn(note);
    sum:=sum+note;
    i:=i+1;
  end;
  if i > 1 then
    writeln(sum/i)
  else
    writeln('Keine Noten eingegeben.');
  ReadLn;
end.

Luckie 5. Okt 2003 12:14

Re: Hilfe! Problem in Pascal!
 
Jungs, wie denkt ihr eigentlich, dass die Zahl in die Variable note kommt ohne ein readln? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz