Witzprogramm schreiben ( Anfänger )
-
Mal was anderes....
Gibt es eigentlich die Möglichkeit Umlaute wie ä ö ü und ß möglich zu machen ??
Das würde mir ne Menge Arbeit beim formatieren ersparen und es wäre gut zu wissen
-
Wenn du Windows verwendest, dann siehe Konsolen-FAQ.
Bei Linux hilft dirdieser Thread vielleicht weiter.
Caipi
-
AlternativEnde ungeloggt schrieb:
Gibt es eigentlich die Möglichkeit Umlaute wie ä ö ü und ß möglich zu machen ??
Ja, ae, oe, ue, sz.
Oder Unicode verwenden.
-
Das programm ist nun schon seit ein paar Wochen fertig und läuft schön.
Werde ich mal hochladen, falls es jemanden interessiert...
NUn ja ich bin nun bei der nächsten Übung und brauch nur ne kleine Hilfe.
mit dem Header ctime kann man es doch bestimmt anstellen, dass Uhrzeiten beachtet werden oder ?Wie geht das ?
-
Hallo zusammen,
hmm also ich bräuchte noch mal eine kleine Übung so zum lernen mit dem Buch.
Hat jemand eine Idee was ich nützliches schreiben könnte ?Wäre euch sehr verbunden.
-
AlternativEnde ungeloggt schrieb:
Hallo zusammen,
hmm also ich bräuchte noch mal eine kleine Übung so zum lernen mit dem Buch.
Hat jemand eine Idee was ich nützliches schreiben könnte ?Wäre euch sehr verbunden.
Irgend eine beliebige kleine Übung? Versuch Dich doch einmal an TicTacToe, es heißt, das wäre eine der besten kleinen Übungen, die einen beim Lernen von C++ gewaltig voran bringen können. Vielleicht kannst Du ja dazu irgendwelche Controls zum Entgegennehmen der Benutzereingaben verwenden, etwa SS_NOTIFY Static Controls wären da gut geeignet.
Probier's mal, viel Spaß dabei!
-
Hmm hab mal geschaut was das überhaupt sein soll,a ber bisher nichts gefunden.
Nur was mit Objektorientierung, aber soweit bin ich noch nicht
-
Ich denke ich werde etwas mit Umrechungen machen also in Form von
float fahrenheit, celsius; char eingabe; cout << "1 fuer Fahrenheit nach Clesius\n"; cout << "2 fuer Celsius nach Fahrenheit\n"; while (eingabe !='\x1b') // ESC als einzige Abbruchbedingung { eingabe = getch(); // Warte auf Taste unter Unix / beos getchar; switch (eingabe) { case '1': cout << "\nFahrenheit eingeben: "; cin >> fahrenheit; celsius =(fahrenheit -32) / 1.8; cout <<celsius <<" Grad Celsius"; break; case '2': cout << "\nCelsius eingeben: "; cin >> celsius; fahrenheit = (celsius * 1.8) + 32; cout << fahrenheit <<" Grad Fahrenheit"; break; default: cout << "Fehleingabe" ;
problem ist nur, dass ich leider kein Tabellenbuch habe wo drin steht wie ich soetwas schönes machen kann http://www.sengpielaudio.com/Rechner-bits.htm
Habe die Formlen nicht und nicht genug Mathematische Denkkraft und Erfahrung mir das umzurechnen..
-
@AlternativEnde
Lass diesen Thread doch endlich mal in Frieden ruhen und mach für deine nächsten Fragen einen neuen Thread auf. Ich finde nämlich, dass die letzten Posts nicht mehr viel mit dem Witzprogramm zu tun haben...Caipi
-
Meinst du
?
Nur noch diese eine Frage ich hoffe, dass ich dann auch erstmal keine mehr brauchen werde.
Da ich Zuhause eigentlich nur Zeta bzw. beOS nutze wollte ich mein Programm, also den Anfang davon,d er unter Windows bereitsfehlerfrei läuft auch BeOS kompatibel machen und ich krieg langsam echt nen dicken Hals bei diesem SCheiß....
Es funktioniert scheinbar niemals mit beos..
die ganze while Schleife und die Switch Geschichte laufen nicht richtig und er nimmt die Werte zwar an rechnet dann aber nciht um und erst nachdem ich noch nen paar mal auf die Tastatur kloppe kann ich kategorie wechseln...Wäre euch sehr sehr verbunden, wenn ihr mir aus dem Wutanfall am Samstag helfen könntet...
Ach übrigends, auch wenn ich getchar drin lasse läuft es nicht richtig.. da ist irgendwo der Bock drin#include <iostream.h> // #include <conio.h> Windowskompatibilität #include <stdio.h> #include <stdlib.h> int main() { float fahrenheit, celsius; char eingabe = 0; cout << "1 fuer Fahrenheit nach Clesius\n"; cout << "2 fuer Celsius nach Fahrenheit\n"; while (eingabe != 27) // ESC als einzige Abbruchbedingung { //eingabe = getchar(); // Warte auf Taste unter Unix / beos getchar; switch (eingabe) { case '1': cout << "\nFahrenheit eingeben: "; cin >> fahrenheit; celsius =(fahrenheit -32) / 1.8; cout <<celsius <<" Grad Celsius"; break; case '2': cout << "\nCelsius eingeben: "; cin >> celsius; fahrenheit = (celsius * 1.8) + 32; cout << fahrenheit <<" Grad Fahrenheit"; break; default: cout << "Fehleingabe" ; } } /* // BIT cin >> bit; byte = 8 / bit; kilobit = 1024 / bit; */ return 0; }
-
Mal abgesehen davon, dass dein Code nicht dem aktuellen Standard entspricht, scheint er korrekt zu sein. Vielleicht solltest du die conio Sachen mal komplett rausnehmen und alle Eingaben (also auch die für den Abbruch der Schleife) über cin machen. Ich hoffe zudem, dass du nur für deinen Beitrag die Sachen auskommentiert hast. Denn momentan hast du 'ne klassische Endlosschleife mit permanenter "Fehleingabe" Ausgabe.
Und was heisst eigentlich "die ganze while Schleife und die Switch Geschichte laufen nicht richtig"? Irgendwie ist das wenig informativ.
-
AlternativEnde schrieb:
Meinst du
?
Es funktioniert scheinbar niemals mit beos..
die ganze while Schleife und die Switch Geschichte laufen nicht richtig und er nimmt die Werte zwar an rechnet dann aber nciht um und erst nachdem ich noch nen paar mal auf die Tastatur kloppe kann ich kategorie wechseln...Wäre euch sehr sehr verbunden, wenn ihr mir aus dem Wutanfall am Samstag helfen könntet...
Ach übrigends, auch wenn ich getchar drin lasse läuft es nicht richtig.. da ist irgendwo der Bock drin[cpp]
#include <iostream.h>
// #include <conio.h> Windowskompatibilität
#include <stdio.h>
#include <stdlib.h>int main()
{float fahrenheit, celsius;
char eingabe = 0;cout << "1 fuer Fahrenheit nach Clesius\n";
cout << "2 fuer Celsius nach Fahrenheit\n";// Überleg mal, wie eingabe jemals den Wert 27 annehmen können soll?
while (eingabe != 27) // ESC als einzige Abbruchbedingung
{
**// Wieso Kommentar??**eingabe = getchar(); Warte auf Taste unter
// Unix / beos getchar;
cin.get(eingabe); // Schon sind unsere Chancen, aus der Schleife
// eines Tages wieder raus zu kommen, gestiegen
// Sollte man in der Schleifenbedingung wirklich gegen den ASCII Code
// von ESC checken, oder ist da nicht doch eher der virtual key code
// gefragt? cin bietet da einfach keine Möglichkeit, den vkc der ge-
// drückten Tasten in Erfahrung zu bringen. Schade.switch (eingabe) // Ab hier ist alles syntaktisch korrekt ...
{
case '1':
cout << "\nFahrenheit eingeben: ";
cin >> fahrenheit; // Auch wenn in diesem Fall wieder einmal
// die schlampige Implementierung der
// 'Standard-C++' Streams dazu führen wird,
// dass wieder einmal ein Zeilenumbruchzeichen
// im Eingabepuffer zurückbleibt, das man dann
// mit einem Extra Aufruf von cin.get() wieder
// manuell rauspflücken darf
celsius =(fahrenheit -32) / 1.8;
cout <<celsius <<" Grad Celsius";
break;case '2':
cout << "\nCelsius eingeben: ";
cin >> celsius;
fahrenheit = (celsius * 1.8) + 32;
cout << fahrenheit <<" Grad Fahrenheit";
break;default:
cout << "Fehleingabe" ;
}} // Aber ansonsten sieht Dein Proggy ziemlich verheißungsvoll aus
/*
// BIT
cin >> bit;
byte = 8 / bit;
kilobit = 1024 / bit;
*/return 0;
}
[/cpp]// Bin schon gespannt auf Deine nächsten Programme
-
Ihr versteht es echt jemanden fertig zu machen
Na ja gut ich bin ja noch am lernen und dieses Programm sit auch selbst von mir geschrieben daher keine korrekte Übung irgendwo abgeschrieben oder so.
Deshalb bin ich auch für diese Tipps sehr dankbar.Das mit der 27 habe ich bei einem anderen Programm mal gesehen glaube ich.
In meinem Buch wird soetwas ähnliches mit '\x1b' angegeben.
Wie mache ich denn das richtig ? So das er bei ESC dann halt aus dem Programm rausgeht und nichts mehr macht....Dann müsste ich nur noch die Enter Taste da heraus nehmen, denn ansonsten bekommt man ja tatsächlich immer Fehleingabe nachdem man die Werte eingegeben hat.
na muss noch soviel lernen
-
So wollte das ganze mal mit do while versuchen und habs auch fast geschafft
Die C++ Cracks mögen es mir verzeihen, aber es läuft leider nicht wie gewünscht..#include <iostream.h> #include <stdio.h> //#include <stdlib.h> int main() { float fahrenheit, celsius; char eingabe ='\x1b'; cout << "1 fuer Fahrenheit nach Clesius\n"; cout << "2 fuer Celsius nach Fahrenheit\n"; do // ESC als einzige Abbruchbedingung { cin.get(eingabe); switch (eingabe) { case '1': cout << "\nFahrenheit eingeben: "; cin >> fahrenheit; celsius =(fahrenheit -32) / 1.8; cout <<celsius <<" Grad Celsius"; break; case '2': cout << "\nCelsius eingeben: "; cin >> celsius; fahrenheit = (celsius * 1.8) + 32; cout << fahrenheit <<" Grad Fahrenheit"; break; default: cout << "\nFehleingabe" ; } }while (eingabe !='\x1b'); /* BIT cin >> bit; byte = 8 / bit; kilobit = 1024 / bit; */ return 0; }
-
Hallo
Also habe gerade noch ein bisschen getestet und herumgespielt.
Hier ist das vorläufige Ergebnis.#include <iostream> #include <stdio.h> #include <stdlib.h> int main() { float fahrenheit, celsius; char eingabe = 0; cout << "1 fuer Fahrenheit nach Clesius\n"; cout << "2 fuer Celsius nach Fahrenheit\n"; do { cin.get(eingabe); // Das seltsame ist, wenn ich es so mache eingabe = getch (); dann kann ich bei ESC beenden und habe auch nicht mehr das Enter = fehleingabe problem.. Aber ich will ja ANSI C++ lernen also wie ist es da korrekt ? switch (eingabe) { case '1': cout << "\nFahrenheit eingeben: "; cin >> fahrenheit; celsius =(fahrenheit -32) / 1.8; cout <<celsius <<" Grad Celsius"; break; case '2': cout << "\nCelsius eingeben: "; cin >> celsius; fahrenheit = (celsius * 1.8) + 32; cout << fahrenheit <<" Grad Fahrenheit"; break; default: cout << "\nFehleingabe" ; } }while (eingabe !=27 && eingabe!='b'); // DAs b habe ich nur eingefügt, weil ich den //Ascii Zeichensatz für ENTER nicht wusste.., aber eigentlich könnte ich doch dann über // == ENTER|ASCII den Fehler das wenn man Zahl und enter eingibt auch //fehlermeldung kommt vermeiden oder ? Sorry wenn ich da nun nen Denkfehler habe, // aber bin seit 13 Stunden am arbeiten. /* BIT cin >> bit; byte = 8 / bit; kilobit = 1024 / bit; */ return 0; }