I'm programming a 99 bottles of beer on the wall program and I have one error reading "Expected unqualified -id" on it... I can't figure out why it's there.
// Created by LeeeeJ on 3/1/12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#include <iostream>
#include <string>
usingnamespace std;
string int2word(int);
string tens(int);
string teens(int);
string ones(int);
// for loop to count down
int main ()
{
int bottles = 99;
for (int i=99; i > 0; i --){
cout << int2word(i) << " bottles of beer on the wall!" << endl;
cout << int2word(i) << " bottles of beer!" << endl;
cout << "Take one down and pass it around " << endl;
cout << int2word(i-1) << " bottles of beer on the wall!" << endl << endl;
}
return 0;
}
// I keep getting an error in this next line of cone and it says "Expected unqualified -id."
// My teens string isn't running because of this next line of code.
//I want to making some sort of statement saying "if not - 20,
// The error occurs right underneath
if !(num <= 19 && num > 0)
ret = tens(num/10) + "-" + ones(num%10)
return ret;
string int2word(int num)
{
string ret;
}
string tens(int num)
{
string ret;
switch (num) {
case 9:
ret = "Ninety";
break;
ret = "ERROR";
break;
case 8:
ret = "Eighty";
break;
ret = "ERROR";
break;
case 7:
ret = "Seventy";
break;
ret = "ERROR";
break;
case 6:
ret = "Sixty";
break;
ret = "ERROR";
break;
case 5:
ret = "Fifty";
break;
ret = "ERROR";
break;
case 4:
ret = "Fourty";
break;
ret = "ERROR";
break;
case 3:
ret = "Thirty";
break;
ret = "ERROR";
break;
case 2:
ret = "Twenty";
break;
ret = "ERROR";
break;
}
return ret;
}
string teens(int num)
{
string ret;
switch (num) {
case 19:
ret = "Nineteen";
break;
ret = "ERROR";
break;
case 18:
ret = "eighteen";
break;
ret = "ERROR";
break;
case 17:
ret = "Seventeen";
break;
ret = "ERROR";
break;
case 16:
ret = "Sixteen";
break;
ret = "ERROR";
break;
case 15:
ret = "Fifteen";
break;
ret = "ERROR";
break;
case 14:
ret = "Fourteen";
break;
ret = "ERROR";
break;
case 13:
ret = "Thirteen";
break;
ret = "ERROR";
break;
case 12:
ret = "Twelve";
break;
ret = "ERROR";
break;
case 11:
ret = "Eleven";
break;
ret = "ERROR";
break;
case 10:
ret = "Ten";
break;
ret = "ERROR";
break;
}
}
string ones(int num)
{
string ret;
switch (num){
case 9:
ret="Nine";
break;
ret = "ERROR";
break;
case 8:
ret="Eight";
break;
ret = "ERROR";
break;
case 7:
ret="Seven";
break;
ret = "ERROR";
break;
case 6:
ret="Six";
break;
ret = "ERROR";
break;
case 5:
ret="Five";
break;
ret = "ERROR";
break;
case 4:
ret="Four";
break;
ret = "ERROR";
break;
case 3:
ret="Three";
break;
ret = "ERROR";
break;
case 2:
ret="Two";
break;
ret = "ERROR";
break;
case 1:
ret="One";
break;
ret = "ERROR";
break;
case 0:
ret="";
break;}
return ret;
}
//if statement, another function called teens
The reason it isn't working is because you have an if statement just sitting there in the global scope, it needs to be in a function somewhere.
It looks like it should be in your 'int2word' function, so change it to something like this.
1 2 3 4 5 6 7 8 9 10 11 12
string int2word(int num)
{
string ret;
if (!(num <= 19 && num > 0))
{
ret = tens(num/10) + "-" + ones(num%10);
return ret;
}
//Needs check for rest of numbers
}
The second problem is you can't follow an if statement directly with a !. You need to include another set of () if you want to check the variables inside of it (as added in the code above).
Also don't forget your teens function is meant to be returning a string, but it isn't returning anything right now.
#include <iostream>
#include <string>
usingnamespace std;
string int2word(int);
string tens(int);
string teens(int);
string ones(int);
// for loop to count down
int main ()
{
for (int i=99; i > 0; i --){
cout << int2word(i) << " bottle(s) of beer on the wall!" << endl;
cout << int2word(i) << " bottle(s) of beer!" << endl;
cout << "Take one down and pass it around " << endl;
cout << int2word(i-1) << " bottle(s) of beer on the wall!" << endl << endl;
}
return 0;
}
// I keep getting an error in this next line of cone and it says "Expected unqualified -id."
// My teens string isn't running because of this next line of code.
//I want to making some sort of statement saying "if not - 20,
string int2word(int num)
{
string ret;
if (!(num <= 19 && num > 0))
{
ret = tens(num/10) + "-" + ones(num%10);
return ret;
//Needs check for rest of numbers
}
string tens(int num);
{
string ret;
switch (num) {
case 9:
ret = "Ninety";
break;
ret = "ERROR";
break;
case 8:
ret = "Eighty";
break;
ret = "ERROR";
break;
case 7:
ret = "Seventy";
break;
ret = "ERROR";
break;
case 6:
ret = "Sixty";
break;
ret = "ERROR";
break;
case 5:
ret = "Fifty";
break;
ret = "ERROR";
break;
case 4:
ret = "Fourty";
break;
ret = "ERROR";
break;
case 3:
ret = "Thirty";
break;
ret = "ERROR";
break;
case 2:
ret = "Twenty";
break;
ret = "ERROR";
break;
}
return ret;
}
string teens(int num);
{
string ret;
switch (num) {
case 19:
ret = "Nineteen";
break;
ret = "ERROR";
break;
case 18:
ret = "eighteen";
break;
ret = "ERROR";
break;
case 17:
ret = "Seventeen";
break;
ret = "ERROR";
break;
case 16:
ret = "Sixteen";
break;
ret = "ERROR";
break;
case 15:
ret = "Fifteen";
break;
ret = "ERROR";
break;
case 14:
ret = "Fourteen";
break;
ret = "ERROR";
break;
case 13:
ret = "Thirteen";
break;
ret = "ERROR";
break;
case 12:
ret = "Twelve";
break;
ret = "ERROR";
break;
case 11:
ret = "Eleven";
break;
ret = "ERROR";
break;
case 10:
ret = "Ten";
break;
ret = "ERROR";
break;
}
}
string ones(int num);
{
string ret;
switch (num){
case 9:
ret="Nine";
break;
ret = "ERROR";
break;
case 8:
ret="Eight";
break;
ret = "ERROR";
break;
case 7:
ret="Seven";
break;
ret = "ERROR";
break;
case 6:
ret="Six";
break;
ret = "ERROR";
break;
case 5:
ret="Five";
break;
ret = "ERROR";
break;
case 4:
ret="Four";
break;
ret = "ERROR";
break;
case 3:
ret="Three";
break;
ret = "ERROR";
break;
case 2:
ret="Two";
break;
ret = "ERROR";
break;
case 1:
ret="One";
break;
ret = "ERROR";
break;
case 0:
ret="";
break;}
return ret;
}
//if statement, another function called teens
Twenty-One bottles of beer on the wall
Twenty-One bottles of beer
Take one down and pass it around
Twenty- bottles of beer on the wall!
Twenty- bottles of beer on the wall
Twenty- bottles of beer
Take one down and pass it around
-Nine bottles of beer on the wall!
-Nine bottles of beer on the wall
-Nine bottles of beer
Take one down and pass it around
-Eight bottles of beer on the wall!
-Eight bottles of beer on the wall
-Eight bottles of beer
Take one down and pass it around
-Seven bottles of beer on the wall!
-Seven bottles of beer on the wall
-Seven bottles of beer
Take one down and pass it around
-Six bottles of beer on the wall!
-Six bottles of beer on the wall
-Six bottles of beer
Take one down and pass it around
-Five bottles of beer on the wall!
-Five bottles of beer on the wall
-Five bottles of beer
Take one down and pass it around
-Four bottles of beer on the wall!
-Four bottles of beer on the wall
-Four bottles of beer
Take one down and pass it around
-Three bottles of beer on the wall!
-Three bottles of beer on the wall
-Three bottles of beer
Take one down and pass it around
-Two bottles of beer on the wall!
-Two bottles of beer on the wall
-Two bottles of beer
Take one down and pass it around
-One bottles of beer on the wall!
-One bottles of beer on the wall
-One bottles of beer
Take one down and pass it around
- bottles of beer on the wall!
- bottles of beer on the wall
- bottles of beer
Take one down and pass it around
-Nine bottles of beer on the wall!
-Nine bottles of beer on the wall
-Nine bottles of beer
Take one down and pass it around
-Eight bottles of beer on the wall!
-Eight bottles of beer on the wall
-Eight bottles of beer
Take one down and pass it around
-Seven bottles of beer on the wall!
-Seven bottles of beer on the wall
-Seven bottles of beer
Take one down and pass it around
-Six bottles of beer on the wall!
-Six bottles of beer on the wall
-Six bottles of beer
Take one down and pass it around
-Five bottles of beer on the wall!
-Five bottles of beer on the wall
-Five bottles of beer
Take one down and pass it around
-Four bottles of beer on the wall!
-Four bottles of beer on the wall
-Four bottles of beer
Take one down and pass it around
-Three bottles of beer on the wall!
string int2word(int num)
{
string ret;
if (!(num <= 19 && num > 0))
{
ret = tens(num/10) + "-" + ones(num%10);
return ret;
}
if (!(num <= 9 && num > 0))
{
ret = teens(num);
return ret;
}
else
{
ret = ones(num);
return ret;
}
}
Also on the code above the function names shouldn't have ; on them (which seem to have been added) and your teens function still needs to return a value.