Ein Ausdruck des Beitrags mit 6 Antworten ergibt bei 3 Antworten pro Seite ca. 2 DIN A4 Seiten. Das entspricht bei 80 g/m² ca. 9.98 Gramm Papier.
-- Veröffentlicht durch Torgal am 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)
-- Veröffentlicht durch carpeta am 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. :blubb: 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)
-- Veröffentlicht durch SG4 am 11:29 am 15. Okt. 2004
Nope, dass mit der /0 ists nicht, hab ich getestet, und mit dem Debugger bekomm ichs net raus.
-- Veröffentlicht durch MilleniumEli1 am 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?
-- Veröffentlicht durch Murdock am 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ß
-- Veröffentlicht durch SG4 am 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)
|