C++从入门到精通系列第24章.ppt
《C++从入门到精通系列第24章.ppt》由会员分享,可在线阅读,更多相关《C++从入门到精通系列第24章.ppt(57页珍藏版)》请在三一办公上搜索。
1、第24章 信息管理不用愁信息管理系统实战,日历系统 学生成绩管理系统 银行卡管理系统,第24章 信息管理不用愁信息管理系统实战,日历系统 学生成绩管理系统 银行卡管理系统,第24章 信息管理不用愁信息管理系统实战,日历系统 学生成绩管理系统 银行卡管理系统,第24章 信息管理不用愁信息管理系统实战,日历系统 学生成绩管理系统 银行卡管理系统,24.1 日历系统,本系统实现了控制台下打印日历。只要输入指定年份,就能打印出该年的日历,包括星期。通过本例的学习,培养读者在VC+6.0环境中,学会调试程序的能力,巩固分支结构和循环结构的知识,让读者形成C+模块化设计的思想。,24.1 日历系统,24.
2、1.1 系统分析24.1.2 功能分析及实现24.1.3 开发常见问题及解决,24.1.1 系统分析,1.需求分析随意给出某年(如2003年),可以显示该年的日历(包括每月的天数和对应的星期几),并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐,美观。,24.1.1 系统分析,2.系统分析根据问题描述,整个系统包含2个模块,为了体现模块化编程的思想,对每一个模块都分别编写函数来实现。系统流程图如下。输入年份显示日历开始结束,24.1.2 功能分析及实现,1.定义日历类 01 class calendar02 03 int weekday;04 int year;05 p
3、ublic:06 void printmonthdays();/打印每月的日历07 void printtitle(int m);/打印日历头08 int monthdays(int m);/计算每月的天数09 int firstday(int y);/计算每年的第一天是周几10;,24.1.2 功能分析及实现,2.计算每月的天数在一年中有的月份是30天,有的是31天,2月份的天数根据是否是闰年不同,又有28天和29天的区别。,24.1.2 功能分析及实现,01 int calendar:monthdays(int m)/判断每月的天数02 03 switch(m)04 05 case 1:0
4、6 case 3:07 case 5:08 case 7:09 case 8:10 case 10:11 case 12:12 return 31;/1,3,5,7,8,10,12每月有31天13 case 4:14 case 6:15 case 9:16 case 11:17 return 30;/4,6,9,11每月有30天18 case 2:19 if(year%4=0 24 25,24.1.2 功能分析及实现,3.打印日历01 void calendar:printmonthdays()02 03 int days;04 for(int n=1;n=12;n+)/12个月份05 06
5、printtitle(n);/打印日历头07 days=monthdays(n);08 for(int i=1;i=days;i+)09 10 printf(%5d,i);11 weekday=(weekday+1)%7;12 if(weekday=0)printf(n);13 14 printf(n);15 16,24.1.2 功能分析及实现,4.打印每月的日历头01 void calendar:printtitle(int m)/02 03 int i;04 printf(n%d月 日 一 二 三 四 五 六n,m);05 printf();06 for(i=0;iweekday;i+)0
6、7 printf();08,24.1.2 功能分析及实现,5.判断每年的第一天是星期几int firstday(int year)/判断元旦是星期几double s;s=floor(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+1);return(int)s%7;,24.1.2 功能分析及实现,6.提示打印模块01 void main(int argc,char*argv)02 03 04 int year;05 int weekday;06 calendar cal;07 printf(请输入你要查看的年份:);08 scanf(%d,1
7、4,24.1.3 开发常见问题及解决,从公元01年的第一天开始考虑(01年1月1日对应星期一),以计算从01年至该年开始的总天数;注意每月的天数不同,并且二月分有2种情况:是否是闰年 为了将每月的日期和星期对应,用从显示月份开始的总天数除7取余,控制日期和星期几的对应关系;可以构造一个逻辑表达式来判断该年是否是闰年:if(year%4=0 为判断每月的天数,可以用switch-case分支结构。,24.2 学生成绩管理系统,本例是一个简单的学生成绩管理系统,所实现的功能有如下几个:设计一个功能显示菜单,并有选择提示;建立学生信息数据,包括学号、姓名、三门课(语文、数学和英语)的成绩;能实现学生
8、信息增加、删除和修改;统计每个学生的总分和平均分;按照总分从小到大排出名次;任意输入一个学好,能够查出该学生在班级中的排名及其考试成绩。通过本例,读者可以更进一步的学习类和结构体的使用,以及C+中STL编程快捷与高效。,24.2 学生成绩管理系统,24.2.1 系统分析24.2.2 功能分析及实现24.2.3 开发常见问题及解决,24.2.1 系统分析,1.需求分析学生成绩管理系统主要提供学生资料的输入,学生资料的输出,学生资料的查询,学生资料删除,以及学生成绩的排序等。通过这次对学生成绩管理系统的编写,使读者对现在所学的东西和以前所学的东西有了同一的了解,综合的运用。通过本例的学习,读者对结
9、构体以及类的使用有了更进一步的认识。,24.2.1 系统分析,2.系统分析整个系统包含六个模块,为了体现模块化编程的思想,对每一个模块都分别编写函数来实现。学生信息的包括学号、姓名以及三门功课的成绩,在本例中用一个结构体来表示学生信息。在实际工作中,输入的学生信息需要更新,本例子需要有一个对学生信息进行编辑的模块。为了更好的体现C+编程的优越性,在排序的时候,用到了STL 编程中的sort方法。,24.2.2 功能分析及实现,24.2.2 功能分析及实现,1.定义类01 class student02 03 public:04 char code5;/学号05 char name20;/姓名0
10、6 double math,chinese,english,average,sum;/三门功课成绩平均分 总分07 public:08 student();09 student(char cd,char n,double ma,double chin,double eng);10 double getsum();/计算总分11 double getaver();/计算机平均分12;,24.2.2 功能分析及实现,2.主菜单的设计与实现主菜单显示,主菜单的选项的输入选择,不同功能模块的调用,从而达到用户与该系统的交互。,01 void control:jiemian()02 03 coutend
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 入门 精通 系列 24

链接地址:https://www.31ppt.com/p-6153948.html