JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=bcdec22fbce1b2660d68fab2275e05f3Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Fehler?!?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
p.l.o.u.
Gast








BeitragVerfasst am: 26.08.2002, 16:25    Titel: Fehler?!? Antworten mit Zitat

Das Programm auf Seite 90 bis 92 veruracht bei mir einen Fehler, nachdem ich es ausführe fragt das Programm nach der Zahl, berechnet die Kreisfläche dann fragt mich ob ich noch eine Berechnung dürchführen will. Wenn ich jetzt mehr als den Buchstaben j eingebe(also: ja), gibt er mir endlos:

Die Kreisfläche ist 0
Weitere Berechnung durchführen?
Die Kreisfläche ist 0
Weitere Berechnung durchführen?
Die Kreisfläche ist 0
Weitere Berechnung durchführen?
Die Kreisfläche ist 0
Weitere Berechnung durchführen?
.
.
.
aus ohne das ich darauf einfluss nehmen kann.
Das selbe ist auch mit dem Beispiel auf der CD.

Ach ja und seit ich meinen Rechner neu installiert habe und so auf Visual C++ neu installieren musste macht er keine Umlaute (also: ä, ö und ü) mehr sonder setzt ersetzt die Zeichen beim Programmstart durch die Zeichen der Englischen Tastatur
Nach oben
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.08.2002, 18:51    Titel: Antworten mit Zitat

Das 1. ist wohl ein Programmier- oder Logikfehler des Programms.

Das 2. Problem: Hast du denn den deutschen Tastaturtreiber instelliert? - Sprich sind neben den Umlauten noch die Sonderzeichen anders und y und z vertauscht?
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
HotAcid
Super JLI'ler


Alter: 42
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 26.08.2002, 19:52    Titel: jaja...kenn ich Antworten mit Zitat

dein Programm erwartet die Eingabe eines Characters (char). das ist genau ein Zeichen. wenn du nun mehr eingibst, nimmt das Programm das erste Zeichen (j) und - jetzt wirds etwas merkwürdig - "speichert" den Rest deiner Eingabe für die nächste Eingabe.

Da du als nächstes einen Integer (int) eingeben sollst, aber einen Buchstaben (a) noch von deiner letzten Eingabe "gespeichert" hast, stürzt das Programm ab.

kurz gesagt: du versuchst - ungewollt - einen char an einen int zuzuweisen.

Für "richtige" Anwendungen, die nicht nur Übungszwecken dienen, solltest Du bei solchen Fällen erst einem char das erste Zeichen der Eingabe zuweisen (leider weiß ich gerade nicht genau, wie das geht). Dann hast du mit Sicherheit nur ein Zeichen in deinem char.

cu Felix
_________________
StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
p.l.o.u.
Gast








BeitragVerfasst am: 26.08.2002, 20:58    Titel: Antworten mit Zitat

ist schon die Deutsche Tastatur auch bei Visual C++ sind die Umlaute da nur wenn ich das Programm Compiliere und dann starte sind die Umlaute durch die englischen Tastaturzeichen vertauscht
z.B.

Unter VC++:
cout << "Weitere Berechnung durchführen?\n";

In der Anwendung:
cout << "Weitere Berechnung durchf³hren?\n";
Nach oben
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.08.2002, 21:04    Titel: Antworten mit Zitat

Ach so, das mit den Umlauten ist, weil der Quelltext in Ansi geschrieben ist, und die Terminalausgabe Ascii verwendet, nichts weiter. Das hat nichts mit der Tastaturbelegung zu tun.

Schaue in einer Ascii-Tabelle Nach, welche Zeichenwerte für welches Zeichen verwendet werden muß, oder Programmiere ohne Umlaute (ae, oe, ue, ss)

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DaN00b
JLI'ler



Anmeldedatum: 10.08.2002
Beiträge: 159

Medaillen: Keine

BeitragVerfasst am: 27.08.2002, 20:59    Titel: Antworten mit Zitat

ich würde so und so umlaute nicht grad empfehlen

selbst in meinem kommentaren schreib ich ae oe ue
_________________
Carpe Diem - Seize the day - Nütze den Tag!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum