第五周(时间表)

/*

*copyright(c) 2015,烟台大学计算机学院

*All rights reserved。

*文件名称:第五周(时间表)

*作者:王忠

*完成日期:2015.4.8

*版本号:v1.0

*

*问题描述:设计含有静态数据成员和成员函数的Time类。静态数据成员是类中所有的对象共有的数据,在下面的设计中,时钟要采用12小时制,还是要使用24小时制,显示时,不足两位的数字前是否前导0,都是“影响全局”的设置,适合作为类中的静态数据成员。

*输入描述:时间

*程序输出:时间

不足两位,时间原因,向前导0还未完成,后期努力加上

#include <iostream>

using namespace std;

class Time{
public:
	Time(int=0,int=0,int=0);
	void show_time( ); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm
	void add_seconds(int); //增加n秒钟
	void add_minutes(int); //增加n分钟
	void add_hours(int); //增加n小时
	static void change24();  //改变静态成员is_24,在12和24时制之间转换
	static void changefrom0();   //改变静态成员from0,切换是否前导0
 private:
	static bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm
	static bool from0; //为true时,前导0,8:23:5显示为08:23:05
	int hour;
	int minute;
	int sec;
};
//下面写出静态成员的初始化及各成员函数的定义……
bool Time::is_24=true;
bool Time::from0=true;
int main( )
{
    Time t1(23,24,25),t2(8,9,7);
    t1.show_time();
    t2.show_time();
    t1.add_seconds(40);
    t1.show_time();
    t1.add_minutes(20);
    t1.show_time();
    //t1.add_hours(10);
    //t1.show_time();
    t1.change24();
    t1.show_time();
    return 0;
}

Time::Time(int h,int m,int s):hour(h),minute(m),sec(s){}

void Time::show_time( )
{
    if(is_24)
        cout<<hour<<':'<<minute<<':'<<sec<<endl;
    else
    {
        if(hour>12)
        {
            hour=hour%12;
            cout<<hour<<':'<<minute<<':'<<sec<<" pm"<<endl;
        }
        else
            cout<<hour<<':'<<minute<<':'<<sec<<" am"<<endl;
     }
     //if(from0&&hour<10)
        //cout<<"0"<<hour<<':';
     //if(from0&&minute<10)
      //  cout<<"0"<<minute<<':';
    // if(from0&&sec<10)
     //   {
     //       cout<<"0"<<sec;
       //     cout<<endl;
      //  }

}
void Time::add_seconds(int n)
{
    sec=sec+n;
    if(sec>59)
        add_minutes(sec/60);
    sec=sec%60;
}
void Time::add_minutes(int n)
{
    minute=minute+n;
    if(minute>59)
        add_hours(minute/60);
    minute=minute%60;
}
void Time::add_hours(int n)
{
    hour=hour+n;
    if(hour>23)
        hour=hour%24;
}
void Time::change24()
{
    is_24=false;
}
void Time::changefrom0()
{
    from0=false;
}

时间: 2024-10-19 03:50:00

第五周(时间表)的相关文章

每周进度条(第十五周)

第十五周进度条   第十五周 所花时间 1h 代码量(行)  100 博客量(篇)  1 学到的知识 对图片的处理 在Android程序中加入图片

201405644 嵌入式程序设计第五周学习总结

嵌入式课程设计第五周学习总结 标准 I/O 编程 标准 I/O 提供流缓冲的目的是尽可能减少使用 read()和 write()等系统调用的数量.标准 I/O 提供了 3 种类型 的缓冲存储.全缓冲.行缓冲.不带缓冲. 打开文件 打开文件有三个标准函数,分别为:fopen().fdopen()和 freopen().其中 fopen()可以指定打开文件的路径和模式,fdopen()可以指定打开的文件描述符和模式,而 freopen() 除可指定打开的文件.模式外,还可指定特定的 I/O 流. f

第五周的学习进度情况

第五周,不在状态,关于软件工程的学习并没有以往那么用心了,是该好好反思.   第四周 所花时间(包括上课) 8 代码量(行) 200+ 博客量(篇) 3 了解到的知识 软件需求分析的重要性 练习对编程学习的重要 虽然上周不在状态,但是,感觉周末表现良好,心也慢慢的收回来了,身边这么多榜样,一定要坚持,做好该做的!

2014025689 《嵌入式系统程序设计》第五周学习总结

<嵌入式系统程序设计>第五周学习总结 一.6.5(标准I/O编程)主要涉及的函数及知识点 标准的I/O的三种缓冲存储:全缓冲.行缓冲.不带缓冲. 1. 全缓存:当填满标准I/O缓存后才进行实际的I/O操作 2. 行缓存:当输入或输出中遇到行结束符时,标准I/O库执行I/O操作 3. 不带缓存:标准I/O库不对字符进行缓冲 打开文件的三个标准函数:  fopen().fdopen()和 freopen(). -fopen()可以指定打开文件的路径和模式 函数原型:FILE * fopen(con

每周进度表(第十五周)

  第十五周 所花时间(包括上课) 5(小时) 代码量(行) 200 博客量(篇) 7 了解到的知识点 如何对界面进行美化 如何处理anroid里的图片

20145307《信息安全系统设计基础》第五周学习总结PT2

20145307<信息安全系统设计基础>第五周学习总结PT2: 教材学习内容总结 之前有第一部分学习总结: http://www.cnblogs.com/Jclemo/p/5962219.html 以下为第二部分 执行汇编命令:gcc –s xxx.c –o xxx.s反汇编命令:objdump –d xxx 64位处理器得到32代码的命令:gcc –m32 –s xxx.c Ltme: 1.三种操作数: 立即数:常数值.表示为$c标准表示的整数. 寄存器:表示某个寄存器的内容. 存储器:根据

20145326蔡馨熠《信息安全系统设计》第五周学习总结

教材学习内容总结 书上有的内容我就不重复赘述了,只需要将部分重要的知识点归纳总结一下. 1.使用GDB的堆栈跟踪功能(GDB中有很多针对调用堆栈的命令,都需要一个目标栈帧,例如打印局部变量值的命令) 在栈帧之间切换 frame args 将当前栈帧设置为args(编号或Address)指定的栈帧,并打印该栈帧的简要信息. up n 向上回退n个栈帧(更外层),n默认为1. down n 向下前进n个栈帧(更内层),n默认为1. 打印栈帧信息(不移动栈帧) frame 打印当前栈帧的简要信息. i

马哥linux作业第五周&#39;

1.显示当前系统上root.fedora或user1用户的默认shell: egrep "^(root|fedora|user1)\>" /etc/passwd |cut -d: -f1,7 root|fedora|user1表示三者符合其一的选择条件 ()使其归组 ^表示以后面归组的条件开头 \>表示以空字符截断此前的条件字符,即后跟其它字符的单词将不匹配 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello():

学习进度条(十五周)

本周主要是对于团队开发项目的修改完善.   第十五周 所花时间(包括上课) 上课2小时,课后10小时 代码量(行) 200+ 博客量 2 了解到的知识点 服务器连接GET方法