Problem bei der for-Schleife
Problem bei der for-Schleife
ich muss für meinen informatik kurs ein programm schreiben das e-mail adressen zerlegt:
Schreibe ein Programm, welches eine eMail-Adresse einliest und anschließend in die einzelnen Bestandteile zerlegt, also in den Benutzernamen(alle vor dem Zeichen @) und in die Domainnamensteile(die Teile zwischen den Punkten hinter dem Zeichen @). Bevor jedoch die eMail-Adresse in die einzelnen Bestandteile zerlegt wird, soll zunächst getestet werden, ob die angegebene eMail-Adresse genau einmal das Zeichen @ enthält. Falls das Zeichen @ nicht oder mehr als einmal vorkommt, soll die entsprechende Fehlermeldung ausgegeben werden, da sie Syntax der eMail-Adresse offensichtlich falsch ist.
Bsp. Eingabe: otto.bender@aol.com
Ausgabe: Benutzername: otto.bender
Domainnamensteile: aol com
kann mir da irgendjemand helfen? ich hab überhaupt keine ahnung wie ich das anstellen soll
Schreibe ein Programm, welches eine eMail-Adresse einliest und anschließend in die einzelnen Bestandteile zerlegt, also in den Benutzernamen(alle vor dem Zeichen @) und in die Domainnamensteile(die Teile zwischen den Punkten hinter dem Zeichen @). Bevor jedoch die eMail-Adresse in die einzelnen Bestandteile zerlegt wird, soll zunächst getestet werden, ob die angegebene eMail-Adresse genau einmal das Zeichen @ enthält. Falls das Zeichen @ nicht oder mehr als einmal vorkommt, soll die entsprechende Fehlermeldung ausgegeben werden, da sie Syntax der eMail-Adresse offensichtlich falsch ist.
Bsp. Eingabe: otto.bender@aol.com
Ausgabe: Benutzername: otto.bender
Domainnamensteile: aol com
kann mir da irgendjemand helfen? ich hab überhaupt keine ahnung wie ich das anstellen soll
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Ich nehme an, es läuft bei euch unter der Rubrik for-Schleife und ihr müsste es über for regeln?
Ansonsten hätte ich die üblichen Stringroutinen genutzt. >Pos< und >Copy< wären da eigentlich deine Freunde
Mit ner for-Schleife müsstest du es sonst zeichen für zeichen durchgehen und prüfen, ob das aktuelle Zeichen ein @ ist, wenn nicht, kopierst du das zeichen in einen neuen String, der dann den Namen enthält. Nach dem @ kannst du dann die restlichen Zeichen in einen zweiten String kopieren, der die Domain enthält.
Ansonsten hätte ich die üblichen Stringroutinen genutzt. >Pos< und >Copy< wären da eigentlich deine Freunde
Mit ner for-Schleife müsstest du es sonst zeichen für zeichen durchgehen und prüfen, ob das aktuelle Zeichen ein @ ist, wenn nicht, kopierst du das zeichen in einen neuen String, der dann den Namen enthält. Nach dem @ kannst du dann die restlichen Zeichen in einen zweiten String kopieren, der die Domain enthält.
-
- 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:
Hallo teisi!
Wo steckt genau dein Problem, kannst du das vielleicht präzisieren?
An welcher Stelle hakt es, wo möchtest du was wissen?
(Aber bitte berücksichtige, dass die (Frei)Zeit derer, die dir hier antworten, beschränkt ist und das deshalb nur selten Komplettlösungen gegeben werden können.)
Viele Grüße, Euklid
Wo steckt genau dein Problem, kannst du das vielleicht präzisieren?
An welcher Stelle hakt es, wo möchtest du was wissen?
(Aber bitte berücksichtige, dass die (Frei)Zeit derer, die dir hier antworten, beschränkt ist und das deshalb nur selten Komplettlösungen gegeben werden können.)
Viele Grüße, Euklid
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Euklid hat geschrieben:(Aber bitte berücksichtige, dass die (Frei)Zeit derer, die dir hier antworten, beschränkt ist und das deshalb nur selten Komplettlösungen gegeben werden können.)
Und das ist auch gar nicht unbedingt das Ziel, sondern du sollst schon verstehen, was dann da eigentlich passiert, und da hilft eine fertige Lösung wohl kaum
-
- 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:
Variablen, die Zahlen beinhalten, definiert man z.B. durch:
var i : integer;
Variablen, die "Buchstaben" beinhalten, durch beispielsweise:
var s : string;
Nun kannst du aus diesem String einzelne Zeichen ("Buchstaben") rausschneiden. Am Einfachsten geht das mit einer rechteckigen Klammer hinter dem String. Hierfür sei mal s='Test'. Dann ist s[1]='T' und s[2]='e' und s[3]='s' und s[4]='t'.
Bei deiner Aufgabe kannst du so mit einer for-Schleife rausfinden, von dein @ steckt.
Strings lassen sich auch addieren. So ist z.B.: s[1]+s[3] = 'Ts' und s[2] + s[1] = 'eT'.
Auf diese Weise kannst du dann die untersuchten Zeichen bis zum @ zu dem String hinzufügen, in dem der Benutzername stehen soll. Der Domainnamensteil geht genauso.
Welche Funktionen habe ihr denn zum Umgang mit Strings schon kennen gelernt?
Wenn du noch Fragen hast, nur zu. Aber bitte möglichst präzise stellen.
Viele Grüße, Euklid
var i : integer;
Variablen, die "Buchstaben" beinhalten, durch beispielsweise:
var s : string;
Nun kannst du aus diesem String einzelne Zeichen ("Buchstaben") rausschneiden. Am Einfachsten geht das mit einer rechteckigen Klammer hinter dem String. Hierfür sei mal s='Test'. Dann ist s[1]='T' und s[2]='e' und s[3]='s' und s[4]='t'.
Bei deiner Aufgabe kannst du so mit einer for-Schleife rausfinden, von dein @ steckt.
Strings lassen sich auch addieren. So ist z.B.: s[1]+s[3] = 'Ts' und s[2] + s[1] = 'eT'.
Auf diese Weise kannst du dann die untersuchten Zeichen bis zum @ zu dem String hinzufügen, in dem der Benutzername stehen soll. Der Domainnamensteil geht genauso.
Welche Funktionen habe ihr denn zum Umgang mit Strings schon kennen gelernt?
Wenn du noch Fragen hast, nur zu. Aber bitte möglichst präzise stellen.
Viele Grüße, Euklid
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Aber Hallo Christian,
der Nicolaus Wirth hat da damals mal ne Maschine namens Lillith gebastelt, da war das Betriebsystem Pascal. Weshalb mich immer wundert warum immer noch Leute behaupten mit PASCAL könnte man kein BS programmieren.
Ich hab da damals an der FH mal gelernt, das man dafür nur den passenden Linker braucht, der den Code in den Bereich des geschützen Speichers verschieben kann und gut dem Dinge.
der Nicolaus Wirth hat da damals mal ne Maschine namens Lillith gebastelt, da war das Betriebsystem Pascal. Weshalb mich immer wundert warum immer noch Leute behaupten mit PASCAL könnte man kein BS programmieren.
Ich hab da damals an der FH mal gelernt, das man dafür nur den passenden Linker braucht, der den Code in den Bereich des geschützen Speichers verschieben kann und gut dem Dinge.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)