1、 C 语言课程设计论文语言课程设计论文 1 题目要求题目要求 1.1 题目原文 使用计算机对一种杂志的订阅进行管理,该杂志拥有最多用户不超过十人,每个 用户的信息包括:姓名,性别,地址,电话号码,杂志单价,订阅数,订阅期限(以 “YYYY.MM.DD”表示) ) ,现要求用菜单选择并完成以下的功能: 1,增加新订户,将用户的全部信息写入输入到文件中。 2,根据当天的日期对订户文件进行查询,删除已到期的订户信息。 3.统计本期杂志的订户数,并打印运行结果。 1.2 题目分析 本题主要是要求我编一个程序来管理订阅,包括增加和删除用户记录,统计运算结 果。增加用户就是在原有的文件中写入一个新的用户信
2、息,但有一个前提就是用户数不 能超过 10 人。删除以到期的用户,就是从原有的文件中去掉一个用户信息,这里需要 把日期与当天的日期进行比较,而统计结果就是把文件中的用户进行统计,并输出。 2 需求分析需求分析 根据题目要求,由于订户信息放在文件中,所以应提供文件的输入,输出,删除 等操作;在程序中需要浏览订户的信息,应提供显示、查找等操作;另外还应提供用户 每步的输入提示、输入的日期的格式判断及重输功能、键盘式选择菜单实现功能等。 3 总体设计总体设计 本程序总思路本程序总思路 本程序有一个主函数和多个被调函数,多个被调函数用来解决增加新订户,删除订 户记录,统计订户信息打印运算结果三个问题。
3、 主要的结构体为 magzine,他包括用户的基本信息:姓名,性别,地址,电话号码, 单价,订阅数和期限。全局变量为结构体变量 order。 实现功用 1,解决增加新用户的问题。先打开文件,要判断用户数是否超过 10,然后 将新的用户信息写入文件中,这里用的是 dowhile 语句对文价进行读和写,读 文件需要计算出订户数,并判断。写即是写入新订户。 实现功用 2,解决删除订户记录的问题。进行文件的读出操作,并输入当天的日期, 用 strcmp 语句与定户信息中的期限进行比较,如果订户信息中的期限与当日的期限 相同,那么在写文件时,该订户的记录就不用写入了,反之,就应当写入。这样变 完成了删除
4、操作了。 实现功用 3,统计用户信息并打印运算结果。这里主要是进行文件的读和写,运用 if 语句完成,统计结果即是根据单价和数量算出总价格并把所有的价格求和即可。 然后输出用户的所有信息。 4 详细详细设计设计 1.1. 主函数主函数 2.2. 增订新用户模块增订新用户模块 开始 显示一系列功能选择 输入 n,判断 m 是否是 0 到 3? 根据 n 值调用各 功能模块函数 结束 N 3.3. 删除过期用户模块删除过期用户模块 4.4. 统计本期杂志订户信息模块统计本期杂志订户信息模块 附:附:程序代码程序代码 #include #include #define max 20 struct magazine char name11; char sex6; char addr11; char phone_number12; char unit_price5; char amount4; char time_limit11; ordermax; void save(int n); int load_record(); void se