?
Solved

error

Posted on 2000-04-22
10
Medium Priority
?
511 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Independent Software Vendors: 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!

Question has a verified solution.

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

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
Suggested Courses

743 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