Textbearbeitung - Maximalgehalt auslesen!
Textbearbeitung - Maximalgehalt auslesen!
Hallo Leute,
ich habe Probleme bei einer Aufgabe.
Zur Aufgabe:
Es liegt eine n*4 zeilige Textdatei vor, in der jeweils in vier aufeinanderfolgen Zeilen folgende Werte stehen:
-Vorname
-Name
-Gehalt
-Personalnummer
Nun soll der Name und die Personalnummer von der Person mit dem meisten Gehalt ermittelt werden!
Also irgenwie muss man ja erstmal die Gehälter auslesen und abspeichern. Dann muss man zu dem höchsten Gehalt noch irgendwie den Namen und die Personalnummer bekommen.
Ich finde einfach keine Möglichkeit, wie man dies umsetzen kann.
Könnt ihr mir vielleicht helfen?
Ich wäre euch sehr dankbar.
Liebe Grüße
ich habe Probleme bei einer Aufgabe.
Zur Aufgabe:
Es liegt eine n*4 zeilige Textdatei vor, in der jeweils in vier aufeinanderfolgen Zeilen folgende Werte stehen:
-Vorname
-Name
-Gehalt
-Personalnummer
Nun soll der Name und die Personalnummer von der Person mit dem meisten Gehalt ermittelt werden!
Also irgenwie muss man ja erstmal die Gehälter auslesen und abspeichern. Dann muss man zu dem höchsten Gehalt noch irgendwie den Namen und die Personalnummer bekommen.
Ich finde einfach keine Möglichkeit, wie man dies umsetzen kann.
Könnt ihr mir vielleicht helfen?
Ich wäre euch sehr dankbar.
Liebe Grüße
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2822
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Textbearbeitung - Maximalgehalt auslesen!
Frag einfach nochmal bei deinem Lehrer nach.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: Textbearbeitung - Maximalgehalt auslesen!
entweder Lesen - speichern - abfragen .. oder beim Lesen gleich abfragen.
wo klemmt's denn?
hde
wo klemmt's denn?
hde
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Textbearbeitung - Maximalgehalt auslesen!
Variablen definieren
-Vorname
-Name
-Gehalt
-Personalnummer
-Vornamemax
-Namemax
-Gehaltmax
-Personalnummermax
ersten vier Werte einlesen und gleich in die xxxxmax Variablen schieben
nächste Werte einlesen mit xxxmax vergleichen ->falls Gehalt größer ab damit nach xxxmax ansonsten weiter ...
usw usf bis zum Ende deiner Liste
xxxmax anzeigen fertig
-Vorname
-Name
-Gehalt
-Personalnummer
-Vornamemax
-Namemax
-Gehaltmax
-Personalnummermax
ersten vier Werte einlesen und gleich in die xxxxmax Variablen schieben
nächste Werte einlesen mit xxxmax vergleichen ->falls Gehalt größer ab damit nach xxxmax ansonsten weiter ...
usw usf bis zum Ende deiner Liste
xxxmax anzeigen fertig
Re: Textbearbeitung - Maximalgehalt auslesen!
Ah ja, das hat mir geholfen. Super,danke!
Re: Textbearbeitung - Maximalgehalt auslesen!
Also ich habs jetzt fertig und es arbeitet auch genau so wie es arbeiten soll...
Jedoch ist das ganze ziemlich komplierziert geschrieben für so eine einfach sache, stimmt?
Ich hatte Probleme mit dem Vergleich, wenn die Variable vorher den gleichen Wert trägt?
Wisst ihr, wie man das ein wenig professioneller schreiben kann?
Danke euch.
LG
Programm:
Jedoch ist das ganze ziemlich komplierziert geschrieben für so eine einfach sache, stimmt?
Ich hatte Probleme mit dem Vergleich, wenn die Variable vorher den gleichen Wert trägt?
Wisst ihr, wie man das ein wenig professioneller schreiben kann?
Danke euch.
LG
Programm:
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
var f:textfile;
vor,nach,gehalt,nummer,vormax,gehaltmax,nachmax,nummermax,vor1,nach1,nummer1:string;
hilfe:integer;
begin
assignfile(f,'gehalt.txt');
reset(f);
hilfe:=0;
readln(f,vor1);
readln(f,nach1);
readln(f,gehalt);
gehaltmax:=gehalt;
readln(f,nummer1);
while not eof(f) do
begin
readln(f,vor);
readln(f,nach);
readln(f,gehalt);
if (gehalt>gehaltmax) then
begin
gehaltmax:=gehalt;
vormax:=vor;
nachmax:=nach;
hilfe:=1;
end;
readln(f,nummer);
if hilfe=1 then
begin
nummermax:=nummer;
end;
end;
if hilfe=0 then
begin
showmessage('Nachname: '+nach1+', '+'Gehalt in €: '+gehaltmax+', Personalnummer: '+nummer1);
end
else
begin
showmessage('Nachname: '+nachmax+', '+'Gehalt in €: '+gehaltmax+', Personalnummer: '+nummermax);
end;
end;
end.
Zuletzt geändert von Lori am Mo 9. Sep 2013, 12:48, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: Textbearbeitung - Maximalgehalt auslesen!
Also ich finde das eigentlich professionell genug. Einfach noch die Zeilen überall einheitlich einrücken, die Leerzeilen entfernen wo sie nicht notwendig sind, und schon siehts gut aus 

Re: Textbearbeitung - Maximalgehalt auslesen!
Euklid hat geschrieben:Also ich finde das eigentlich professionell genug. Einfach noch die Zeilen überall einheitlich einrücken, die Leerzeilen entfernen wo sie nicht notwendig sind, und schon siehts gut aus
...ich finde das wenig "professionell", weil ihr dem TE nicht sagt, das keineswegs die Höhen der Gehälter sondern deren Stringlänge verglichen wird.
Bernd.
Re: Textbearbeitung - Maximalgehalt auslesen!
Ein Vergleich von Werten und beide strings(?) Und das soll professionell sein?Manu3790 hat geschrieben: if (gehalt>gehaltmax) then
hde