首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小型学校项目的多重问题

小型学校项目的多重问题
EN

Stack Overflow用户
提问于 2019-01-24 15:59:39
回答 1查看 70关注 0票数 0

我被要求写一个程序,计算员工的净工资与45美元的基本扣除额。这个程序让我输入他们的名字,工作时间和小时工资。该程序还希望我有一个字符串(EOFNAME),我可以输入退出。对工作时间和净工资的计算很好,但我不能让它与字符串一起退出。此外,我还被要求在结尾写上"Enter next name or (EOFNAME) to next“,我试过了,但找不到。如果你能告诉我该怎么做,我将不胜感激。

编辑:我已经为do while循环修改了底部的代码。我现在唯一需要做的就是让它通过询问另一个名字来重复这个程序。去掉声明的变量和其他东西。

代码语言:javascript
复制
// Declare input items
cout << "first name or " << EOFNAME << " to quit ";
cin >> name;
if (name == EOFNAME)
{
    cout << "End of program ";
    return 0;
}
else
{
    cout << "Enter hours worked for " << name << endl;
    cin >> hours;
    cout << "Enter hourly rate for " << name << endl;
    cin >> rate;
    gross = hours * rate;
    net = gross - DEDUCTION;    

}
do
{
    cout << "Net pay for " << name << " is " << net << endl;
    break;
}
while (net > 0);     

{
if (net < 0)
    cout << "Deductions not covered. Net is 0." << endl;

}

return 0;

}// main结束

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 16:30:52

  1. 你的代码:

if (name != EOFNAME) {//do_EOFNAME} if (net > 0) ...

因此,即使命名为== EOFNAME,您也只需跳过第一个括号,程序仍在运行。例如,您可以使用

代码语言:javascript
复制
if (name == EOFNAME)
{
 cout << "End of program";
 return 0;
}

现在如果用户已经写入EOFNAME程序将显示"End of program“并将结束。在其他任何情况下,它都会转到if语句后面的行。

  1. 在显示一些符号或句子后尝试以endl结尾;这样在控制台视图中更具可读性。
  2. 尝试在创建值时始终为其赋值,如下所示:

int net = 0;

这降低了程序稍后发生意外操作的风险。

要在最后说"Enter

  1. or (EOFNAME) to
  2. “,你必须把所有东西都放到while循环中。

while (逻辑值){\在循环中多次做某事}

只要逻辑值为true,它就是在循环中执行某些操作。因此,如果用户想要结束程序,您必须创建一些逻辑变量bool并将其更改为false

  1. 考虑检查用户写的答案是否正确。如果用户错误地用字符串回答"Enter worked for“会发生什么?您的程序将以错误结束。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54341836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档