好文档 - 专业文书写作范文服务资料分享网站

C语言课程设计--万年历

天下 分享 时间: 加入收藏 我要投稿 点赞

d. 输入参数(修改)

e. 输入修改内容

f. 修改成功

g. 输入参数(删除)

h. 确认删除后

3. 最后测试一组大于一万年的日期:999999年

- 14 -

9月9日.测试功能:添加功能、全部删除功能。 a. 输入参数

b. 输入备忘

c. 添加成功

d. 输入参数(删除全部)

- 15 -

e. 确认删除后

至此,数据测试完毕。所有的测试结果均与实际符合得很好,验证了该程序的正确性。

5 总结

1 算法与程序总结

本程序定义了结构体类型,将年月日和备忘联系起来,在写入和读取的过程中均作为一个整体,并且在将写入的内容始终写在文件的末尾,而不是定义一一对应的备忘数组,节省了时间和空间。 由于课题要求使用命令行参数,所以,没有使用菜单来实现功能,而是使用命令选项来选择所需要执行的功能。而由于使用了命令行参数,因此该程序必须在DOS环境下运行(命令提示行)。 万年历部分,采用定基点求相差的天数取7的余来确定当月首日是星期几,从而得到所需要的

- 16 -

日历。

2 改进方案

我们

附录

以下为我们小组该课题的最终代码: /*-------------------------------我是分割-------------------------------*/ /*命令行功能选项*/

/*-d:显示当月日历和当日备忘*/ /*-i:显示当月日历和添加当日备忘*/ /*-m:显示当月日历和修改当日备忘*/ /*-g:删除当日备忘*/ /*-t:删除全部备忘*/

/*-------------------------------我是分割-------------------------------*/ /*头文件*/ #include #include

- 17 -

线线

#include

#include /*调用getopt函数*/ /*-------------------------------我是分割线-------------------------------*/

/*定义全局变量(各月所含天数)*/ int a[]={0,31,0,31,30,31,30,31,31,30,31,30,31}; /*定义全局变量(已获取的备忘个数)*/ int count_memo; /*定义结构体*/ struct date_message {

int year; /*年*/ int month; /*月*/ int day; /*日*/ char memo[300]; /*备忘*/ }date={1,1,1,\

/*-------------------------------我是分割线-------------------------------*/ /*主函数*/

int main(int argc,char *argv[]) {

- 18 -

C语言课程设计--万年历

d.输入参数(修改)e.输入修改内容f.修改成功g.输入参数(删除)h.确认删除后3.最后测试一组大于一万年的日期:999999年-14-9月9日.测试功能
推荐度:
点击下载文档文档为doc格式
72tjg4wx7j75cln2z0an3ef8l940h6007s7
领取福利

微信扫码领取福利

微信扫码分享