?
Solved

error

Posted on 2000-04-22
10
Medium Priority
?
517 Views
Last Modified: 2008-03-03
what does this mean?

error C2562: 'main' : 'void' function returning a value: see declaration of 'main'
//these are the lines it pointed to.
char c();

cout.flush();
cout << "Waiting 5 seconds...";
Sleep( 5000 ); // does nothing here
return c();

0
Comment
Question by:nationnon
  • 6
  • 4
10 Comments
 

Accepted Solution

by:
AntBon earned 320 total points
ID: 2739839
I believe this to mean, that you have declared your 'main' part of the program to return void (ie nothing),but the last line of you code appears to be (or at least trying to) return a value.

Try changing to just 'return'
0
 
LVL 1

Author Comment

by:nationnon
ID: 2741432
Adjusted points from 10 to 50
0
 
LVL 1

Author Comment

by:nationnon
ID: 2741433
it didn't work , can you see anything in this code that would cause an error?  It's still giving me the

error C2562: 'main' : 'void' function returning a value
see declaration of 'main'

Oh and could you give me an example of how arrays would be used for the names in this program?  



0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:nationnon
ID: 2741437
#include <iostream.h>
#include <windows.h>

double deduction()                  
{

//variable definitions

const double sTaxPct = .08;
const double fTaxPct = .32;
const double miscPct = .20;
return (sTaxPct + fTaxPct + miscPct);

}//end calculation function
void main()

// Declare and define variables
{
char fEfirstName[10];
char fElastName[10];
char sEfirstName[10];
char sElastName[10];
double fEgPay;
double fEnPay;
double sEgPay;
double sEnPay;
double fErate;
double fEhrs;
double sErate;
double sEhrs;

char c();

cout.flush();
cout << "Waiting 5 seconds...";
Sleep( 5000 ); // does nothing here
return
//end of sleep function



//User entered information

      cout <<"Enter first employee's last name: ";
      cin >> fElastName;
      cout <<"Enter first employee's first name: ";
      cin >> fEfirstName;
      cout <<"Enter first employee's pay rate: ";
      cin >> fErate;
      cout <<"Enter first employee's hours: ";
      cin >> fEhrs;
      cout << "Enter second employee's last name: ";
      cin >> sElastName;
      cout << "Enter second employee's first name: ";
      cin >> sEfirstName;
      cout << "Enter second employee's hours: ";
      cin >> sEhrs;
      cout << "Enter second employee's rate: ";
      cin >> sErate;

// employee hours * rate & netpay deduction
fEgPay = fErate * fEhrs;
sEgPay = fErate * sEhrs;
fEnPay = sEgPay * deduction();
sEnPay = sEgPay * deduction();

// ask user which employee they want to view
int nEmployee;


 cout << "Choose Employee 1 or 2: ";
  cin >> nEmployee;
 


if (nEmployee<=1)
      cout << fEfirstName << " " << fElastName << "'s gross pay was " << fEgPay << " "<< "but after deductions the pay is now " << fEnPay << endl;
    cout << c() << endl;
if (nEmployee>=2)
      cout << sEfirstName << " " << sElastName << "'s gross pay was " << sEgPay << " " << "but after deductions the pay is now " << sEnPay << endl;      
      cout << c() << endl;
while (nEmployee==1 || nEmployee==2);
}
0
 
LVL 1

Author Comment

by:nationnon
ID: 2741444
Adjusted points from 50 to 80
0
 

Expert Comment

by:AntBon
ID: 2741581
I have done some little changes, i not sure what you were tring to do on the last line of the code - so i had a guess


#include <iostream.h>
#include <windows.h>

double deduction()
{

//variable definitions

const double sTaxPct = .08;
const double fTaxPct = .32;
const double miscPct = .20;
return (sTaxPct + fTaxPct + miscPct);

}//end calculation function



void main()

// Declare and define variables
{
char fEfirstName[10];
char fElastName[10];
char sEfirstName[10];
char sElastName[10];
double fEgPay;
double fEnPay;
double sEgPay;
double sEnPay;
double fErate;
double fEhrs;
double sErate;
double sEhrs;
int nEmployee;

//char c();


cout.flush();
cout << "Waiting 5 seconds...";
Sleep( 5000 ); // does nothing here
// return
//end of sleep function



//User entered information

cout <<"Enter first employee's last name: ";
cin >> fElastName;
cout <<"Enter first employee's first name: ";
cin >> fEfirstName;
cout <<"Enter first employee's pay rate: ";
cin >> fErate;
cout <<"Enter first employee's hours: ";
cin >> fEhrs;
cout << "Enter second employee's last name: ";
cin >> sElastName;
cout << "Enter second employee's first name: ";
cin >> sEfirstName;
cout << "Enter second employee's hours: ";
cin >> sEhrs;
cout << "Enter second employee's rate: ";
cin >> sErate;

// employee hours * rate & netpay deduction
fEgPay = fErate * fEhrs;
sEgPay = fErate * sEhrs;
fEnPay = sEgPay * deduction();
sEnPay = sEgPay * deduction();

// ask user which employee they want to view

cout << "Choose Employee 1 or 2: ";
cin >> nEmployee;



if (nEmployee<=1)
cout << fEfirstName << " " << fElastName << "'s gross pay was " << fEgPay << " "<< "but after deductions the pay is now " << fEnPay << endl;
    cout <<  endl;
if (nEmployee>=2)
cout << sEfirstName << " " << sElastName << "'s gross pay was " << sEgPay << " " << "but after deductions the pay is now " << sEnPay << endl;
cout  << endl;
getchar(); //wait for keypress so we can see output
return;
//while (nEmployee==1 || nEmployee==2);
}
0
 

Expert Comment

by:AntBon
ID: 2741607
Ok i have added an example of how to use array. Note this is not particularly good, but it works.


#include <iostream.h>
#include <windows.h>

double deduction()
{

//variable definitions

const double sTaxPct = .08;
const double fTaxPct = .32;
const double miscPct = .20;
return (sTaxPct + fTaxPct + miscPct);

}//end calculation function



void main()

// Declare and define variables
{

char EfirstName[50] [10];
char ElastName[50] [10];
//char sEfirstName[10];
//char sElastName[10];
double EgPay[50];
double EnPay[50];
//double sEgPay;
//double sEnPay;
double Erate[50];
double Ehrs[50];
//double sErate;
//double sEhrs;
int nEmployee;

//char c();


cout.flush();
cout << "Waiting 5 seconds...";
Sleep( 5000 ); // does nothing here
// return
//end of sleep function



//User entered information

cout <<"Enter first employee's last name: ";
cin >> ElastName[0];
cout <<"Enter first employee's first name: ";
cin >> EfirstName[0];
cout <<"Enter first employee's pay rate: ";
cin >> Erate[0];
cout <<"Enter first employee's hours: ";
cin >> Ehrs[0];
cout << "Enter second employee's last name: ";
cin >> ElastName[1];
cout << "Enter second employee's first name: ";
cin >> EfirstName[1];
cout << "Enter second employee's hours: ";
cin >> Ehrs[1];
cout << "Enter second employee's rate: ";
cin >> Erate[1];

// employee hours * rate & netpay deduction
EgPay[0] = Erate[0] * Ehrs[0];
EgPay[1] = Erate[1] * Ehrs[1];
//sEgPay[0] = fErate * sEhrs;
EnPay[0] = EgPay[0] * deduction();
EnPay[1] = EgPay[1] * deduction();
//sEnPay = sEgPay * deduction();

// ask user which employee they want to view

cout << "Choose Employee 1 or 2: ";
cin >> nEmployee;



if (nEmployee<=1)
cout << EfirstName[0] << " " << ElastName[0] << "'s gross pay was " << EgPay[0] << " "<< "but after deductions the pay is now " << EnPay[0] << endl;
    cout <<  endl;
if (nEmployee>=2)
cout << EfirstName[1] << " " << ElastName[1] << "'s gross pay was " << EgPay[1] << " " << "but after deductions the pay is now " << EnPay[1] << endl;
cout  << endl;
getchar(); //wait for keypress so we can see output
return;
//while (nEmployee==1 || nEmployee==2);
}



I declared an array of 50 elements,but have only used the 1st 2 elements (like you previously had) you will need to employ some looping mechanism, to loop through these when printing out the text.

I hope this helps
0
 
LVL 1

Author Comment

by:nationnon
ID: 2742175
It's saying getchar() is an undeclared identifier, how would I fix that?
0
 

Expert Comment

by:AntBon
ID: 2743266
You could try getch()
0
 
LVL 1

Author Comment

by:nationnon
ID: 2743364
That was some sort of type-o, i'm sorry it is getch().
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
What is C++ STL?: STL stands for Standard Template Library and is a part of standard C++ libraries. It contains many useful data structures (containers) and algorithms, which can spare you a lot of the time. Today we will look at the STL Vector. …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
Suggested Courses

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question