Menu

case label??

haxer
2007-09-09
2012-09-26
  • haxer

    haxer - 2007-09-09

    This is my second program in c++ so im kind of new. Ive used the code below but i get quite a few errors. There was one that said "case label does not reduce to an integer constant" and i got no idea what to do. If someone could look at my code and tell me where i went wrong, and tell me if i might recieve more errors later on it would be greatly appreciated. Thanks, Heres the code:

    include <iostream>

    using namespace std;

    int main(void)
    {
    system ("TITLE Calculator");
    char cchar;
    double dnumber1;
    double dnumber2;
    char cdoagain;

    do
    {
    system(&quot;CLS&quot;);
    cout &lt;&lt; &quot;Please Enter your First Number&quot; &lt;&lt;endl;
    cin &gt;&gt; dnumber1;
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;Please type the operation you would like to use&quot; &lt;&lt;endl;
    cout &lt;&lt; &quot;+,-,x,/&quot; &lt;&lt;endl;
    cin &gt;&gt; cchar;
    cout &lt;&lt; endl &lt;&lt;&quot;Please Enter the Second Number you would like to use&quot; &lt;&lt;endl;
    cin &gt;&gt; dnumber2;
    
    switch (cchar)
    {
    case &quot;+&quot;;  // THIS LINE IS HIGHLIGHTED WITH ERROR SIGN
           cout &lt;&lt; dnumber1 &lt;&lt; &quot; + &quot; &lt;&lt; dnumber2 &lt;&lt; &quot; = &quot; &lt;&lt; (dnumber1 + dnumber2) &lt;&lt;endl;
           break;
    
    
    case &quot;-&quot;;
           cout &lt;&lt; dnumber1 &lt;&lt; &quot; - &quot; &lt;&lt; dnumber2 &lt;&lt; &quot; = &quot; &lt;&lt; (dnumber1 - dnumber2) &lt;&lt;endl;
           break;
    
    
    case &quot;x&quot;;
           cout &lt;&lt; dnumber1 &lt;&lt; &quot; x &quot; &lt;&lt; dnumber2 &lt;&lt; &quot; = &quot; &lt;&lt; (dnumber1 * dnumber2) &lt;&lt;endl;
           break;
    
    
    case &quot;X&quot;;
           cout &lt;&lt; dnumber1 &lt;&lt; &quot; x &quot; &lt;&lt; dnumber2 &lt;&lt; &quot; = &quot; &lt;&lt; (dnumber1 * dnumber2) &lt;&lt;endl;
           break;
    
    
    case &quot;*&quot;;
           cout &lt;&lt; dnumber1 &lt;&lt; &quot; * &quot; &lt;&lt; dnumber2 &lt;&lt; &quot; = &quot; &lt;&lt; (dnumber1 * dnumber2) &lt;&lt;endl;
           break;
    
    
    case &quot;/&quot;;
         if (dnumber2 == 0)
         {
    cout &lt;&lt; &quot;This is an invalid operation&quot; &lt;&lt;endl;
                  }
    

    else {
    cout << dnumber1 << " / " << dnumber2 << " = " << (dnumber1 / dnumber2) <<endl;
    }
    break;
    default;
    cout << "That is an Invalid Operation!" <<endl;
    break;

     cout &lt;&lt; &quot;Would you like to start again?  (y/n)&quot; &lt;&lt;endl;
     cin &gt;&gt; cdoagain;
      while (cdoagain == &quot;y&quot; || cdoagain == &quot;Y&quot;);
     system (&quot;PAUSE&quot;);
     return 0;
     }
    
           }
    

    =--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

     
    • Kurgusov

      Kurgusov - 2007-09-09

      you use the " " with string literals as in std::string name = "Bob";

      you use the ' ' when dealing with character constants as in char letter = 'a' etc,

      the '+' '-' etc are character constants,ie they never change.

      I heard over at sourceforge pdCurses forum that using system( 'input command here' ) causes big overhead,
      probably better off using the standard cout or c's printf?

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.