Solved

error

Posted on 2000-04-22
10
508 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 80 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
Technology Partners: 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

Suggested Solutions

Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

696 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