我最基本的c++程序坏了,我不知道为什么

My Very Basic C++ Program Broke and I Have No Idea Why

本文关键字:坏了 我不知道 为什么 程序 c++      更新时间:2023-10-16

这是我正在为编程课做的一个程序,它应该根据加班和一个半时间来计算人们的工资,但它坏了,我不知道为什么。

东西将输出" " has job 6942646 and worked 6923592 hours"或类似的东西。

#include <iostream>
#include <iomanip>
using namespace std;
string getName(string, string);
int getJob(int&);
int hoursWorked(int);
double jobCalc(int&, int&, double&);
void display(string, string, int, int, double);
int main()
{
int job;
int hours;
double pay;
string firstname, lastname;
getName(firstname, lastname);
getJob(job);
hoursWorked(hours);
jobCalc(job, hours, pay);
display(firstname, lastname, job, hours, pay);
return 0;
}
string getName(string firstname, string lastname)
{
cout << "Enter your name (First): ";
cin >> firstname;
cout << "Enter your name (Last): ";
cin >> lastname;    
return firstname, lastname;
}
int getJob(int job&)
{
cout << "Yo What motha duckin job number is you? Ya' dig? (10, 20, or 30): ";
cin >> job;
bool jobNo = false;
while (jobNo = false)
{
    if (job == 10)
    {
        jobNo = true;
    }
    else if (job == 20)
    {
        jobNo = true;
    }
    else if (job == 30)
    {
        jobNo = true;
    }
    else if (job < 9 || job > 11 || job < 19 || job > 21 || job < 29 || job > 31)
    {
        cout << "Yo! Please re-enter a correct value. What it is, mostly, Mama! Don't make me shank ya!" << endl;
        cout << "Yo What motha' duckin' job number is you? Ya' dig? (10, 20,   or 30): ";
        cin >> job;
    }
}
return job;
}

int hoursWorked(int hours)
{
cout << "Yo! How geezery hours dahd ya work?: ";
cin >> hours;
return hours;
}
double jobCalc(int& job, int& hours, double& pay)
{
if (job == 10)
{
    if (hours < 40)
    {
        pay = hours * 8.75;
    }
    else if (hours < 60)
    {
        pay = 8.75 * 40;
        hours = hours - 40;
        pay = pay + (hours * 13.125);
    }
    else
    {
        pay = 8.75 * 40;
        pay = pay + (13.125 * 20);
        hours = hours - 60;
        pay = pay + (17.5 * hours);
    }
}
else if (job == 20)
{
    if (hours < 40)
    {
        pay = hours * 12.25;
    }
    else if (hours < 60)
    {
        pay = 12.25 * 40;
        hours = hours - 40;
        pay = pay + (hours * 18.375);
    }
    else
    {
        pay = 12.25 * 40;
        pay = pay + (18.375 * 20);
        hours = hours - 60;
        pay = pay + (24.5 * hours);
    }
}
else if (job == 30)
{
    if (hours < 40)
    {
        pay = hours * 13.75;
    }
    else if (hours < 60)
    {
        pay = 13.75 * 40;
        hours = hours - 40;
        pay = pay + (hours * 20.625);
    }
    else
    {
        pay = 13.75 * 40;
        pay = pay + (20.625 * 20);
        hours = hours - 60;
        pay = pay + (27.5 * hours);
    }
}
return pay;
}
void display(string firstname, string lastname, int job, int hours, double pay)
{
std::cout << std::fixed;
std::cout << std::setprecision(2);
cout << firstname << " " << lastname << " has job " << job << " and worked "          << hours << " hours, thus earning them $" << setprecision(2) << pay << "." << endl;
}

所有函数都返回值。你把它放在哪里?多重返回是不可能的,因为你正在使用。尝试指针(引用)的概念

相关文章: