Autor Beitrag
hoehlenpain
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Sa 25.09.10 10:49 
hallo liebe delphi freunde :=)

ich hatte heute früh ein wenig langeweile und dachte mir"hey, probierst du dich mal ein wenig an einem programm" so.. das ist dabei rausgekommen:


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
program notenberechnung;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  note,i,r,anzahl: integer;
  ds: real;
  wdhl: string;

begin
repeat
  writeln('Notenberechnung');
  writeln('Zum abrechen 0 druecken!!');
  writeln('Klassenarbeitsnoten DOPPELT eingeben!!');
  writeln('Bitte geben Sie eine Note ein: ');
  readln(note);
  i:=0;
repeat
if (note >0and (note <=6then
  writeln('Bitte geben sie eine weitere Note ein: ');
  i:=i+note;
  readln(note);
until note =0;
  writeln('Ihr Prudukt aller noten Betreagt: ',i);
  writeln('Wieviele Noten wurden eingegeben?: ');
  readln(anzahl);
  ds:=i/anzahl;
  r:=round(ds);
  writeln('Ihr Durchschnitt betreagt: ',r);
  writeln('Nocheinmal? (j/n) :  ');
  readln(wdhl);
until wdhl='n';
end.


so nun meine frage (das programm funktioniert soweit) kann man irgendetwas einbauen was die eingegebenen noten automatisch zählt? ... den die noten nachzuzählen und deren anzahl einzugeben wird auf dauer auch ein wenig öde^^

ich hoffe ich könnt mir helfen^^

lg hoehlenpain
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Sa 25.09.10 11:15 
Hallo, meinst Du, das etwa so?

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
program notenberechnung;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  Summe, Note,Anzahl: integer;
  Mittelwert: real;
  wdhl: string;

begin

  repeat
    Anzahl := 0;
    Summe := 0;
    writeln('Notenberechnung');
    writeln('Alle - auch doppelte - Klassenarbeitsnoten eingeben!!');
    repeat
      writeln('Bitte geben Sie die Note '+IntToStr(Anzahl+1)+' ein: (Abbruch mit 0) ');
      readln(Note);
      if note<>0 then 
      begin
        Summe := Summe + Note;
        Inc(Anzahl);
      end;
    until Note=0;
    writeln('Es wurden '+IntToStr(Anzahl)+' Noten wurden eingegeben.');
    if Anzahl = 0 then 
    begin
      writeln('Es wurden keine Noten eingegeben, daher keine Mittelwertbildung möglich.');
    end 
    else
    begin
      Mittelwert:=Summe/Anzahl;
      writeln('Ihr Durchschnitt beträgt: ',IntToStr(Round(Mittelwert)));
// Alternativ: writeln('Ihr Durchschnitt beträgt: ',FormatFloat('0.0*',Mittelwert));
    end;
    writeln('Nocheinmal? (j/n) :  ');
    readln(wdhl);
  until wdhl='n';
end.


Das sollte das tun, was Du wünschst. Die Alternativausgabe des Durchschnitts ist - fals Du auch nicht ganze Noten ausgeben als Mittelwert möchtest.

Anmerkuing: Bei der Variablenbenennung gut überlegen, wie sie heißen sollen. i z.B. wird vielfach als Schleifenvariablename verwendet, ist also für eine Summe ungeeignet. Ich habe die Variablen so benannt, wie sie für mich sinnvoll erscheinen

Für diesen Beitrag haben gedankt: hoehlenpain
hoehlenpain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Sa 25.09.10 11:38 
danke für deine tipps :)