Autor |
Beitrag |
cyberrambo2810
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 19:03
Hallo,
In der Schule haben wir vor kurzem mit Delphi begonnen und ich komm nicht mit der Aufgabe klar und bitte daher um Hilfe.
Aufgabe:
Eingabe 1: mögliche Punktzahl '60'
Eingabe 2: erreichte Punktzahl z.B:'30'
Ausgabe der Zensur: '4+'
(Verarbeitung Prozentwert berechnen und runden)
Prozent Note
0..8: 6
9..35: 5
36..54: 4
55..69: 2
85..100: 1
3 Editfenster/1 Abbruchbutton(close;)/1 Rechnenbutton
Da ich noch Amateur in Bereich Delphi bin, bitte ich um einfache,verständnisvolle Erklärung.
PS: Ich habe kein Delphi und es wäre toll, wenn ihr es so anordnet wie im Programm ( u.a. zum drucken).
MfG,cyberrambo2810
|
|
martin300
      
Beiträge: 186
Erhaltene Danke: 2
|
Verfasst: Do 04.03.10 19:12
Zitat: |
PS: Ich habe kein Delphi und es wäre toll, wenn ihr es so anordnet wie im Programm ( u.a. zum drucken).
|
Dann wäre es vielleicht gar nicht so schlecht sich Delphi zu besorgen? Oder was meint dein Lehrer, bzw. wie solltest du es machen?
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Do 04.03.10 19:36
Hey
@martin300: ich glaub er meint das so, das er kein Delphi daheim hat un das erst in der Schule machen kann, wires ihm also erklären müssen un kein Code hochladen können...
@cyberrambo2810: Wo hast du denn Probleme? Die Komponenten die du brauchst sind ja schon vorgegeben, die klickst du dir einfach auf deni Formular und gibts ihnen einen gescheiten Namen. Mit StrToInt kannst du aus den Strings im Edit eine Zahl (Integer) machen. Mit StrToInt geht das ganze rückwärts. Runden kann man mit Round, oder gleich mit der Ganzzahlingen Division "div". Das sollte alles sein was du dazu brauchst. Ansonsten ist HIER alles wunderbar ausführlich beschrieben...
MfG Bergmann
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Do 04.03.10 19:39
cyberrambo2810 könnte sich auch das kostenlose Lazarus installieren und dieses nutzen, um sich dann bei Problemen hier wieder zu melden. 
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 20:41
Erstmal Danke an alle die geantwortet haben.  Ich werde jetzt Lazarus installieren und probieren. Sollte es mir nicht gelingen (Aufgabe), dann mache ich vom Quelltext Screenshorts, damit ihr mir die Fehler beschreiben könnt.
Mfg, cyberrambo2810
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Do 04.03.10 21:11
Hey,
du musst keine Bilder vom Code machen, den kannst du auch einfach hier posten setz einfach den Code in folgende Tags: <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG6a8c04f5e2825fb46f3f25d9e682d73f}</span></span>
MfG Bergmann
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 21:13
So hier ist mein Quelltext, der falsch ist... Was hab ich falsch gemacht?
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: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63:
| unit Unit1;
{$mode objfpc}{$H+}
interface
uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
procedure TForm1.Button2Click(Sender: TObject); begin close; end;
procedure TForm1.Button1Click(Sender: TObject); var Punkte1:Integer; Punkte2:String; Punkte3:Real; begin Punkte:StrToInt(Edit1.Text); case Punkte of 0..8:='6'; 9..35:='5'; 36..54:='4'; 55..69:='2';
85..100:='1'; end; Edit3.Text: initialization {$I unit1.lrs}
end. |
MfG,cyberrambo2810
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 04.03.10 21:15
cyberrambo2810 hat folgendes geschrieben : | So hier ist mein Quelltext, der falsch ist... Was hab ich falsch gemacht? |
Du benutzt keine Delphi Tags für deinen Code hier im Forum.
Du verschweigst uns die Fehlermeldung.
Delphi-Quelltext
Und das Ergebnis springt von alleine in das Eingabefeld?
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 21:23
Ich kann ja keine Delphi Tags anwenden da ich ja Lazarus anwende, oder verfügt Lazarus über diese Tags? Nicht böse sein, wie gesagt das ist für mich alles komplett neu.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 04.03.10 21:28
IM FORM, beim Erstellen deines Beitrages sollst du Delphi-Tags verwenden.
|
|
FinnO
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Do 04.03.10 21:31
Luckie hat folgendes geschrieben : | IM FORM |
fail.
Was Luckie meint ist, dass du den Quelltext den du programmiert hast, kopierst und dann, wenn du hier einen Beitrag schreibst, diesen einfügst und jeweils vor und hinter diesen Code <span class="inlineSyntax"><span class="codecomment">{PROTECTTAG44cb3ffd453ffed6b2e7cfab3f6057e4}</span></span> schreibst.
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 21:34
Jetzt weiß ich zukünftig bescheid  Dank Gausi habe ich nun die richtige Delphi-Form.
PS: Mir fehlt bestimmt noch die Formel zur Prozentberechnung p=w*100/G d.h. z.B. p=54*100/60=90 Daraus folgt: Note:1
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 04.03.10 21:46
Mist diese blöde U.
Ja, da hast du doch deine Formel. Für w und G musst du jetzt eben noch die Werte aus den Eingabefeldern nehmen:
Delphi-Quelltext 1:
| p := StrToInt(Edit2.Text) * 100 div StrToInt(Edit1.Text); |
Und mit dem Ergebnis gehst du dann in deine case-Verzweigung und bestimmst die Note.
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 21:59
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: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62:
| unit Unit1;
{$mode objfpc}{$H+}
interface
uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
procedure TForm1.Button2Click(Sender: TObject); begin close; end;
procedure TForm1.Button1Click(Sender: TObject); var Punkte1:Integer; Punkte2:String; Punkte3:Real; begin p := StrToInt(Edit2.Text) * 100 div StrToInt(Edit1.Text); case Punkte of 0..8:='6'; 9..35:='5'; 36..54:='4'; 55..69:='2'; 85..100:='1'; end; Edit3.Text: initialization {$I unit1.lrs}
end. |
Und wie sieht's jetzt aus, ich hab das Gefühl, dass die Variablen falsch sind...
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 04.03.10 22:11
Du verstehst absolut nicht, was du machst oder? Wo ist p deklariert? Wozu die Variablen Punkt1, Punkt2 und Punkt3? Und das Ergebnis springt immer noch in Edit3 rein oder wie?
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 22:19
Luckie hat folgendes geschrieben : | Du verstehst absolut nicht, was du machst oder? Wo ist p deklariert? Wozu die Variablen Punkt1, Punkt2 und Punkt3? Und das Ergebnis springt immer noch in Edit3 rein oder wie? |
Das dritte Editfenster zeigt die Note an. Das erste Editfenster die möglichen Punkte. Und im zweiten Editfenster wird die optionale Punktzahl eingegeben.
Ich wendete mich nicht aus Spaß im Forum, sondern das Forum soll da sein um andere mit ihren Problemen zu helfen...
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 04.03.10 22:24
Jetzt rate mal, was ich hier die ganze Zeit versuche. Aber wenn du nicht wem falls versuchst zu verstehen, was du machst und was man dir sagt, wird das nichts. Fertigen Quellcode wirst du hier nicht bekommen.
Noch ein Tipp:
Delphi-Quelltext 1: 2: 3: 4: 5:
| case p of 0..8: note := '6'; 9..35: note := '5'; end; Edit3.Text := note; |
PS: Du wendest dich nicht aus Spaß ans Forum und wir machen nicht zum Spaß die Hausaufgaben anderer.
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 22:31
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: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61:
| unit Unit1;
{$mode objfpc}{$H+}
interface
uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
procedure TForm1.Button2Click(Sender: TObject); begin close; end;
procedure TForm1.Button1Click(Sender: TObject); var note:Integer; p := StrToInt(Edit2.Text) * 100 div StrToInt(Edit1.Text); begin case p of 0..8:note:='6'; 9..35:note:='5'; 36..54:note:='4'; 55..69:note:='3'; 70..84:note:='2'; 85..100:note:='1'; end; Edit3.Text:note; initialization {$I unit1.lrs}
end. |
Hab jetzt den ganzen Quatsch mit den Punkten bei den Variablen erstmal gelöscht...
Zuletzt bearbeitet von cyberrambo2810 am Do 04.03.10 22:47, insgesamt 1-mal bearbeitet
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Do 04.03.10 22:42
Hi, mal ne Frage:
Gibt es bei den Zensuren keine 3 mehr, bin schon lange raus!?
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
cyberrambo2810 
Hält's aus hier
Beiträge: 12
|
Verfasst: Do 04.03.10 22:45
Hi ALF, Habe ich übersehen, werde es sofort korrigieren...
|
|