007
19.11.2008, 23:42 Uhr
Hans
Library Walker (Operator)
|
Boah Beefy!
Du bist ja noch schlimmer, wenn es darum geht, für simple Aufgaben komplizierte Lösungen zu liefern. Das sind, soweit ich das beurteilen kann, ja schon keine Kanonen mehr, mit denen Du da auf Spatzen schiesst, das sind ja schon Bomben, die Du auf die Spatzen wirfst.
@chnafort: Ich hoffe, Dir ist klar was die Jungs mit den Programmen oben bezwecken wollen? Zum Einen wollen Sie Dich ein wenig Provozieren, klar. ABER, und das ist der wichtigere Punkt: Sie wollen Dir damit klar machen, das die Aufgabe im Grunde eine leichte Übung ist, sofern man über die Sache eine Weile nachgedacht hat. Und natürlich auch ausprobiert. Nur sind wir kein Hausaufgabenservice. Wir geben keine Lösungen vor, sondern verlangen Eigeninitiative. Die hast Du mit Deinem Programm ja schon gezeigt, das ist auch gut. Leider hast Du jetzt noch keine Rückmeldungen geliefert, ob Du weiter gekommen bist, und damit der Provokation die Tore geöffnet.
Doch jetzt noch mal im Einzelnen zu Deinem Programm:
C++: |
/*Patric Chanfort*/ /* 18.11.2008 */
/* Kommentare sind immer gut! Aber mehrzeilige Kommentare kann man auch so schreiben wie ich hier. Das ist letztlich eine Frage des persönlichen Geschmacks. */
#include<iostream> #include<windows.h> // Brauchst Du hier nicht, - Streichen!
using namespace std;
int main(void) { int x,y; char a,A,q,w,e,r,t,z;
a=97; // Der Ansatz ist schon mal in Ordnung A=65; y=0;
q='Ä'; // Die Variablennamen sind ungünstig gewählt, w='ä',e='Ö',r='ö',t='Ü',z='ü'; // weil sie keinen Hinweis // auf ihre Bedeutung liefern
/* Dieser Teil, bis zu meinem nächsten Kommentar... */ cout<<" -------------------------------"<<endl; cout<<"Das Programm gibt das Alphabet aus "<<endl; cout<<" -------------------------------"<<endl; cout<<" "<<endl; cout<<"================================="<<endl; cout<<"Menue: Geben bitte ein:"<<endl; cout<<"1 fuer Programm starten"<<endl; cout<<"2 fuer Programm schlieesen:"<<endl; cout<<"================================="<<endl;
cin>>x;
/* ... ist zwar ganz nett, weil er vielleicht gut aussieht, aber auch völlig überflüssig, weil er nichts mit der Lösung der Aufgabe zu tun hat, und auch nichts dazu beiträgt. */
//* Ausgabe von a bis z (gross und klein Buchstabe)
/* Hier ist ein Fehler!! mit der Zeichenfolge /* werden Kommentare eingeleitet, die sich über mehr als eine Zeile erstrecken. Genau das tust Du hier mit der Zeichenfolge //* mehrzeilige Kommentare müssen so beendet werden: */
switch(x) /* Dem entsprechend kannst Du Dir */ { /* diese switch-abfrage auch sparen. */
case(1): while ( y<26) // Die Schleife ist dagegen ein korrekter Ansatz. { cout<<A<<" "; cout<<a<<" "; cout<<" "<<endl; Sleep(100); // Wozu das ? A++; a++; y++; } // Dieser Zweig ist wiederum überflüssig, und zwar ... break; case(2): cout<<" Ciaos"<<endl; break; default: cout<<"Eingabefehler: Sie haben 1 oder 2 eingeben sollen. Danke!"<<endl; break; } // ... bis hier her.
//* Ausgebe von Ä,ä,Ö,ö,Ü,ü; /* Hier der gleiche Fehler mit den Kommentarzeichen */
cout<<q<<" "<<w; // Wenn hier wirre Zeichen erscheinen, dann cout<<e<<" "<<r; // solltest du Dich mal mit den Unterschieden cout<<t<<" "<<z; // der Zeichensätze Windows-1252 und /* der in Eingabeaufforderungen benutzen Codepage 437, bzw. 850 beschäftigen. Siehe unten. */
cout<<" "<<endl; cout<<" "<<endl;
system("pause"); // warum man das nicht benutzen sollte, // steht in den FAQs ausführlich // beschrieben. }
|
In der Wikipedia steht zum Thema Zeichensätze unter anderem:
Zitat von Wikipedia: |
Deutschsprachige Versionen von Windows (außer DOS-Fenster) verwenden die auf ISO 8859-1 aufbauende Kodierung Windows-1252 – daher sehen z. B. bei unter DOS erstellten Textdateien die deutschen Umlaute falsch aus, wenn man sie unter Windows ansieht.
|
Das gilt auch anders herum, d.h. in Textdateien, die unter Windows erstellt wurden, sehen die Umlaute auch falsch aus, wenn man sie im DOS-Fenster (Eingabeaufforderung) betrachtet. (Zitierter Artikel.) Nebenbei Bemerkt: Das Programm von 0xdeadbeef im Posting 006 versteh ich auch nicht, weil ich mich mit den Templates, die er da verwendet noch nicht beschäftigt habe. Das sind Konstrukte, die man für Zwecke braucht, deren Anforderungen weit über die Aufgabe hinaus ragen, die Dir gestellt wurde.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 20.11.2008 um 00:02 Uhr von Hans editiert. |