Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
mys

Anmeldungsdatum: 19.03.2005 Beiträge: 21 Wohnort: Nähe Giessen
|
Verfasst am: 21. Mai 2005 22:07 Titel: Notenberechnung |
|
|
Hallo...
ich hab wiedermal ein Problem:
ich soll mit Delphi ein Programm erstellen, wo man seine erreichten Punkte und die insgesamt zu erreichenden Punkte eingeben kann und dann bekommt man gesagt, wieviel Prozent das sind und welchem Notenpunkt das entspricht...
dass es die Prozentzahl ausrechnet, das hab ich ja schon hinbekommen, jetzt häng ich aber an der Ausgabe der endgültigen Notenpunkte.
Hier mal ein Auszug meines Quelltextes bis jetzt:
Code: | var
Form1: TForm1;
punkte1, punkte2: integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
punkte1 := StrToInt(Eingabe1.Text);
punkte2 := StrToInt(Eingabe2.Text);
Ausgabe1.Caption := IntToStr(punkte1 * 100 div punkte2);
end;
procedure ...................;
begin
case ..................... of
0..19 : Ausgabe2.Caption :='0';
20..26 : Ausgabe2.Caption :='1';
27..33 : Ausgabe2.Caption :='2';
34..40 : Ausgabe2.Caption :='3';
41..45 : Ausgabe2.Caption :='4';
46..50 : Ausgabe2.Caption :='5';
51..55 : Ausgabe2.Caption :='6';
56..60 : Ausgabe2.Caption :='7';
61..65 : Ausgabe2.Caption :='8';
66..70 : Ausgabe2.Caption :='9';
71..75 : Ausgabe2.Caption :='10';
76..80 : Ausgabe2.Caption :='11';
81..85 : Ausgabe2.Caption :='12';
86..90 : Ausgabe2.Caption :='13';
91..95 : Ausgabe2.Caption :='14';
96..100 : Ausgabe2.Caption :='15';
end;
end. |
da wo ........................................... steht, weiß ich halt nicht, was ich hinschreiben soll... und auch sonst werden wohl noch ein paar Sachen falsch sein...
wäre wirklich froh, wenn mir jemand helfen könnte  _________________ please me |
|
Nach oben |
|
 |
|
Pr0g

Anmeldungsdatum: 15.02.2005 Beiträge: 90 Wohnort: Düsseldorf
|
Verfasst am: 22. Mai 2005 01:53 Titel: |
|
|
Den Namen der Prozedur kann ich dir auch nicht sagen, da du sie nenn kannst wie du willst, bspw. "PunkteAnzeigen", die Punkte selber, stehen doch in Ausgabe1.Caption. Aber vom Stil her wäre es am besten, du würdest ne Funktion draus machen:
Code: | var
Form1: TForm1;
punkte1, punkte2: integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
punkte1 := StrToInt(Eingabe1.Text);
punkte2 := StrToInt(Eingabe2.Text);
Ausgabe1.Caption := IntToStr(punkte1 * 100 div punkte2);
Ausgabe2.Caption := IntToStr(PunkteEritteln(StrToInt(Ausgabe1.Caption)));
end;
function PunkteErmitteln(const APunkte: Integer): Integer;
begin
Result := 0;
case APunkte of
0..19 : Result := 0;
20..26 : Result := 1;
27..33 : Result := 2;
34..40 : Result := 3;
41..45 : Result := 4;
46..50 : Result := 5;
51..55 : Result := 6;
56..60 : Result := 7;
61..65 : Result := 8;
66..70 : Result := 9;
71..75 : Result := 10;
76..80 : Result := 11;
81..85 : Result := 12;
86..90 : Result := 13;
91..95 : Result := 14;
96..100 : Result := 15;
end;
end;
end. |
Der Code könnte noch besser eingerückt sein und globale Variablen sollte man auch vermeiden, aber das geht vielleich für den Anfang zu weit. _________________
http://webcraft.org/button_ani.gif http://ohs.pr0g.net/button_ani.gif |
|
Nach oben |
|
 |
mys

Anmeldungsdatum: 19.03.2005 Beiträge: 21 Wohnort: Nähe Giessen
|
Verfasst am: 22. Mai 2005 16:11 Titel: |
|
|
danke schonmal... aber klappt leider immer noch nicht =(
anstatt function hab ich mal procedure genommen, weil ich mich daran erinnern kann, das wir das irgendwann schonmal mit procedure gemacht hatten...
hier mal mein kompletter Quelltext:
Code: | unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Eingabe1: TEdit;
Label3: TLabel;
Eingabe2: TEdit;
Label4: TLabel;
Button1: TButton;
Label5: TLabel;
Ausgabe1: TLabel;
Label7: TLabel;
Ausgabe2: TLabel;
Label9: TLabel;
Label6: TLabel;
Label8: TLabel;
procedure Button1Click(Sender: TObject);
procedure PunkteErmitteln(const APunkte: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Result, punkte1, punkte2: integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
punkte1 := StrToInt(Eingabe1.Text);
punkte2 := StrToInt(Eingabe2.Text);
Ausgabe1.Caption := IntToStr(punkte1 * 100 div punkte2);
Ausgabe2.Caption := IntToStr(PunkteErmitteln(StrToInt(Ausgabe1.Caption)));
end;
procedure TForm1.PunkteErmitteln(const APunkte: Integer);
begin
Result := 0;
case APunkte of
0..19 : Result := 0;
20..26 : Result := 1;
27..33 : Result := 2;
34..40 : Result := 3;
41..45 : Result := 4;
46..50 : Result := 5;
51..55 : Result := 6;
56..60 : Result := 7;
61..65 : Result := 8;
66..70 : Result := 9;
71..75 : Result := 10;
76..80 : Result := 11;
81..85 : Result := 12;
86..90 : Result := 13;
91..95 : Result := 14;
96..100 : Result := 15;
end;
end;
end. |
Das Problem liegt jetzt bei
Code: | Ausgabe2.Caption := IntToStr(PunkteErmitteln(StrToInt(Ausgabe1.Caption))); |
Delphi sagt dazu:
[Error] Unit1.pas(46): There is no overloaded version of 'IntToStr' that can be called with these arguments
ich weiß leider nicht, was damit gemeint ist =(
Vielleicht kann mir nochmal jemand helfen?! *hoff* _________________ please me |
|
Nach oben |
|
 |
Pr0g

Anmeldungsdatum: 15.02.2005 Beiträge: 90 Wohnort: Düsseldorf
|
Verfasst am: 23. Mai 2005 00:04 Titel: |
|
|
Naja, das Problem liegt einfach daran, dass dort function stehen muss und nicht procedure. Das hat schon seinen Sinn, wenn ich das so schreibe
Eine Prozedur kann keinen Wert zurückgeben, jedenfalls nicht als direkte Rückgabe, hächstens als Parameter, eine Funktion dagegen schon. _________________
http://webcraft.org/button_ani.gif http://ohs.pr0g.net/button_ani.gif
Zuletzt bearbeitet von Pr0g am 23. Mai 2005 14:36, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
mys

Anmeldungsdatum: 19.03.2005 Beiträge: 21 Wohnort: Nähe Giessen
|
Verfasst am: 23. Mai 2005 13:31 Titel: |
|
|
okkeeee... *duck*
jetzt klappt es sogar... *lol*
VIELEN VIELEN DANK!!!!!!!!!!!!!!!  _________________ please me |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum nicht herunterladen
|
|