我如何调用我的3个数据成员中每个人的设置方法,然后显示由我的设置方法设置的值
How do I call set methods for each of my 3 data members to then display the values set by my set methods?
我现在正在研究C 家庭作业的介绍,只是陷入了最后一点,非常感谢您的帮助。
作业的方向是:
确保小时值在0 - 23范围内;如果不是这样,将小时设置为1。
确保分钟值在0 - 59范围内;如果不是,请将分钟设置为0。
确保第二个值在0 - 59范围内;如果不是,请设置第二到0。
使用上面的值为每个数据成员提供一个设置功能,以验证进入数据成员的输入。
另外,为每个数据成员提供了一个获取功能以检索其值。
提供一个成员函数displiontime(),显示小时,分钟和第二个,每个小时,每个都被结肠隔开(示例:3:45:29)。显示时间应使用GET函数来检索数据成员中的数据。
编写一个测试程序,该程序演示了课堂时间的功能如下:
1. prompt for小时,分钟和第二个。
2.创建一个时间对象,传递对上述提示的值输入的值。
3.示出显示时间显示"初始时间"。
4.再次提交一个小时,分钟和第二个,并调用3个数据成员中的每一个。
5.5点显示时间再次显示"修改时间"。
我的项目当前代码以.cpp文件开头:
#include <iostream>
using namespace std;
class Time {
public:
//Time constructor
Time(int hour, int minute, int second)
{
setTime(hour, minute, second);
}
void setTime(int input_hour, int input_minute, int input_second)
{
setHour(input_hour);
setMinute(input_minute);
setSecond(input_second);
}
//set hour function
void setHour(int input_hour)
{
if (input_hour >= 0 && input_hour < 24)
{
hour = input_hour;
}
else
hour = 1;
}
//set minute function
void setMinute(int input_minute)
{
if (input_minute >= 0 && input_minute < 60)
{
minute = input_minute;
}
else
minute = 0;
}
//set second function
void setSecond(int input_second)
{
if (input_second >= 0 && input_second < 60)
{
second = input_second;
}
else
second = 0;
}
//get functions
int getHour()
{
return hour;
}
int getMinute()
{
return minute;
}
int getSecond()
{
return second;
}
// display function
void displayTime()
{
cout << "Time is " << hour << ":" << minute << ":" << second;
}
//private data members
private:
int hour;
int minute;
int second;
};
现在.h文件:
#include <iostream>
#include "Time.h"
using namespace std;
int main()
{
int hour, minute, second;
cout << "Enter the hour: ";
cin >> hour;
cout << "Enter the minute: ";
cin >> minute;
cout << "Enter the second: ";
cin >> second;
Time printTime{ hour, minute, second };
cout << "Time is " << printTime.getHour() << ":" << printTime.getMinute() << ":" << printTime.getSecond();
cout << "nnEnter the hour: ";
cin >> hour;
cout << "Enter the minute: ";
cin >> minute;
cout << "Enter the second: ";
cin >> second;
cout << "Time is " << setTime();
//the two lines to keep my debugger from crashing
std::cin.ignore();
std::cin.get();
}
我已经罚款1-3,但是它的步骤4和5就是让我失望。我不确定我应该在这里做什么。我了解应该发生的事情。它应该再次要求用户输入数据,然后它应该吐出1:0:0,这是通过集合函数(我认为)的"修改时间"(我认为),但是我不确定如何正确编码它。我有一种非常简单的感觉,但是再次,我不确定该怎么办。" cout&lt;&lt;" time是"&lt;&lt; settime()的第三行,显然是行不通的。这是我第一次学会了如何编程,所以我不是完全确定该怎么做。无论如何,谢谢您的所有帮助。
据我了解,您只需要使用先前创建的设置函数来更改时间。这样的东西:(未经测试)
编辑:有printTime.displayTime();
使用它!
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
int hour, minute, second;
cout << "Enter the hour: ";
cin >> hour;
cout << "Enter the minute: ";
cin >> minute;
cout << "Enter the second: ";
cin >> second;
Time printTime{ hour, minute, second };
printTime.displayTime();
cout << "nnEnter the hour: ";
cin >> hour;
//Change the hour, minutes, and seconds - then display again
printTime.setHour(hour);
cout << "Enter the minute: ";
cin >> minute;
printTime.setMinute(hour);
cout << "Enter the second: ";
cin >> second;
printTime.setSecond(hour);
//Modified time
printTime.displayTime();
}
- 为什么我的节点在我设置后被设置为 nullptr = 新节点?
- 如何使用C++为我的容器 Deque 设置最大大小?
- 设置我的应用程序 API 感知并防止系统使其模糊和错误定位
- 如何为我的游戏设置主菜单场景?QT C++
- 为什么我的突变器函数没有设置任何内容?还是我的构造函数?
- 我如何处理有关输入的字符串大小超过字符数组设置大小的错误?
- 我想在我设置的几秒钟后重新启动我的程序
- 为什么我的变量在我尚未将其设置为任何值时返回一个值?
- 我的控制台处理程序不处理 CTRL+C,即使设置正确
- 在我的 nucleo-L432KC 上设置时钟,使用 DMA 进行 5 通道 ADC 转换
- 如何设置我的dll加载,该dll取决于Env-ailiable的某些第三部分DLL
- 设置 Xcode 标志以便将 python 嵌入我的C++项目中
- 浏览器将随机HTTP消息正文发送到我的boost.asio服务器.我可以更改此设置吗?
- 如何在FFT之后设置我的数组的频带
- 分析我的输出文件时,如何设置IDA加载源文件
- 如何在 Visual Studio 中正确设置我的后期生成脚本
- 如何使用Qt3.3.0为windows应用程序开发环境设置我的计算机
- 设置我的源代码,构建目录和制作工具
- 我应该把这个.h文件放在哪里,或者如何在TextMate中正确设置我的路径
- 在 Tensorflow 的 C++ API 中,如何使用特征张量来设置我的 Tensorflow Tensor?