AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

erstellen einer funktion getinteger

Ein Thema von PomBär · begonnen am 26. Nov 2003 · letzter Beitrag vom 1. Dez 2003
Antwort Antwort
PomBär

Registriert seit: 28. Sep 2003
Ort: MV
57 Beiträge
 
Delphi 6 Professional
 
#1

erstellen einer funktion getinteger

  Alt 26. Nov 2003, 13:10
hi leutz
ich hab ne aufgabe und weis nicht so genau was ich da machen soll habt ihr ne idee und einen lösungsvorschlag??

Wenn die Deklaration var s:string; z,c:integer; gegeben ist, bewirkt der Aufruf val(s,z,c) folgendes: s wird in eine Zahl zu wandeln versuch und in z abgelegt. Ist c=0; war es erfolgreich; sonst enthält c die Fehlerposition.
Aufgabe: eine Funktion GetInteger(p:string), welche den Parameter p per writeln ausgibt. per readln einen string einliest, dies solange tut , bis ein gültiger integer eingegeben wurde und den als result zurückliefert. Im Fehlerfall wird dem User die Fehlerposition mitgelteilt und erneut zur Eingabe aufgefordert.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: erstellen einer funktion getinteger

  Alt 26. Nov 2003, 13:14
Zeige uns doch mal, wie weit Du mit Deinem Code bist. Das ganze hört sich für mich nach einer Schulaufgabe an, die wir hier nicht komplett lösen wollen. Also, zeige uns, wie weit Du kommst und dann zeigen wir Dir, wie es weiter geht

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
PomBär

Registriert seit: 28. Sep 2003
Ort: MV
57 Beiträge
 
Delphi 6 Professional
 
#3

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 20:07
Delphi-Quellcode:
program GetInteger;

{$APPTYPE CONSOLE}

uses
  SysUtils;
function GetName:string;
var p:string;
begin
repeat
write('einen Parameter bitte');
readln(p);
until
p<>'';
result:=p;

end;

end.
kann das stimmen?
ich weis nicht ich glaube da ist was falsch.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 20:14
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif,

ich geb' mal 'nen kleine Tip.

Fang' erst mal mit diesem Teil an:
Zitat von Dein Lehrer / Deine Lehrerin:
Wenn die Deklaration var s:string; z,c:integer; gegeben ist, bewirkt der Aufruf val(s,z,c) folgendes: s wird in eine Zahl zu wandeln versuch und in z abgelegt. Ist c=0; war es erfolgreich; sonst enthält c die Fehlerposition.
Code:
[b]Procedure[/b] Val(S: [b]String[/b]; [b]Var[/b] Z, C: Integer);
  [b]Begin[/b]
    [color=red][b]...[/b][/color] [color=darkred]{ hier soll dein Vorschlag rein }[/color]
  [b]End[/b];
Und jetzt zeig mal was du in diese Prozedur schreiben würdest, damit das angegebene erfüllt wird !
Wenn du keine entsprechenden Befehle findest, sag es wenigstens in Sätzen. (und nicht die OH vergessen - die ist ganz hilfreich)



[ADD]
PS:
Zitat von PomBär:
kann das stimmen?
ich weis nicht ich glaube da ist was falsch.
Also für den letzten Teil der Aufgabe ist das schon mal ein Anfang.


http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
$2B or not $2B
  Mit Zitat antworten Zitat
PomBär

Registriert seit: 28. Sep 2003
Ort: MV
57 Beiträge
 
Delphi 6 Professional
 
#5

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 20:24
aber ich soll doch keine procedure sondern eine function machen.?????????????????
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 20:33
Keine Sorge, am Ende kommt schon eine Funktion raus - das ist doch erst der 1. Teil der Aufgabe.

Zitat von Dein Lehrer / Deine Lehrerin:
Wenn die Deklaration var s:string; z,c:integer; gegeben ist, bewirkt der Aufruf val(s,z,c) folgendes: s wird in eine Zahl zu wandeln versuch und in z abgelegt. Ist c=0; war es erfolgreich; sonst enthält c die Fehlerposition.

http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 20:34
@himitsu: Die Prozedur val gibt es schon. Und ich denke mal, er soll sie verwenden für seine GetInteger Funktion.
Delphi-Quellcode:
function GetInteger(s: String): Boolean;
var
  Code: Integer;
  i: Integer;
begin
  val(s, i, Code);
  result := Code = 0;
end;
Das wäre mein Ansatz aber das:
Zitat:
bis ein gültiger integer eingegeben wurde und den als result zurückliefert. Im Fehlerfall wird dem User die Fehlerposition mitgelteilt und erneut zur Eingabe aufgefordert.
Soll das innerhalb der Funktion passieren oder in der while-Schleife?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
PomBär

Registriert seit: 28. Sep 2003
Ort: MV
57 Beiträge
 
Delphi 6 Professional
 
#8

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 21:20
das weis ich auch nicht genau. der lehrer gibt immer solche aufgaben wo man nicht durchsieht. aber ich glaube es soll in der funktion passieren. aber wenn du einen lösungsvorschlag für die while schleife hast wäre ich auch dafür dankbar.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 21:25
Oh, Das (val) kannte ich noch nicht, daher dachte ich es gehört mit zu Aufgabe.
(man lernt halt immer mal was neues dazu)

Dafür bin ich mal, zumindestens bei dieser Aufgabe, nett.

1:
Zitat von Dein Lehrer / Deine Lehrerin:
Aufgabe: eine Funktion GetInteger(p:string), ...
Code:
[color=red][b]Function[/b] GetInteger(P: [b]String[/b])[/color]: Integer;
2:
Zitat von Dein Lehrer / Deine Lehrerin:
... welche den Parameter p per writeln ausgibt. ...
Code:
[color=red]WriteLn(P);[/color]
3:
Zitat von Dein Lehrer / Deine Lehrerin:
... per readln einen string einliest, ...
Code:
[color=red]ReadLn(S)[/color];
4:
Zitat von Dein Lehrer / Deine Lehrerin:
... dies solange tut , bis ein gültiger integer eingegeben wurde ...
Code:
[color=red][b]Repeat[/b][/color]
  ...
[color=red][b]Until[/b] C = 0[/color];
5:
Zitat von Dein Lehrer / Deine Lehrerin:
... und den als result zurückliefert. ...
Code:
[color=red][b]Function[/b][/color] GetInteger(P: [b]String[/b])[color=red]: Integer[/color];
Code:
[color=red]Result := I;[/color]
6:
Zitat von Dein Lehrer / Deine Lehrerin:
... Im Fehlerfall wird dem User die Fehlerposition mitgelteilt ...
Code:
[b]If[/b] [color=red]C <> 0[/color] [b]Then[/b] [color=red]WriteLn('Fehler auf Position ' + IntToStr(C));[/color]
7:
Zitat von Dein Lehrer / Deine Lehrerin:
... und erneut zur Eingabe aufgefordert.
Code:
[color=darkred][b]Repeat[/b][/color]
  [color=red]WriteLn(P);[/color]
  [color=red]ReadLn(S);[/color]
  ...
[color=darkred][b]Until[/b] C = 0;[/color]
Ergebnis:
Delphi-Quellcode:
Function GetInteger(P: String): Integer;
  Var S: String;
    C, I: Integer;

  Begin
    Repeat
      WriteLn(P);
      ReadLn(S);
      Val(S, I, C);
      If C <> 0 Then WriteLn('Fehler auf Position ' + IntToStr(C));
    Until C = 0;
    Result := I;
  End;

http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
$2B or not $2B
  Mit Zitat antworten Zitat
PomBär

Registriert seit: 28. Sep 2003
Ort: MV
57 Beiträge
 
Delphi 6 Professional
 
#10

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 21:39
danke ohne euch wäre ich echt aufgeschmissen gewesen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:16 Uhr.
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