(第三周任务三)安要求增加类的功能

本文介绍了一个名为Time的类的设计,该类用于处理时间的设置、显示及增减操作。通过内联函数实现时间的秒、分钟和小时的增加,并提供了增加特定秒数、分钟数和小时数的方法。
 u
02. #include <iostream> 
03.using namespace std;  
04.        
05.int sec2,minute2,hour2,sec1,minute1,hour1;   
06.      
07.class Time        
08.{        
09.public:        
10.          
11.    void set_time( );  
12.    void show_time( );   
13.    inline void add_a_sec(); //增加1秒钟    
14.    inline void add_a_minute(); //增加1分钟   
15.    inline void add_an_hour(); //增加1小时   
16.    void add_seconds(int); //增加n秒钟     
17.    void add_minutes(int); //增加n分钟     
18.    void add_hours(int); //增加n小时           
19.          
20.private:         
21.    bool is_time(int, int, int);        
22.    int hour;        
23.    int minute;        
24.    int sec;      
25.};        
26.      
27.      
28.int main( )        
29.{        
30.    Time t1;      
31.    t1.set_time( );           
32.    t1.show_time( );        
33.    t1.add_a_sec();  //增加1秒钟          
34.    cout<<"增加一秒后的时间为:";        
35.    t1.show_time( );        
36.    t1.add_a_minute(); //增加1分钟         
37.    cout<<"增加一分钟后的时间为:";        
38.    t1.show_time( );        
39.    t1.add_an_hour(); //增加1小时        
40.    cout<<"增加一小时后的时间为:";        
41.    t1.show_time( );        
42.    cout<<"您想增加多少秒钟?请输入时间:";         
43.    cin>>sec2;        
44.    t1.add_seconds(sec2); //增加n秒钟         
45.    cout<<"增加"<<sec2<<"秒后的时间为:";        
46.    t1.show_time( );        
47.    cout<<"您想增加多少分钟?请输入时间:";         
48.    cin>>minute2;         
49.    t1.add_minutes(minute2); //增加n分钟        
50.    cout<<"增加"<<minute2<<"分钟后的时间为:";        
51.    t1.show_time( );         
52.    cout<<"您想增加多少小时?请输入时间:";         
53.    cin>>hour2;         
54.    t1.add_hours(hour2); //增加n小时         
55.    cout<<"增加"<<hour2<<"小时后的时间为:";        
56.    t1.show_time( );        
57.    system("PAUSE");        
58.    return 0;        
59.}        
60.      
61.void Time::set_time( )         
62.{        
63.    char c1,c2;        
64.    cout<<"请输入时间(格式hh:mm:ss)";        
65.    while(1)        
66.    {        
67.        cin>>hour>>c1>>minute>>c2>>sec;        
68.        hour1=hour;        
69.        minute1=minute;        
70.        sec1=sec;        
71.        if(c1!=':'||c2!=':')        
72.            cout<<"格式不正确,请重新输入"<<endl;        
73.        else if (!is_time(hour,minute,sec))        
74.            cout<<"时间非法,请重新输入"<<endl;        
75.        else         
76.            break;        
77.    }        
78.}        
79.      
80.void Time::show_time( )              
81.{        
82.    cout<<hour<<":"<<minute<<":"<<sec<<endl;        
83.}        
84.      
85.bool Time::is_time(int h,int m, int s)        
86.{        
87.    if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)        
88.        return false;        
89.    return true;        
90.}        
91.      
92.inline void Time::add_a_sec()  //增加1秒钟           
93.{      
94.  add_seconds(1);  
95.      
96.        return;        
97.}        
98.      
99.inline void Time::add_a_minute() //增加1分钟           
100.{     
101.    add_minutes(1);    
102.        return;        
103.}        
104.      
105.inline void Time::add_an_hour() //增加1小时           
106.{        
107.    add_hours(1);    
108.    return;        
109.}        
110.      
111.void Time::add_seconds(int sec2)//增加n秒钟           
112.{         
113.    sec=sec1;        
114.    minute=minute1;        
115.    hour=hour1;        
116.    sec=sec+sec2;       
117.    if(sec>60)      
118.    {      
119.        sec=sec%60;      
120.        minute=minute+sec/60;      
121.    }      
122.    if(minute>60)      
123.    {       
124.        minute=minute%60;      
125.        hour=hour+minute/60;          
126.    }                               
127.    if(hour>23)      
128.    {      
129.        hour=hour-24;      
130.    }      
131.          
132.    return;        
133.}   
134.void Time::add_minutes(int minute2) //增加n分钟           
135.{       
136.    sec=sec1;        
137.    minute=minute1;        
138.    hour=hour1;        
139.    minute=minute+minute2;        
140.    if(minute>60)      
141.    {    
142.        minute=minute%60;      
143.        hour=hour+minute/60;              
144.    }                                   
145.    if(hour>23)      
146.    {      
147.        hour=hour-24;      
148.    }      
149.    return;        
150.}        
151.      
152.void Time::add_hours(int hour2) //增加n小时           
153.{        
154.    hour=hour1;        
155.    sec=sec1;        
156.    minute=minute1;        
157.    hour=hour+hour2;      
158.    if(hour>23)      
159.    {      
160.        hour=hour-24;      
161.    }      
162.    return;  
163.}

sing namespace std;  
  • class Time  
  • {  
  • public:  
  •     void set_time( );     
  •     void show_time( );    
  • private:   
  •     bool is_time(intintint);  
  •     int hour;  
  •     int minute;  
  •     int sec;  
  • };  
  •   
  • int main( )  
  • {  
  •     Time t1;    
  •     Time &t2=t1;  
  •     t1.set_time( );     
  •     t2.show_time( );  
  •     return 0;  
  • }  
  •   
  • void Time::set_time( )   
  • {  
  •     char c1,c2;  
  •     cout<<"请输入时间(格式hh:mm:ss)";  
  •     while(1)  
  •     {  
  •         cin>>hour>>c1>>minute>>c2>>sec;  
  •         if(c1!=':'||c2!=':')  
  •             cout<<"格式不正确,请重新输入"<<endl;  
  •         else if (!is_time(hour,minute,sec))  
  •             cout<<"时间非法,请重新输入"<<endl;  
  •         else   
  •             break;  
  •     }  
  • }  
  •   
  • void Time::show_time( )        
  • {  
  •     cout<<hour<<":"<<minute<<":"<<sec<<endl;  
  • }  
  •   
  • bool Time::is_time(int h,int m, int s)  
  • {  
  •     if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)  
  •         return false;  
  •     return true;  
  • }  
  • 要求:请在原类基础上,增加下列成员函数,要求前三个设计成内置函数,在main()数中增加适当的调用以展示扩充类定义后的功能(最好能一次运行)。
  • add_a_sec() //增加1秒钟
  • add_a_minute() //增加1分钟
  • add_an_hour() //增加1小时
  • add_seconds(int) //增加n秒钟
  • add_minutes(int) //增加n分钟
    01.#include <iostream>   
    02.  
    03.using namespace std;  
    04.        
    05.int sec2,minute2,hour2,sec1,minute1,hour1;   
    06.      
    07.class Time        
    08.{        
    09.public:        
    10.          
    11.    void set_time( );  
    12.    void show_time( );   
    13.    inline void add_a_sec(); //增加1秒钟    
    14.    inline void add_a_minute(); //增加1分钟   
    15.    inline void add_an_hour(); //增加1小时   
    16.    void add_seconds(int); //增加n秒钟     
    17.    void add_minutes(int); //增加n分钟     
    18.    void add_hours(int); //增加n小时           
    19.          
    20.private:         
    21.    bool is_time(int, int, int);        
    22.    int hour;        
    23.    int minute;        
    24.    int sec;      
    25.};        
    26.      
    27.      
    28.int main( )        
    29.{        
    30.    Time t1;      
    31.    t1.set_time( );           
    32.    t1.show_time( );        
    33.    t1.add_a_sec();  //增加1秒钟          
    34.    cout<<"增加一秒后的时间为:";        
    35.    t1.show_time( );        
    36.    t1.add_a_minute(); //增加1分钟         
    37.    cout<<"增加一分钟后的时间为:";        
    38.    t1.show_time( );        
    39.    t1.add_an_hour(); //增加1小时        
    40.    cout<<"增加一小时后的时间为:";        
    41.    t1.show_time( );        
    42.    cout<<"您想增加多少秒钟?请输入时间:";         
    43.    cin>>sec2;        
    44.    t1.add_seconds(sec2); //增加n秒钟         
    45.    cout<<"增加"<<sec2<<"秒后的时间为:";        
    46.    t1.show_time( );        
    47.    cout<<"您想增加多少分钟?请输入时间:";         
    48.    cin>>minute2;         
    49.    t1.add_minutes(minute2); //增加n分钟        
    50.    cout<<"增加"<<minute2<<"分钟后的时间为:";        
    51.    t1.show_time( );         
    52.    cout<<"您想增加多少小时?请输入时间:";         
    53.    cin>>hour2;         
    54.    t1.add_hours(hour2); //增加n小时         
    55.    cout<<"增加"<<hour2<<"小时后的时间为:";        
    56.    t1.show_time( );        
    57.    system("PAUSE");        
    58.    return 0;        
    59.}        
    60.      
    61.void Time::set_time( )         
    62.{        
    63.    char c1,c2;        
    64.    cout<<"请输入时间(格式hh:mm:ss)";        
    65.    while(1)        
    66.    {        
    67.        cin>>hour>>c1>>minute>>c2>>sec;        
    68.        hour1=hour;        
    69.        minute1=minute;        
    70.        sec1=sec;        
    71.        if(c1!=':'||c2!=':')        
    72.            cout<<"格式不正确,请重新输入"<<endl;        
    73.        else if (!is_time(hour,minute,sec))        
    74.            cout<<"时间非法,请重新输入"<<endl;        
    75.        else         
    76.            break;        
    77.    }        
    78.}        
    79.      
    80.void Time::show_time( )              
    81.{        
    82.    cout<<hour<<":"<<minute<<":"<<sec<<endl;        
    83.}        
    84.      
    85.bool Time::is_time(int h,int m, int s)        
    86.{        
    87.    if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)        
    88.        return false;        
    89.    return true;        
    90.}        
    91.      
    92.inline void Time::add_a_sec()  //增加1秒钟           
    93.{      
    94.  add_seconds(1);  
    95.      
    96.        return;        
    97.}        
    98.      
    99.inline void Time::add_a_minute() //增加1分钟           
    100.{     
    101.    add_minutes(1);    
    102.        return;        
    103.}        
    104.      
    105.inline void Time::add_an_hour() //增加1小时           
    106.{        
    107.    add_hours(1);    
    108.    return;        
    109.}        
    110.      
    111.void Time::add_seconds(int sec2)//增加n秒钟           
    112.{         
    113.    sec=sec1;        
    114.    minute=minute1;        
    115.    hour=hour1;        
    116.    sec=sec+sec2;       
    117.    if(sec>60)      
    118.    {      
    119.        sec=sec%60;      
    120.        minute=minute+sec/60;      
    121.    }      
    122.    if(minute>60)      
    123.    {       
    124.        minute=minute%60;      
    125.        hour=hour+minute/60;          
    126.    }                               
    127.    if(hour>23)      
    128.    {      
    129.        hour=hour-24;      
    130.    }      
    131.          
    132.    return;        
    133.}   
    134.void Time::add_minutes(int minute2) //增加n分钟           
    135.{       
    136.    sec=sec1;        
    137.    minute=minute1;        
    138.    hour=hour1;        
    139.    minute=minute+minute2;        
    140.    if(minute>60)      
    141.    {    
    142.        minute=minute%60;      
    143.        hour=hour+minute/60;              
    144.    }                                   
    145.    if(hour>23)      
    146.    {      
    147.        hour=hour-24;      
    148.    }      
    149.    return;        
    150.}        
    151.      
    152.void Time::add_hours(int hour2) //增加n小时           
    153.{        
    154.    hour=hour1;        
    155.    sec=sec1;        
    156.    minute=minute1;        
    157.    hour=hour+hour2;      
    158.    if(hour>23)      
    159.    {      
    160.        hour=hour-24;      
    161.    }      
    162.    return;  
    163.}  

  • add_hours(int) //增加n小时提示:要考虑增加后超出取值范围的情形
海得智慧能源MES上线交付方案 一、验收核心目标: 1.硬件对接:完成灯手表、生产终端、打印机、扫码枪的联调与系统基础功能验证。 2.核心流程闭环:实现工单下发→生产执行→异常响应→数据追溯的完整流程。 3.数据可视化:提供异常事件统计、工厂生产总览看板、产品追溯记录。 二、实施计划: 第1周:硬件部署与基础联调 目标:确保硬件到位并完成基础接口对接。 任务 细节说明 生产终端部署 - 在甲方现场部署生产终端 - 完成工单开工、打码、报工、异常发起等功能验证。 灯手表对接 - 完成灯手表与系统的通信联调 - 实现异常发起、响应基础协议对接。 扫码枪与打印机联调 - 扫码枪与系统的对接(一物一码、物料批次号扫描识别) - 打印机驱动集成,支持标签打印。 第2周:核心功能测试与数据贯通 目标:实现关键业务流程闭环,打通硬件与系统的数据对接。 任务 细节说明 生产终端功能验证 - 终端接受下发的对应派工单并执行生产 - 工单进度实时展示(完成数/目标数) 条码全流程追溯 - 从生成条码→扫码枪采集→条码绑定生产数据→成品扫码关联流程信息。 灯异常闭环流程 - 灯发起→手表接收→处理→结果反馈→关闭。 - 超时未处理自动升级提醒。 大屏看板 - 按产线实际使用系统完成的工单数进行统计展示如:计划达成率、生产效率、质量合格率等。 第3周:集成测试与用户培训 目标:完成系统使用测试,培训关键用户,收集反馈并快速修复问题。 任务 细节说明 使用测试 - 产线工单执行(含打印、扫码、异常触发等) - 验证功能准确性以及系统稳定性。 用户操作培训 - 针对班组长、操作员分角色培训 - 提供简化版操作手册(图文+短视频)。 问题修复与优化 - 根据测试和培训反馈,修复关键BUG 第4周:正式上线与验收 目标:系统正式上线,并进行系统总结报告,完成签字验收。 任务 细节说明 上线支持 - 驻场支持确保系统稳定运行 - 输出生产报表、异常工时统计 验收材料整理 - 交付清单:硬件对接文档、操作手册等 - 核心指标达成证明(异常数据统计、生产流程闭环、追溯数据完整)。 领导汇报会 - 系统整体演示:从基础数据准备、工单下发到成品追溯的全流程。 - 重点展示异常响应时效提升、生产数据透明化价值。 、关键配合项: 1.严格管控范围:上线期间避免新增/变更需求,非核心优化项列入后续项目阶段同步进行。 2.专人协同配合:需海得方指定专人对接硬件问题。 需海得方指定车间现场负责人(需具备能够指挥产线停开工以及召集人员开会的调配权利)。 3.每日同步+周报:双方团队每日同步进展,每周五向海得交付群发送周计划达成简报。 四、总结: 为保障海得智慧能源数字化建设的整体成功,我们将共同以MES项目交付作为关键节点。在设备数采、SRM、WMS上线之前,我们将集中资源在大约1个月左右的时间内,实现“硬件联动可用、主流程闭环可跑、核心数据可视可析”的阶段性目标。这主要包括核心业务流程的闭环、硬件的对接以及生产相关的数据可视化。 此举不仅能快速验证MES系统的可行性,更能为后续项目做好关键准备: 1.风险前置:提前发现硬件与系统协同问题,在可控范围内完成调优,降低后续规模化推广的试错成本; 2.经验复用:总结系统对接、硬件适配标准、生产执行、异常响应处理等,形成可复制的方法论; 3.信心建设:通过产线真实执行工单并反馈到数据看板,直观呈现效率、合格率、响应及时率等关键指标,为后续预算审批提供决策依据。 同时我们在后续项目:设备数采、SRM、WMS实施的过程中,MES系统的相关流程和优化项也可以进行持续优化,从而进一步实现相关业务流程的高效运作和数据的有效利用。 我们相信,首期‘MES系统’的落地,将为整体数字化转型开好头、树标杆。领导让我把这份方案再完善一下,没有说具体的地方,你帮我完善一下,我觉得主要在工作范围的重点说明,以及计划的细化上
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值