Thread: Heeeelp

  1. #1
    Registered User
    Join Date
    Oct 2008
    Posts
    1

    Heeeelp

    Hello
    I would need help, it says right after here: XXX
    that expected expression before else, but cant figure it out. Any hints? Thanks!


    Code:
    #include <stdio.h>
    
    main ()
    
    {
    
    double totalsqft, roomsqft,ceilingsqft,length,width;
    double labour, ceilingcost, totalcost;
    double premiumcost,basiccost,regularcost;
    int quality,ceiling;
    
    /*Program*/
    
    printf(">>>   Paint Cost Estimator   <<<\n");
    printf("Enter length of the room:");
    scanf("%lf",&length);
    printf("Enter width of the room in feet:");
    scanf("%lf", &width);
    printf("Enter quality[Premium=1,Regular=2,Basic=3]:");
    scanf("%d",&quality);
    
       if (quality == 1)
       {
       premiumcost=2*8*length+2*8*width*2*40/400;
       }
       if(quality==1 && ceiling==2);
       {
       premiumcost=2*8*length+2*8*width*2*40/400+width*length*20/400*2;
       }
       else  XXX
        {
        premiumcost=0;
        }
    
       if (quality==2)
       {
       regularcost=2*8*length+2*8*width*2*30/400;
       }
       if( quality==2 && ceiling==2);
        {
        regularcost=2*8*length+2*8*width*2*30/400+width*length*20/400*2;
        }
        else      XXXXX
        {
        regularcost=0;
        }
       if (quality==3)
       {
       basiccost=2*8*length+2*8*width*2*20/400;
       }
       if ( quality==3 && ceiling==2);
        {
        basiccost=2*8*length+2*8*width*2*20/400+width*length*20/400*2;
        }
        else     XXX
        {
        basiccost=0;
        }
    
    
    printf("Enter if ceiling to be painted [Yes-1,No-2]:");
    scanf("%d", &ceiling);
    
       if (ceiling != 1)
       {
       ceilingcost = 0;
       }
       else
       {
       ceilingcost = width*length*20/400*2;
       }
    
    /*Calculate room squarefeet*/
    
    roomsqft=2*8*length+2*8*width;
    totalsqft=ceilingsqft+roomsqft;
    labour=100+40*totalsqft/200;
    totalcost=labour+basiccost+regularcost+premiumcost;
    ceilingsqft=width*length;
    
    printf("Total Area: %.2lf sqft\n",totalsqft);
    printf("Premium paint cost: $ %.2lf\n", premiumcost);
    printf("Regular paint cost: $ %.2lf\n", regularcost);
    printf("Basic paint cost: $ %.2lf\n", basiccost);
    printf("Labour costs: $ %.2lf \n", labour);
    printf("TOTAL COST: $ %.2lf \n",totalcost);
    
    }

  2. #2
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    Code:
    if (quality == 1)
    {
      premiumcost=2*8*length+2*8*width*2*40/400;
    }
    if(quality==1 && ceiling==2);
    {
      premiumcost=2*8*length+2*8*width*2*40/400+width*length*20/400*2;
    }
    else  // XXX -- I give up, a rabbi?
    {
     premiumcost=0;
    }
    Logic error? So are you intending for this to happen?

  3. #3
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  4. #4
    Registered User
    Join Date
    Sep 2008
    Location
    California
    Posts
    19
    Code:
       if ( quality==3 && ceiling==2);
        {
        basiccost=2*8*length+2*8*width*2*20/400+width*length*20/400*2;
        }
        else     XXX
        {
        basiccost=0;
        }
    Did you mean to put a semicolon after that if statement? I'm pretty sure what happens is that the compiler thinks you're making a one line if statement, and thus does not associate the else with it.

  5. #5
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Right on the spot.

    Code:
    #include <stdio.h>
    
    main ()
    {
    
    double totalsqft, roomsqft,ceilingsqft,length,width;
    double labour, ceilingcost, totalcost;
    double premiumcost,basiccost,regularcost;
    int quality,ceiling;
    
    /*Program*/
    
    printf(">>>   Paint Cost Estimator   <<<\n");
    printf("Enter length of the room:");
    scanf("%lf",&length);
    printf("Enter width of the room in feet:");
    scanf("%lf", &width);
    printf("Enter quality[Premium=1,Regular=2,Basic=3]:");
    scanf("%d",&quality);
    
       if (quality == 1)
       {
       premiumcost=2*8*length+2*8*width*2*40/400;
       }
       if(quality==1 && ceiling==2);
       {
       premiumcost=2*8*length+2*8*width*2*40/400+width*length*20/400*2;
       }
       else  XXX // Wth???
        {
        premiumcost=0;
        }
    
       if (quality==2)
       {
       regularcost=2*8*length+2*8*width*2*30/400;
       }
       if( quality==2 && ceiling==2);    {
        regularcost=2*8*length+2*8*width*2*30/400+width*length*20/400*2;
        }
        else      XXXXX // Wth???
        {
        regularcost=0;
        }
       if (quality==3)
       {
       basiccost=2*8*length+2*8*width*2*20/400;
       }
       if ( quality==3 && ceiling==2);
        {
        basiccost=2*8*length+2*8*width*2*20/400+width*length*20/400*2;
        }
        else     XXX // Wth???
        {
        basiccost=0;
        }
    
    
    printf("Enter if ceiling to be painted [Yes-1,No-2]:");
    scanf("%d", &ceiling);
    
       if (ceiling != 1)
       {
       ceilingcost = 0;
       }
       else
       {
       ceilingcost = width*length*20/400*2;
       }
    
    /*Calculate room squarefeet*/
    
    roomsqft=2*8*length+2*8*width;
    totalsqft=ceilingsqft+roomsqft;
    labour=100+40*totalsqft/200;
    totalcost=labour+basiccost+regularcost+premiumcost;
    ceilingsqft=width*length;
    
    printf("Total Area: %.2lf sqft\n",totalsqft);
    printf("Premium paint cost: $ %.2lf\n", premiumcost);
    printf("Regular paint cost: $ %.2lf\n", regularcost);
    printf("Basic paint cost: $ %.2lf\n", basiccost);
    printf("Labour costs: $ %.2lf \n", labour);
    printf("TOTAL COST: $ %.2lf \n",totalcost);
    
    }
    Errors in red.
    Furthermore, two more errors:

    warning C4700: uninitialized local variable 'ceiling' used (line 25)
    warning C4700: uninitialized local variable 'ceilingsqft' used (line 75)
    Last edited by Elysia; 10-02-2008 at 12:13 PM.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  6. #6
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    Besides what I had bolded and was reaffirmed by the masses, look at the actual if statements too. I mean read them and think about what you are saying?

    Are you doing something more than once? Would more work being done redundantly mean that your computer is wasting its time?

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Heeeelp!
    By jaredcamel in forum C++ Programming
    Replies: 3
    Last Post: 07-22-2006, 03:00 PM
  2. HEEEELP: Letters to ASCII decimal equivalents?
    By Mazerius in forum C++ Programming
    Replies: 7
    Last Post: 10-30-2002, 09:56 AM
  3. Heeeelp.. Question...
    By NANO in forum C++ Programming
    Replies: 5
    Last Post: 04-12-2002, 06:06 PM
  4. salary program heeeelp!
    By pancho in forum C Programming
    Replies: 6
    Last Post: 02-02-2002, 08:56 PM

Tags for this Thread