Beitragsrückblick für (die neuesten Beiträge zuerst) |
Torgal |
Erstellt: 14:09 am 15. Okt. 2004 |
Du musst ne abfangschleife einbaun. das funzt folgendermaßen. Du definierst eine neue Variable namens char Muell [100]. Bei einer falschen Eingabe schreibt das programm die eingabe auf die Müllvariable und löscht den inhalt dann. Funzt eigentlich ganz einfach mit ner While-schleife: Wie hier z.B.: cout << "Wollen Sie nochmal gefragt werden?\n Ja(1),Nein(0)\n"; char str[100]; // while(!(cin>>nochmal))// Schlieát Fehler durch { // falsche Eingaben aus cin.clear(); // cin >> str; // cout<< "Ja gehhearst Du Droodll gib hoid Ans oda Nui ei!";// } nochmal ist hier n integer, bei Die musst Du hallt Deine Char-Arrays (oder strings)angeben. Er gibt kuddelmuddel aus weil er wahrscheinlich die Zahlen als asci-Zeichen einließt (Du weißt schon 42='a' oder so ähnlich) Mit dieser schleife dürfte das aber nicht mehr passieren. Ich hoffe ich konnt ein bischen helfen. (Geändert von Torgal um 14:15 am Okt. 15, 2004)
|
carpeta |
Erstellt: 12:49 am 15. Okt. 2004 |
also bei mir läuft dein programm garnicht , der compiler rückt nur fehlermeldungen aus, hab 2 Zeilen verändert und jetzt läuft es zwar aber bei zahlen rückt das prog auch nur mist aus. definier mal dein problem genauer, kann noch nicht wirklich was mit anfangen, hast du alle typen richtig deklariert? welchen compiler benutzt du, system Linux oder Windoof? (Geändert von carpeta um 13:08 am Okt. 15, 2004)
|
SG4 |
Erstellt: 11:29 am 15. Okt. 2004 |
Nope, dass mit der /0 ists nicht, hab ich getestet, und mit dem Debugger bekomm ichs net raus.
|
MilleniumEli1 |
Erstellt: 14:45 am 14. Okt. 2004 |
Hi! Also er benutzt ja keine string funktion, sondern variablen die so heissen... WArum schmeisst du nicht einfach den debugger an!? da müssteste doch innerhalb von 10s raushaben wo der fehler auftritt... streng dich mal selber was an was mir aber auffällt ist das du die schleife nach 0 durchläufst und nicht nach der binären 0 = '/0' Darf man das?
|
Murdock |
Erstellt: 14:14 am 14. Okt. 2004 |
Ich schätze mal weil sich der Befehl string nur auf Buchstaben bezieht! Bin mir aber nicht sicher, schau mal ins Handbuch oder mit google! Gruß
|
SG4 |
Erstellt: 12:19 am 14. Okt. 2004 |
Hiho! Ich bin neu hier im Forum, und hab folgendes Problem. Wir sollten im Unterricht ein Programm entwickeln, dass folgendes macht: Man gibt zwei Strings ein, z.b. Tim und Adelheit. Er soll sie dann so ausgeben: TAidmelheit So, soweit tat das Programm, jedoch, wenn man Zahlen eingibt kam ein KuddelMuddel herraus. Und keiner wußte warum. Das HauptProblem ist, dass unser Lehrer mir, mit einem etwas komplizierterem Programm eine schlechtere Note gab, als dem der das folgende mit dem Bug gemacht hatte:
Code #include <iostream> #include <cstring.h> #include <stdlib.h> int main () { char string1[50],string2[50],ergebnis[101]; cout << "\n\tBitte geben sie den ersten Text ein : "; cin.getline(string1,50); cout << "\n\tBitte geben sie den zweiten Text ein : "; cin.getline(string2,50); int i=0,i2=0,i3=0; cout << "\n\t"; while (!((string1[i]==0)&&(string2[i2]==0))) { if (string1[i]!=0) { ergebnis[i3]=string1[i]; i++; i3++; } if (string2[i2]!=0) { ergebnis[i3]=string2[i2]; i2++; i3++; } } i2=0; while (ergebnis[i2]!=0) { cout << ergebnis[i2]; i2++; } int end; cin >> end; }
| So, und meine Version schaut noch, wie lang der String ist, und gibt dann nichts mehr dort aus. Das funktioniert auch. Mein Lehrer sagte mir, wenn ich Ihm sagen kann, warum er den KuddelMuddel ausgibt, bekomme ich meine Note. Und nun brauche ich die Hilfe von euch, bevor die Zeugnisnote wegen so einem Quatsch in die Tiefen geht. Mfg SG4 (Geändert von SG4 um 12:19 am Okt. 14, 2004)
|
× |