# Thread: I'm a newbie and I can't understand the errors in my program

1. ## I'm a newbie and I can't understand the errors in my program

maybe i should just change my major! lol well...the exercise asks us to calculate charges for a parking garage. there's a \$2.00 minimum fee for less than 3 hours, and a \$0.50 charge for each additional hour, but the charge can't exceed \$10.00. they want it in this kind of format:

Car Hours Charges
1 1.5 2.00
2 4.0 2.50
3 24.0 10.00
TOTAL 29.5 14.50

and this is what i have so far...laugh if u want...i'm so lost. i can't even tell if i've declared my variables right, or if my functions even work...i get continuous errors and don't know where to start. if there's any way anyone can help me, i'd greatly appreciate it.

/* Calculate the total charges and the total hours for the parking garage. */

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int charges (chargesa, chargesb, chargesc)
int totalhours (a, b, c)
int calculatecharges (chargesa, chargesb, chargesc)

int main()
{
int a, b, c;

cout<<"Enter the number of hours for CAR 1:";
cin>>a;

cout<<"Enter the number of hours for CAR 2:";
cin>>b;

cout<<"Enter the number of hours for CAR 3:";
cin>>c;

return 0;
}

int charges (chargesa,chargesb,chargesc)
{
int chargesa = a * 0.50
if (a <= 3)
chargesa = 2.00

if (a > 3)
chargesa = (a - 3) * 0.50

if (chargesa >= 10.00)
chargesa = 10.00

int chargesb = b * 0.50
if (b <= 3)
chargesb = 2.00

if (b > 3)
chargesb = (b - 3) * 0.50

if (chargesb >= 10.00)
chargesb = 10.00

int chargesc = c * 0.50
if (c <= 3)
chargesc = 2.00

if (c > 3)
chargesc = (c - 3) * 0.50

if (chargesc >= 10.00)
chargesc = 10.00

cout<<"CAR 1 CHARGES:"<<chargesa;
cout<<"CAR 2 CHARGES:"<<chargesb;
cout<<"CAR 3 CHARGES:"<<chargesc;
}

int totalhours (a, b, c)
{
int totalhours = a + b + c
}

int calculatecharges (chargesa, chargesb, chargesc)
{
int calculatecharges = chargesa + chargesb + chargesc
}

P.S. - ur more than welcome to comment with ur opinion on whether or not i should change my major...especially after reading that code

2. [HINT] You never use ur functions. Also, you are missing a bunch of semicolons inside your functions. [/HINT]

Also, check your formulas. i.e.

chargesa = (a - 3) * 0.50 //don't forget the base charge of \$2!!

Come back with the rest when u have finished with that.

3. ## ok this is what i have now

/* Calculate the total charges and the total hours for the parking garage. */

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int charges (chargesa, chargesb, chargesc)
int totalhours (a, b, c)
int calculatecharges (chargesa, chargesb, chargesc)

int main()
{
int a, b, c;

cout<<"Enter the number of hours for CAR 1:";
cin>>a;

cout<<"Enter the number of hours for CAR 2:";
cin>>b;

cout<<"Enter the number of hours for CAR 3:";
cin>>c;

return 0;
}

int charges (chargesa,chargesb,chargesc)
{
int chargesa = a * 0.50
if (a <= 3)
chargesa = 2.00;

if (a > 3)
chargesa = ((a - 3) * 0.50) + 2.00;

if (chargesa >= 10.00)
chargesa = 10.00;

int chargesb = b * 0.50
if (b <= 3)
chargesb = 2.00;

if (b > 3)
chargesb = ((b - 3) * 0.50) + 2.00;

if (chargesb >= 10.00)
chargesb = 10.00;

int chargesc = c * 0.50
if (c <= 3)
chargesc = 2.00;

if (c > 3)
chargesc = ((c - 3) * 0.50) + 2.00;

if (chargesc >= 10.00)
chargesc = 10.00;

cout<<"CAR 1 CHARGES:"<<chargesa;
cout<<"CAR 2 CHARGES:"<<chargesb;
cout<<"CAR 3 CHARGES:"<<chargesc;
}

int totalhours (a, b, c)
{
int totalhours = a + b + c;
}

int calculatecharges (chargesa, chargesb, chargesc)
{
int calculatecharges = chargesa + chargesb + chargesc;
}

is that what u meant?

4. Why do u have these here for everyone:

int chargesa = a * 0.50/*this is not what the charges will be unless the number of hours is 20*/

You still never use your functions!!!

Code:
```//where do u use your functions??
int main()
{
int a, b, c;

cout<<"Enter the number of hours for CAR 1:";
cin>>a;

cout<<"Enter the number of hours for CAR 2:";
cin>>b;

cout<<"Enter the number of hours for CAR 3:";
cin>>c;

return 0;
}```

You do not have semicolons after your function prototypes.

5. well sorrrrrryyyy!!!! i told u that i know absolutely nothing about this type of programming. no need to act like that. it'd be nice if someone could explain what's wrong but obviously that's not the case.

6. Relax there, I wasn't screaming at you and I am not mad at u.

When I say u never use your functions, I mean that you create them but you never actually call them. For them to actually be executed, you have to tell the program to use them inside the main part. So after all the data is inputted and before return 0, call your functions with the inputted data.

7. so can i put them n e where in main like this:

int main()
{
int a;
b;
c;

cout<<"Enter the number of hours for CAR 1:";
cin>>a;

cout<<"Enter the number of hours for CAR 2:";
cin>>b;

cout<<"Enter the number of hours for CAR 3:";
cin>>c;

int charges (chargesa, chargesb, chargesc)
int totalhours (a, b, c)
int calculatecharges (chargesa, chargesb, chargesc)

return 0;
}

sorry for going off earlier. its been an extremely rough day and i've spent hours and hours on this program but i can't figure it out. its driving me crazy cuz i can't ever get the help i need from my classmates or my teacher...i'm just extremely confused and really really tired, but hopefully i'll get it.

8. If you make the first line int a,b,c; again and you put semicolons after your function calls inside of main it should work, but the output won't be formatted right.

P.S. Don't worry about it. Everyone has bad days.

9. i guess that getting the program to work is my priority...but how would i change the couts to get the output to line up?

10. well i've changed it, but i still can't get it to work...here's what i have:

/* Calculate the total charges and the total hours for the
parking garage. */

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int charges (chargesa, chargesb, chargesc)
int totalhours (a, b, c)
int calculatecharges (chargesa, chargesb, chargesc)

int main()
{
int a, b, c;

cout<<"Enter the number of hours for CAR 1:";
cin>>a;

cout<<"Enter the number of hours for CAR 2:";
cin>>b;

cout<<"Enter the number of hours for CAR 3:";
cin>>c;

int charges (chargesa, chargesb, chargesc);
int totalhours (a, b, c);
int calculatecharges (chargesa, chargesb, chargesc);

return 0;
}

int charges (chargesa,chargesb,chargesc)
{
int chargesa
if (a <= 3)
chargesa = 2.00;

if (a > 3)
chargesa = ((a - 3) * 0.50) + 2.00;

if (chargesa >= 10.00)
chargesa = 10.00;

int chargesb
if (b <= 3)
chargesb = 2.00;

if (b > 3)
chargesb = ((b - 3) * 0.50) + 2.00;

if (chargesb >= 10.00)
chargesb = 10.00;

int chargesc
if (c <= 3)
chargesc = 2.00;

if (c > 3)
chargesc = ((c - 3) * 0.50) + 2.00;

if (chargesc >= 10.00)
chargesc = 10.00;

cout<<"CAR 1 CHARGES:"<<chargesa;
cout<<"CAR 2 CHARGES:"<<chargesb;
cout<<"CAR 3 CHARGES:"<<chargesc;
}

int totalhours (a, b, c)
{
int totalhours = a + b + c;
}

int calculatecharges (chargesa, chargesb, chargesc)
{
int calculatecharges = chargesa + chargesb + chargesc;
}

if u can come up with anymore conclusions, please let me know. i'm gonna call it a nite...but i'll check back first thing in the morning if u come up with n e thing...thanks so much for the help

11. I'm calling it a night too, I'll help you tommorrow if no one else does by then.

12. ## Kapoof

Code:
```if (chargesb >= 10.00)
chargesb = 10.00;

int chargesc
if (c <= 3)
chargesc = 2.00;

if (c > 3)
chargesc = ((c - 3) * 0.50) + 2.00;

if (chargesc >= 10.00)
chargesc = 10.00;

cout<<"CAR 1 CHARGES:"<<chargesa;
cout<<"CAR 2 CHARGES:"<<chargesb;
cout<<"CAR 3 CHARGES:"<<chargesc;```
Aren't you forgetting a bunch of { and }?
Or maybe you dont need them.....
I'm pretty newbie too so....

13. hey... I was going over golf's profile because he had been helping me, and ended up here. Being a fellow Okie, I thought I'd drop a few comments in for afboys to consider on her program:

1. the function prototypes at the top of your program (charges, totalhours and calculatecharges) don't need the actual variable in the parameter list, just the TYPE for the parameters-- on the same note, the function definitions at the end of your program will need the type AND the variable name in the parameter list.

2. Make sure that if you say a function is going to return a value, that it DOES return a value in the function definition.

I think after I fixed these two items in the code you posted (plus a few semicolons here and there), that the program compiles for me. You will probably want to change a few things for the output once you get your code running...

14. Go through your books on declaring and using functions - that'll help you a lot.

Code:
```/* Calculate the total charges and the total hours for the
parking garage. */

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

//These are prototypes (look it up) - they need semicolons

void calculatecharges (int hoursa, int hoursb, int hoursc);

int main()
{
int a, b, c;

cout<<"Enter the number of hours for CAR 1:";
cin>>a;

cout<<"Enter the number of hours for CAR 2:";
cin>>b;

cout<<"Enter the number of hours for CAR 3:";
cin>>c;

calculatecharges(a, b, c);

return 0;
}

void calculatecharges(int hoursa, int hoursb, int hoursc)
{
int costa = 0;
int costb = 0;
int costc = 0;

if(hoursa <= 3)
costa = 2;
else if (hoursa >= 17)
costa = 10;
else
costa = 2 + ((hoursa-3) * .5);

if(hoursb <= 3)
costb = 2;
else if (hoursb >= 17)
costb = 10;
else
costb = 2 + ((hoursa-3) * .5);

if(hoursc <= 3)
costc = 2;
else if (hoursc >= 17)
costc = 10;
else
costc = 2 + ((hoursc-3) * .5);

cout<<"CAR 1 CHARGES: "<<costa<<endl;
cout<<"CAR 2 CHARGES: "<<costb<<endl;
cout<<"CAR 3 CHARGES: "<<costc<<endl;
}```

15. the program still doesn't work. it says that :

man.cpp: In function `void calculatecharges(int, int, int)':
man.cpp:41: warning: assignment to `int' from `double'
man.cpp:48: warning: assignment to `int' from `double'
man.cpp:55: warning: assignment to `int' from `double'

and this is the program that i've got now:

/* Calculate the total charges and the total hours for the
parking garage. */

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

void calculatecharges (int hoursa, int hoursb, int hoursc);

int main()
{
int a, b, c;

cout<<"Enter the number of hours for CAR 1:";
cin>>a;

cout<<"Enter the number of hours for CAR 2:";
cin>>b;

cout<<"Enter the number of hours for CAR 3:";
cin>>c;

calculatecharges(a, b, c);

return 0;
}

void calculatecharges(int hoursa, int hoursb, int hoursc)
{
int costa = 0;
int costb = 0;
int costc = 0;

if(hoursa <= 3)
costa = 2.00;
else if (hoursa >= 17)
costa = 10.00;
else
costa = 2 + ((hoursa-3) * .5);

if(hoursb <= 3)
costb = 2.00;
else if (hoursb >= 17)
costb = 10.00;
else
costb = 2 + ((hoursa-3) * .5);

if(hoursc <= 3)
costc = 2.00;
else if (hoursc >= 17)
costc = 10.00;
else
costc = 2 + ((hoursc-3) * .5);

cout<<"CAR 1 CHARGES: "<<costa<<endl;
cout<<"CAR 2 CHARGES: "<<costb<<endl;
cout<<"CAR 3 CHARGES: "<<costc<<endl;
}

and i still don't see how the total hours will be displayed?

Popular pages Recent additions