杂志订阅管理课程设计报告

上传人:第*** 文档编号:30564195 上传时间:2018-01-30 格式:DOC 页数:24 大小:411.50KB
返回 下载 相关 举报
杂志订阅管理课程设计报告_第1页
第1页 / 共24页
杂志订阅管理课程设计报告_第2页
第2页 / 共24页
杂志订阅管理课程设计报告_第3页
第3页 / 共24页
杂志订阅管理课程设计报告_第4页
第4页 / 共24页
杂志订阅管理课程设计报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《杂志订阅管理课程设计报告》由会员分享,可在线阅读,更多相关《杂志订阅管理课程设计报告(24页珍藏版)》请在金锄头文库上搜索。

1、1中 国 地 质 大 学本 科 生 课 程 论 文课 程 名 称 计算机高级语言课程设计(C ) 教 师 姓 名 张冬梅 本科生姓名 本科生学号 本科生专业 所 在 院 系 计算机学院 类别: 工科 日期: 2013 年 1 月 15 日 2课程设计评语对课程论文的评语:平时成绩: 课程论文成绩:总 成 绩: 评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。3目 录课程设计评语 .2目 录 .3个人简介.4摘要.41.课程论文题目.52.成语设计思路.53.功能模块.64.数据结构设计.75.算法设

2、计.86.程序代码147.程序运行结果.198.编程中遇到的困难及解决方法.239.总结心得级良好建议.2410.致谢.244作 者 简 介我是中国地质大学(武汉)计算机学院信息安全专业 192122 班的黄丽萍,于大一上学期开始学习 C 语言,并在期末进行了课程设计实习。在学习 C 语言之前未接触相关语言,对如此抽象的一门学问没什么认识,经过一学期学习,对 C 语言有了从无到有从浅到深的认识,从理论学习到上机实践,一步步深入了解,但由于学习时间短,难以对这门高深的学问有很深刻的认识,也很难熟练掌握程序设计的技巧,所以编程过程中进经常产生疏漏甚至错误,遇到难题会请老师学姐帮助,在他们帮助下顺利

3、完成了此次课程设计。摘要本题主要是要求编一个程序来管理杂志订阅,包括增加和删除用户记录,统计运算结果。增加用户就是在原有的文件中写入一个新的用户信息,但有一个前提就是用户数不能超过 10 人。删除以到期的用户,就是从原有的文件中去掉一个用户信息,这里需要把日期与当天的日期进行比较,而统计结果就是把文件中的用户进行统计,并输出。本程序有主函数、被调函数、公共函数,分别解决增加新订户,删除订户记录,统计订户信息打印运算结果三个问题。51.课程论文题目杂志订阅管理软件要求使用计算机对一种杂志的订阅进行管理,该杂志拥有的最多用户不超过 10 人,每个订户信息包括:姓名,性别,地址,电话号码,杂志单价,

4、订阅数,订阅期限(年月) 。现要求用菜单选择并完成下述功能。(1)增加新订户,即将订户的全部信息输进到文件中。(2)根据当天的日期对订户文件进行查询,删除以到期的订户记录。(3)统计本期杂志订户数并打印运算结果。2.程序设计思路本题主要是要求编一个程序来管理杂志订阅,包括增加和删除用户记录,统计运算结果。订户的信息要用文件存储,所以要提供文件的输入、输出操作;要实现增加新订户的功能,所以要提供文件的添加操作;要实现对订户的文件查询,所以要提供文件的查找操作;要删除到期订户记录,6所以要提供文件的删除操作;要统计本期杂志订户数并打印运行结果,所以要提供统计和显示操作;还有要提供键盘式选择菜单以实

5、现功能选择。增加用户就是在原有的文件中写入一个新的用户信息,但有一个前提就是用户数不能超过 10 人。删除以到期的用户,就是从原有的文件中去掉一个用户信息,这里需要把日期与当天的日期进行比较,而统计结果就是把文件中的用户进行统计,并输出。本程序有主函数、被调函数、公共函数,分别解决增加新订户,删除订户记录,统计订户信息打印运算结果三个问题。3功能模块图主函数被调函数 1增加新订户模块被调函数 2删除订户记录模块被调函数 3统计订户信息并打印结果模块1. 主要的结构体为 magzine,它包括用户的基本信息:姓名、性别、地址、电话号码、单价、订阅数和期限。全局变量为结构体变量magzinei,主

6、函数用的是 switch 语句,3 个结果分别对应 3 个函数,1 个退出操作,便于操作。72. 被调函数 1,解决增加新用户的问题。先打开文件,统计文件中的订户数,这里用的是 for 语句对文件进行读和写,调用输入函数将新的用户信息写入文件中读文件需要计算出订户数,并保存。3. 被调函数 2,解决删除订户记录的问题。进行文件的读出操作,并输入当天的日期,用 strcmp 语句与定户信息中的期限进行比较,如果订户信息中的期限与当日的期限相同,那么在写文件时,该订户的记录就不用写入了,反之,就应当写入。这样就完成了删除操作了。4. 被调函数 3,统计用户信息并打印运算结果。这里主要是进行文件的读

7、和写,统计结果将文件中被保存下来的订户信息输出。5. 公共函数部分有菜单函数,方便每次执行后返回菜单栏继续操作,还有保存函数,对输入的信息保存下来。4数据结构设计/*结构体部分*/struct magazinechar name20;char sex6;char addr20;char tell11;char price5;char amount4;char time8; magazineM85算法设计主函数main()int n,w; doprintf(n*n);printf(n * .杂志订阅系统. *n);printf(n * *n);printf(n * 1: 增加新订户 *n);pr

8、intf(n * 2:订户信息浏览及删除 *n);printf(n * 3:订户信息统计 *n);printf(n * 4:退出系统 *n);printf(n *n);printf(选择您的操作(1-4): bb);scanf(%d,if(n4) w=1;getchar();else w=0;while (w=1); /*选择功能*/switch(n)case 1:add();break; /*增加新订户记录*/case 2:delete();break; /*查找过期的订户记录并删除*/case 3:total();break; /*统计*/case 4:exit(0);break; /*退

9、出*/9开始显示一系列功能选择输入 n,判断 m 是否是 0 到 3?根据 n 值调用各功能模块函数结束N/*添加模块*/void add()int t,i,m;t=load_magazine();printf(希望添加几组订户的信息?n);printf(请输入数字: bbb);scanf(%d,for(i=0;i4) w=1;getchar();else w=0;while (w=1); /*选择功能*/switch(n)case 1:add();break; /*增加新订户记录*/case 2:delete();break; /*查找过期的订户记录并删除*/case 3:total();b

10、reak; /*统计*/case 4:exit(0);break; /*退出*/int load_magazine() /*加载仪器信息并计算记录仪器个数的函数*/FILE *fp;int i;12if(fp=fopen(magazine.txt,r)=NULL) /*以只读方式打开*/printf(nCannot open filen);exit(0);for(i=0;!feof(fp);i+) fread( /*从文件中读入数据并保存在结构体数组中*/fclose(fp);return(i);void save(int n) FILE *fp;int i;if(fp=fopen(magazine.txt,w)=NULL) /*以只写方式打开*/printf(nCannot open filen);exit(0);for(i=0;i#include#include#define M 10struct

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号