Programmierproblem c++



  • Hi bin kompletter newbi hab erst vor 3 tagen mit c++ angefangen also bitte net lachen! Möchte eineneinfachen Taschenrechner programieren aber der compiler rekennt mir das "case" und "break" nicht und schreibt mir den error:schlüsselwort 'case' ungültig, bzw. schlüsselwort 'break' ungültig! Hat irgendwer vielleicht eine kleine info wie das anders lösen oder was ich falsch mach! Danke lg

    [code]#include"stdafx.h"
    #include<iostream>
    
    char a;
    char s;
    char m;
    char d;
    
    int main(){
    	std::cout<<"Geben sie zwei Zahlen ein"<<std::endl;
    	int z1;
    	int z2;
    
    	std::cout<<"1.Zahl"<<std::endl;
    	std::cin>>z1;
    	std::cout<<"2.Zahl"<<std::endl;
    	std::cin>>z2;
    	std::cout<<"Geben Sie den Operator ein:"<<std::endl;
    	std::cout<<"a --> Addition"<<std::endl;
    	std::cout<<"s --> Subtraktion"<<std::endl;
    	std::cout<<"m --> Multiplikation"<<std::endl;
    	std::cout<<"d --> Division"<<std::endl;
    	std::cin>>a||s||m||d;
    
    int sum;	
    case 'a':sum=z1+z2;break; 
    	std::cout<<"Summe="<<sum<<std::endl;
    int diff;
    case 's':diff=z1-z2;break; 
    	std::cout<<"Differenz="<<diff<<std::endl;
    int mul;
    case 'm':mul=z1*z2;break; 
    	std::cout<<"Produkt="<<mul<<std::endl;
    int div;
    case 'd':div=z1/z2;break;
    	std::cout<<"Quotient="<<div<<std::endl;
    }[/code]
    


  • da fehlt ein switch um die cases.



  • std::cin>>a||s||m||d;
    

    Das ist ja ein lustiges Konstrukt 🙂


  • Mod

    Badestrand schrieb:

    std::cin>>a||s||m||d;
    

    Das ist ja ein lustiges Konstrukt 🙂

    Ohne entsprechend überladenen ||-Operator allerdings sinnlos. Es könnte trotzdem nie die Bedeutung haben, die der OP vermutlich beabsichtigt hat.



  • Er sagte ja, nicht auslachen 😉

    char Buchstabe;
    std::cin >> Buchstabe;
    
    switch (Buchstabe)
    {
        case 'a': /* ... */ break;    // Nach dem break kommt nichts...
        case 's': /* ... */ break;
    }
    

Anmelden zum Antworten