- 19
- 0
- 约3.31千字
- 约 13页
- 2020-07-27 发布于江西
- 举报
《电子日历》
程序设计基础课程设计报告
专 业:
班 级:
姓 名:
学 号:
指导教师:
年 月 日
目 录
1、课程设计的目的、课程设计题目、题目要求 3
1.1课程设计的目的 3
1.2课程设计的题目 3
1.3题目要求 3
2课程设计的实验报告内容: 4
3课程设计的原程序代码: 4
4运行结果 16
5. 课程设计总结 20
6参考书目 21
TOC \o 1-3 \h \z \u
1课程设计的目的
1.1课程设计的目的:
通过以前的学习以及查看相关资料,按着题目要求编写程序,进一步加强对编程的训练,使得自己掌握一些将书本知识转化为实际应用当中.在整个程序中,主要应用的是链表,但是也运用了类.通过两种方法解决现有问题.
1.2课程设计的题目: 用户任意输入一个年份以及该年的1月1日是星期几,而后再输入该年的任意一个月份,由程序负责在屏幕上按照你所设计的格式显示出这一个月的月历。
1.3题目要求:
1、利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入任意一个年份和一个月份,则程序就应按格式显示出该年那一个月的月历。
2、能在屏幕上输出月份日历.
2课程设计的实验报告内容:
整个程序采用类与链表相结合的编程方法一共完成了8个功能.在每个功能输入时,若未按所给的提示信息操作便会给出相应的报错信息.这样使整个程序运行起来更加完整.程序中有class Client//会员类以及class Chain_belt//链表类
在会员类class Client中设有void input_1(Client *haid)//手动录入函数和int input()//自动录入函数,进行对会员的录入,它包含有辨别功能,如果所输入的编号已经存在便会给出相应的信息,录入通过插入形式录入直接将顺序排好..在friend void save(Client *haid)保存功能内定义了static ifstream ofile;输入流静态成员,保证每次调用input()时,指针地址不会改变.
链表类class Chain_belt//中包含了Client *set_array()//建立初级链表, Client *cut_in(Client b,Client *haid1)//插入void amend(Client *haid,int n,int i)//修改链表编号函数void amend_name(Client *haid,char b[20])//根据姓名查询Client *delete1(Client *haid,int n)删除,统计void total_age(Client *haid)//统计不同年龄段的人数 void total_month(Client *haid)//统计不同时间段的资金情况,输出功能的函数,这些功能都是通过链表实现的,而在主函数主要运用了goto语句进行循环.运用if语句设置不同的功能条件,进行不同的功能实现.
3课程设计的原程序代码:
#includestdio.h
void main()
{
int n,x,y,a[32],i,j,k;
n=x=y=i=-1;
while(n0)
{
printf(请输入年份:);
scanf(%d,n);
}
while(x7||x1)
{
printf(请输入星期(1-7数字):);
scanf(%d,x);
}
while(y0||y12)
{
printf(请输入月份:);
scanf(%d,y);
}
while(i31)
a[++i] = i;
n%400==0?k=1:n%4==0n%100!=0?k=1:k=0;//是否为闰年
n=0;//初始化天数
switch(y-1)//某月末至1月1日有多少天
{
case 11:n+=334;i=0;break;
case 10:n+=304;i=1;break;
case 9:n+= 273;i=0;break;
case 8:n+= 243;i=0;break;
case 7:n+= 212;i=1;break;
case 6:n+= 181;i=0;break;
case 5:n+= 151;i=1;break;
case 4:n+=
原创力文档

文档评论(0)