ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:418.69KB ,
资源ID:22833591      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22833591.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(杂志订阅管理系统课程设计报告Word格式文档下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

杂志订阅管理系统课程设计报告Word格式文档下载.docx

1、1、教师定期检查学生进度,学生不得以自己有私人电脑为借口而不来上机。2、根据程序运行结果;3、根据计算机课程设计报告,学生能正确并熟练地解释清楚教师对程序的提问。以上三项缺一不可,否则不能到得相应学分。杂志订阅管理系统设有一本杂志,该杂志最多拥有订户不超过10户,每个订户的信息包括:姓名,订户编号,性别,电话号码,订阅数,订阅日期,订阅期限(某年某月) ,设计一杂志订阅管理系统 ,系统以菜单方式工作,能提供以下功能:1、录入订户信息到文件 由李琴波完成2、主界面及浏览所有订户信息由周鑫完成3、查询功能(至少实现两种方式): 如:按订户编号查询、按订阅期限查询等 由李永健完成4、修改功能:修改订

2、户信息 由程蔚濯完成5、删除功能:删除已到期的订户记录 由饶雅清完成6、统计功能:统计本期杂志订户数和订阅总量等 由张佩利完成附一:时间安排表教学内容学时地点备注设计动员,布置任务0.5天1021118周周一上午查阅资料,分析、讨论与设计1天图书馆、1021118周周一下午至周二上午集体讨论18周周二下午编写程序,进行调试4天18周周三至19周周一完成模块联调,进行测试2天19周周二至周三成果验收,完成设计报告19周四至周五 本人完成删除功能模块设计 杂志订阅管理系统课程设计一、前言-5 1.1 特色-5二、需求分析-6 2.1 系统目标-6 2.2 运行环境-6 2.3 用户特点-6 2.4

3、 功能要求-6三、概要设计-7四、主界面流程图-9五、统计订户信息流程图-10六、详细设计-11七、数据结构设计-11八、源程序清单-12 8.1 源代码-12 8.2 统计程序源代码-16九、用户使用说明-18十、调试与测试-23 10.1 逻辑调试-23 10.2 语法调试-23 10.3 测试结果-23 10.4 采取的解决措施的分析与讨论-23十一、心得体会-25十二、参考文献-26一、前言 我们学习C语言课程设计的主要目的是为了了解和熟悉C语言的编程。学习C语言要经过一个“理论实践在理论在实践”的过程。而学习C语言课程设计就是要我们进行实践,从中发现问题,解决问题,提高我们运用C语言

4、的能力。是我们能够运用C语言解决一些问题。通过不断的编程,熟能生巧,是我们的理论学习也有了实践基础,学习理论知识就较为容易一些,然后再通过实践不断的提高,如此良性循环就能是我们的C语言编程能力更上一成楼。开发一个杂志订阅系统对于那些热爱杂志的人来说无疑是一个很大的帮助,以后就可以足不出户在网络上随意订阅自己喜欢的杂志,而且杂志社还可以保留新老客户的订阅信息,也方便客户查询。C语言是一个程序语言,设计目标是提供一种能以简易的方式编译、处理低阶内存、产生少量的机械码以及不需要任何执行环境支援便能执行的编程语言。C语言也很适合搭配汇编语言来使用。尽管C语言提供了许多低阶处理的功能,但仍然保持着良好跨

5、平台的特性,以一个标准规格写出的C语言程式可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(微控制器或称MCU)以及超级电脑等作业平台。1.1特色:C语言是一个有结构化程式设计、具有变量作用域(variable scope)以及递归功能的过程式语言。传递参数是以值传递(Pass-by-value),也可以透过指针来传递参数(Pass-by-address)。不同的变量类型可以用结构体(struct)组合在一起。只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。部份的变量类型可以转换,例如整型和字符型变量。透过指针(pointer),C语言可以容易的对内存进

6、行低阶控制。编译预处理(preprocessor)让C语言的编译更具有弹性。二、需求分析2.1系统目标本系统总体目标是运用该管理系统,对一期杂志的订阅用户信息进行统一,方便的管理。在设计该管理系统的过程中,应实现以下操作:1) 程序正常运行后,在屏幕上显示一个文字菜单;2)用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式等;3)应用程序运行后,先显示主菜单,用户可以根据菜单选择所需操作,继而完成相应的操作。4)具有较高的可靠性和可用性;5)使用方便,直观且便于操作;6)系统易于管理维护。2.2、运行环境 一台能运行.exe可执行文件和读取txt文本文档的计算机或其他电子设备。

7、2.3、用户特点 具备基础的计算机操作技能、了解简单的英语单词。2.4、功能需求1)录入订户信息到文件2)主界面及浏览所有订户信息3)查询功能(至少实现两种方式):4)修改功能:5)删除功能:6)统计功能:三、概要设计程序框图1.主要的结构体为node,包括用户的基本信息:姓名,订户编号,性别,地址,电话号码,订阅数和订阅期限。全局变量为结构体变量typedef struct entry。主函数采用while循环语句,9个语句分别对应9个子函数,操作简单方便。2.调用void insert()函数,增加新订户。打开文件,采用while语句判断用户数是否超过10个,若没有,采用for循环依次写入

8、需添加的用户信息并保存,即完成添加用户功能。3.调用int del()函数,删除到期订户记录。采用while语句依次检查文件中的到期用户,采用if判断语判断系统中是否存在到期用户,若存在,删除其用户信息并保存。即完成删除操作。4.调用int customerNum()和int orderNum()函数,统计杂志订阅用户数和订阅总量。主要采用while循环语句依次统计订户数和订阅总量并输出,即完成统计操作。5.调用void modify()函数,修改订户信息。用While循环语句依次查找文件中需要修改的用户,用if语句判断所需修改用户是否存在并逐次修改其信息并保存,即实现修改功能。6.调用voi

9、d showlist()函数,浏览所有订户信息。在程序运行开始时键入“hello”时系统会显示一次当前订户信息,按3调用模块时,用指针P依次指向文件中信息,并依次输出信息。7.调用int searchbyName()和int searchByid()函数,以姓名和订户编号查找用户信息。采用while循环语句依次查找系统中所存在的所有用户,采用if语句判断是否存在所查找用户并输出。8.调用void tuichu()函数,退出并判断是否保存当前订户信息。在程序运行结束时,系统会自动根据用户需求做出相应的响应,即完成是否(y/n)保存操并退出系统。四、主界面流程图:五、删除订户信息流程图:1.六、详

10、细设计该系统管理一期杂志,最多订户不超过10户,其订户信息包括:姓名,订户编号,性别,电话号码,订阅数,订阅日期,订阅期限(某年某月),此外,该系统以菜单方式工作,提供以下功能:3、查询功能(能够实现两种查询方式): 即按订户编号查询、按订户姓名查询等统计本期杂志订户数和订阅总量。七、数据结构设计:在整个程序中采用了多种数据类型:整型int 整型 长整型long基本类型字符型 char空类型 viod 数据类型 构造类型 结构体类型( struct | )指针类型 ( T * )、数组、链表八、源程序清单8.1源代码:#include /*标准输入输出头文件*/stdlib.h /*申请动态内

11、存头文件*/string.h /*字符串头文件*/int flag=0; /*定义整型变量flag并赋值0*/typedef struct entry /*声明结构体*/ char id30; /*定义字符型数组*/ char gender; /*定义字符型变量*/char name20;long tele; /*定义长整型变量*/int quantity; /*定义整型变量*/ char date20; char dueDate20; struct entry *next; /*定义指向entry结构体的指针*/node;node *head, *tail; /* 头指针,尾指针指向node

12、中的结构体*/ void draw_service() /* service 菜单模块*/ printf(t*n);t* *nt* Welcome to Magzine Customer Managment System *nnnnn*n /*输出*/printf(* please choose a service *n* *n* 1.-serach by name *n* 2.-serach by id *n* 3.-display *n* 4.-add new record *n* 5.-delete *n* 6.-modify *n* 7.-show customer number *n

13、* 8.-show magzine quantity *n* 9.-exit *n* *n*nvoid read() int i; /*定义整型变量i*/node *p, *s, *pre; /*定义三个指向结构体的指针变量*/FILE *fp=NULL; /*将NULL赋给指向文件的指针*/if (fp = fopen(info.txt,r+) = NULL) /*以读写方式打开文件,打开失败返回NULL*/ ERROR openning filen /*输出信息*/ system(pause /*系统暂停*/ return; p=head; s=head; /*将头指针的起始地址赋给指针变

14、量p,s*/ i = 0;Reading records from filenwhile ( (fscanf(fp,%s %s %c %ld %d %s %s, /*将fp指定的文件按给定格式输入数据送到指定内存单元*/ p-id, p-name, &p-gender, &tele, &quantity ,p-date, p-dueDate) != EOF) printf(No.%dt id:%st name:%st gender:%ct telephone: %ldt quantity:%dt issueDate:%st dueDate:%snn, i,p-name, p-gender, p

15、-tele, p-quantity,dueDate); i+; flag+; if(i=10) printf(用户最多只能十个n break; s = (node *)malloc(sizeof(node); /*分配字节存储区*/pre = p; p-next = s; p = s; pre-next = NULL; free(s); /*释放内存*/next=NULL; tail = pre; fclose(fp); /*关闭文件*/File Reading Succeeded!n system(int main()color 3f /*设置背景色及字体色*/ char password2

16、0 = hello , inputpass20; /*定义一个字符型数组*/ int choice;head=(node *)malloc(sizeof(node); /*head为动作指针,申请内存空间,分配SIZE字节的内存区*/ while (1) /*当表达式为非0时,执行while语句中的内嵌语句 */t*nplease input the Password(the password is hello)n scanf(%s, inputpass); /*从键盘输入通行字*/ if (strcmp(password,inputpass) = 0) /*判断通行字是否正确*/ break

17、; else cls /*清屏*/nWrong Password please try againn /*输出提示语句*/ read(); /*调用read函数*/int count = 0; /*定义一个整形变量count,将0赋给这个变量 */while (1) /*当表达式为非0时,执行while语句中的内嵌语句 */color 2fdraw_service(); /*调用draw_service()模块*/ scanf(%d, &choice);switch (choice) /*利用switch语句实现多分支选择结构*/ case 1: searchbyName(); break;

18、/*实现按姓名查找操作*/ case 2: searchbyid(); /*按订户编号信息查找*/ case 3: showlist();break; /*浏览所有订户信息 */ case 4: insert(); /*录入订户信息*/ case 5: del(); /*删除订户信息*/ case 6: modify(); /*修改订户信息*/ case 7: count = customerNum(); /*清屏,将订户总数赋给count*/ There are %d customers.n, count); /*输出count值*/ /*系统暂停,按任意键继续*/ case 8: coun

19、t = orderNum(); /*清屏,将订户数赋给count*/ There are %d magzine ordered.n /*输出count*/ case 9: writefile(); /*保存当前信息*/ case 10: exit();return 0; /*退出*/ return 0;8.2 删除模块源代码:int del() node *p, *q, *temp; /*定义指向node结构体指针*/ char key30; int c; p = head; q = head; /* 将头指针head的起始地址赋给指针p ,q*/nplease input the date

20、of duedaten,key); while(p != NULL) /*当p不指向NULL时执行while中内嵌语句*/ if (!strcmp(key,p-dueDate) if (p = head) temp = head; head = p-next; /free(temp); else if (p = tail) temp = tail; q- tail = q; elsenext = p- /free(p); q = p; p = p- /*使p指向下一个结点*/ flag-; /*系统暂停,按任意键继续*/ return -1;九、用户使用说明用户运行程序后,需按要求从键盘输入通行字“hello”,验证通过后可浏览当前所有订户信息(姓

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1