【发布时间】:2019-03-29 23:04:24
【问题描述】:
我正在尝试通过创建一个管理员工的程序来挑战自己,从而在 C++ 方面做得更好。给定一定的薪水与销售额,你要么被雇用,要么被解雇,要么保住你的工作。我最近一直在使用 OOP,并认为按类对其进行结构化会使练习更容易。我一遍又一遍地解决这个问题,我似乎无法找到解决方案。话虽如此,我非常感谢对我做错了什么的一些见解。请记住,我是 C++ 和 OOP 的新手,但我学得越多,我将来就会越好。
最初它是一个文件,然后我将这些类分成头文件。现在似乎运行得更顺畅了,但我仍然收到错误,即名称、薪水和范围(我的变量)未在我的程序范围内定义。
main.cpp
#include "Boss.h"
#include "Employee.h"
#include "PotentialEmployee.h"
#include <iostream>
using namespace std;
int main ()
{
Boss Boss1;
Boss Boss2;
Boss Boss3;
Employee Employee1;
Employee Employee2;
Employee Employee3;
PotentialEmployee PotentialEmployee1;
PotentialEmployee PotentialEmployee2;
Employee1.name = "Michael";
Employee2.name = "John";
Employee3.name = "Lisa";
Boss1.name = "Luke";
Boss2.name = "Ben";
Boss3.name = "Jack";
PotentialEmployee1.name = "Bill";
PotentialEmployee2.name = "Fred";
Employee1.salary = 55000;
Employee2.salary = 65000;
Employee3.salary = 75000;
Boss1.salary = 88000;
Boss2.salary = 95000;
Boss3.salary = 88000;
PotentialEmployee1.salary = 55000;
PotentialEmployee2.salary = 65000;
Employee1.sales = 12000;
Employee2.sales = 40000;
Employee3.sales = 80000;
Boss1.sales = 200000;
Boss2.sales = 250000;
Boss3.sales = 280000;
PotentialEmployee1.sales = 55000;
PotentialEmployee2.sales = 65000;
if (sales <= salary)
std::cout << "I'm sorry " << name << "you have been fired";
else if (sales >= salary)
std::cout << "Good job " << name << "you get a bonus";
else
std::cout << "Try and do better next quarter";
return 0;
}
main.cpp:在函数“int main()”中:main.cpp:66:7:错误:“sales”是 未在此范围内声明 if (sales
【问题讨论】:
-
能否请您提供您得到的确切错误信息?
-
1) "我仍然收到错误,名称、薪水和范围(我的变量)未在我的程序范围内定义。" 请复制粘贴错误消息,而不是解释它。 2) 请提供minimal reproducible example。
-
name、salary和scope声明在哪里在?它们未在此代码中声明。 (您没有使用任何称为“范围”的东西。您的意思是“销售”吗?) -
抱歉,我是 StackOverflow 的新手,它只让我包含主文件。让我添加其余的。
-
@JordanBrandes 这些是成员变量。您一直在为它们分配值,并且检查它们的值看起来完全相同:
Boss1.sales <= Boss1.salary。也许是时候使用good book了?