杂志订阅系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中国地质大学

本科生课程论文

课程名称计算机高级语言程序设计(C)教师姓名李程俊

本科生姓名王冠玉

本科生学号20111002403

本科生专业宝石及材料工艺学

所在院系珠宝学院

类别: 理工

日期: 2011.7.7

作者简介

我是中国地质大学(武汉)珠宝学院宝石及材料工艺学鉴定方向141111班的王冠玉,于大一下学期开始学习c语言,在学习c语言之前未接触相关语言,对如此抽象的一门学问没什么认识,经过一学期学习,对c语言有了从无到有从浅到深的认识,从理论学习到上机实践,一步步深入了解,但由于学习时间短,难以对这门高深的学问有很深刻的认识,也很难熟练掌握程序设计的技巧,所以编程过程中产生疏漏甚至错误在所难免,望老师谅解,并希望老师批评指正。

摘要

本题主要是要求编一个程序来管理杂志订阅,包括增加和删除用户记录,统计运算结果。

增加用户就是在原有的文件中写入一个新的用户信息,但有一个前提就是用户数不能超过10人。删除以到期的用户,就是从原有的文件中去掉一个用户信息,这里需要把日期与当天的日期进行比较,而统计结果就是把文件中的用户进行统计,并输出。

本程序有一个主函数和三个被调函数,三个被调函数分别解决增加新订户,删除订户记录,统计订户信息打印运算结果三个问题。

课程设计评语

对课程论文的评语:

平时成绩:课程论文成绩:

总成绩:评阅人签名:

注:1、无评阅人签名成绩无效;

2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;

3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

目录

个人简介 (2)

摘要 (2)

课程设计评语 (3)

目录 (4)

1.课程论文题目 (5)

2.程序设计思路 (5)

3.功能模块图 (6)

4.数据结构设计 (7)

5.算法设计 (8)

6.程序代码 (9)

7.程序运行结果 (16)

8.编程中遇到的困难及解决方法 (20)

9.总结心得及良好建议 (21)

10.致谢 (21)

1. 课程论文题目

杂志订阅管理软件

[要求]

使用计算机对一种杂志的订阅进行管理,该杂志拥有的最多用户不超过10人,每个订户信息包括:姓名,性别,地址,电话号码,杂志单价,订阅数,订阅期限(××年××月)。

现要求用菜单选择并完成下述功能。

(1)增加新订户,即将订户的全部信息输进到文件中。

(2)根据当天的日期对订户文件进行查询,删除以到期的订户记录。(3)统计本期杂志订户数并打印运算结果。

2.程序设计思路

本题主要是要求编一个程序来管理杂志订阅,包括增加和删除用户记录,统计运算结果。

订户的信息要用文件存储,所以要提供文件的输入、输出操作;要实现增加新订户的功能,所以要提供文件的添加操作;要实现对订户的文件查询,所以要提供文件的查找操作;要删除到期订户记录,所以要提供文件的删除操作;要统计本期杂志订户数并打印运行结果,所以要提供统计和显示操作;还有要提供键盘式选择菜单以实现功能

选择。增加用户就是在原有的文件中写入一个新的用户信息,但有一个前提就是用户数不能超过10人。删除以到期的用户,就是从原有的文件中去掉一个用户信息,这里需要把日期与当天的日期进行比较,而统计结果就是把文件中的用户进行统计,并输出。

本程序有一个主函数和三个被调函数,三个被调函数分别解决增加新订户,删除订户记录,统计订户信息打印运算结果三个问题。

3.功能模块图

1. 主要的结构体为magzine,它包括用户的基本信息:姓名,性别,地址,电话号码,单价,订阅数和期限。全局变量为结构体变量magzine[i],主函数用的是switch 语句,3个结果分别对应3个函数,便于操作。

主函数

被调函数1

增加新订户模块

被调函数2 删除订户记录模块 被调函数3 统计订户信息并打印结果模块

2.被调函数1,解决增加新用户的问题。先打开文件,要判断用户数

是否超过10,然后将新的用户信息写入文件中,这里用的是do……while语句对文价进行读和写,读文件需要计算出订户数,并判断。写即是写入新订户。

3.被调函数2,解决删除订户记录的问题。进行文件的读出操作,并

输入当天的日期,用strcmp语句与定户信息中的期限进行比较,如果订户信息中的期限与当日的期限相同,那么在写文件时,该订户的记录就不用写入了,反之,就应当写入。这样就完成了删除操作了。

4.被调函数3,统计用户信息并打印运算结果。这里主要是进行文件

的读和写,运用if语句完成,统计结果即是根据单价和数量算出总价格并把所有的价格求和即可。然后只需输出用户的姓名,订阅数,单价和金额。

4.数据结构设计

/*结构体部分*/

struct magazine{

char name[20];

char sex[4];

char address[30];

char tel[11];

float price;

int num;

char deadline[8];

}magazine[M];

5.算法设计

主函数

/*主函数部分*/

main()

{

int ch;

char ch1;

do

{

printf("*****杂志订阅管理系统*****\n");

printf("1.增加新订户\n");

printf("2.删除到期用户\n");

printf("3.统计订户数\n");

printf("请输入1-3数字进行选择\n");

scanf("%d",&ch);

switch(ch)

{

case 1:insert();break;

case 2:del();break;

case 3:total();break;

default:printf("输入有误!请输入1-3数字进行选择");break;

}

printf("是否继续其他操作?是请输入y\n");

scanf("%c",&ch1);

相关文档
最新文档