55:20 D:\LEBENSERWARTUNG.cpp [Warning] multi-character character constant (Dev-C++)



  • Hier ersteinmal der (teil)code (C++ Quelldatei):

    **#include <iostream>

    using namespace std;

    //Erste Frage
    //

    int main ()
    {
    cout << "PRAESENTIERT VON O.M.G." << endl;
    //Variablen
    //

    int Geschlecht; //...
    int Alter;
    int Raucher;
    float Liebe;
    float Essen;
    int Sport;
    float Koerper;
    char Antwort1;
    char Antwort2;

    //start
    //

    cout << "Guten Abend" << endl;
    cout << "Sind Sie maennlich druecken sie die 1" << endl;
    cout << "Sind Sie weiblich druecken sie die 2" << endl;
    cout << "Sind Sie keins von beidem drücken sie die 3" << endl;
    cin >> Geschlecht;

    //Auswahl
    //

    switch (Geschlecht)
    {
    //Bejahung oder Verneinung ...
    //männlich?
    //
    case (1):
    {
    cout << "Nun gut, Sie sind also maennlich." << endl;
    cout << "Sollten sie sich vertippt haben" << endl;
    cout << "und sind eigentlich weiblich geben starten sie neu" << endl;
    cout << "Sind sie der Meinung," << endl;
    cout << "es kann los gehen, so geben sie jetzt ein los" << endl;**
    cin >> Antwort1;

    //Fortsetzung
    //
    *switch (Antwort1)
    {
    case ('los')
    {

    cout << "Nun, da Sie sich sicher sind das Richtige " << endl;
    cout << "Geschlecht angegeben zu haben können wir" << endl;
    cout << "fortfahren." << endl;
    cout << "Diese Programm dient dazu Ihnen eine ungefaehre" << endl;
    cout << "Lebenserwartung zu errechnen." << endl;
    cout << "!!WEDER ICH, NOCH MEIN SCHOEPFER UEBERNEHMEN FUER" << endl;
    cout << "DIE ANGABEN GARANTIE ODER HAFTUNG!! WIR BITTEN" << endl;
    cout << "SIE DAHER VORERST DIE LIESMICH DATEI ZU LESEN!" << endl;
    cout << "Beantworten Sie nun bitte folgende Fragen: " << endl;
    cout << "(!!BITTE DIE ZAHLEN ALS ANTWORT GEBEN!!)" << endl;

    //Fragebogen
    //

    cout << "1.Wie alt sind Sie?" << endl;
    cin >> Alter;

    cout << "2.Rauchen Sie?" << endl;
    cout << "20 Ja" << endl;
    cout << "0 Nein" << endl;
    cin >> Raucher;

    cout << "3.Wie würden Sie Ihre Ernaehrung bezeichnen?" << endl;
    cout << "1) Ausgwogen " ;
    cout << "0.75) Fetthaltig ( mind 1mal die Woche Fastfood" << endl;
    cout << "0.5) SEHR Fetthaltig (3mal die Woche Fastfood" << endl;
    cout << "2) vegetarisch" << endl;
    cout << "0.63) veganisch (ÜBERHAUPT kein Fleisch!)" << endl;
    cin >> Essen;

    cout << "4.Wie sportlich sind Sie?";
    cout << "!!HIERBEI IST DER SCHULSPORT AUSGESCHLOSSEN!!" << endl;
    cout << "15) sehr aktiv (täglich sportliche Aktivitäten)" << endl;
    cout << "12) aktiv (mehrmals die Woche)" << endl;
    cout << "10) normal (2-3 mal die Woche)" << endl;
    cout << "7) schlapp (1-2 mal 2 Wochen)" << endl;
    cout << "4) nicht der Rede Wert (2mal/Monat)" << endl;
    cout << "3) reine Sportskanone (unter 2mal im Monat)" << endl;
    cin >> Sport;

    cout << "5.Wie sind Sie koerperlich veranlagt?" << endl;
    cout << "1) TERMINATOR 2 (riesen Bizeps, 6pack etc.)" << endl;
    cout << "1.2) Durchschnittlich (leichte-starke Bizeps," << endl;
    cout << "2) etwas unterm Durchschnitt" << endl;
    cout << "(leichte bizepsandeutungen, nicht so schlank" << endl;
    cout << "3) Lebensfähig (keine Bizeps, angerundet-mollig)" << endl;
    cout << "5) Was noch übrig bleibt (...)" << endl;
    cin >> Koerper;
    }break;
    }
    }break;*

    so und jez das spannende 😮 wenn mans KOmpiliert und ausführt läuft der "fette" abschnitt einwandfrei. Wenn man dann allerdings zum ersten switch unterzweig (kursiv) und will Antwort1 angeben dann schaltet sich das prog einfach ab. 😞
    Im Compiler steht dann nur diese Warnung zur Zeile : 55:20 D:\LEBENSERWARTUNG.cpp [Warning] multi-character character constant

    Kann mir irgendjemand weiter helfen?



  • Verwende Strings anstelle von chars:

    string Antwort1;
    string Antwort2;
    

    Da du offenbar nur schaust, ob "los" (Doppelte Anführungszeichen, da es sich nicht nur um ein Zeichen handelt) eingegeben wurde oder nicht, kannst du auch if verwenden:

    if(Antwort1 == "los")
    {
    // ...
    

    Zudem würde ich nicht alles in der main-Funktion spielen lassen, sondern - wenn nicht OOP - zumindest mehrere Funktionen erstellen.

    Grüsse
    L.Foliage



  • Dieser Thread wurde von Moderator/in GPC aus dem Forum Andere GUIs - Qt, GTK+, wxWidgets in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Bitte benutz Code-Tags ([cpp]) und poste nur minimale Beispiele!

    1. die einfachen Anführungszeichen benutzt man immer nur für ein Zeichen 'a' und _nicht_ 'ab'
    2. die switch/case-Anweisung kann _nicht_ für den Vergleich von strings benutzt werden


Anmelden zum Antworten