繁体   English   中英

我的基本C ++程序崩溃了,我不知道为什么

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

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

事情将输出“”“”,它具有作业6942646和已工作6925592小时”或类似的内容。

#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;

}

您所有的函数都返回值。 您将其存储在哪里? 您正在使用时无法多次返回。 尝试使用指针(引用)的概念

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM