课程设计(论文)基于C语言的教材预定信息管理程序设计.doc

上传人:仙人指路1688 文档编号:2385499 上传时间:2023-02-17 格式:DOC 页数:31 大小:1.78MB
返回 下载 相关 举报
课程设计(论文)基于C语言的教材预定信息管理程序设计.doc_第1页
第1页 / 共31页
课程设计(论文)基于C语言的教材预定信息管理程序设计.doc_第2页
第2页 / 共31页
课程设计(论文)基于C语言的教材预定信息管理程序设计.doc_第3页
第3页 / 共31页
课程设计(论文)基于C语言的教材预定信息管理程序设计.doc_第4页
第4页 / 共31页
课程设计(论文)基于C语言的教材预定信息管理程序设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《课程设计(论文)基于C语言的教材预定信息管理程序设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于C语言的教材预定信息管理程序设计.doc(31页珍藏版)》请在三一办公上搜索。

1、教材预定信息管理系统目录1绪论12. 系统分析12.1数据需求12.2 功能需求22.3 性能需求23. 总体设计23.1功能模块设计23.2系统设计方案34. 详细设计44.1教材管理链表的输入44.2修改预订教材信息模块64.3删除预定教材信息模块74.4查询预定教材信息模块84.5排列预定教材信息模块94.6添加预定教材信息模块104.7显示预订教材信息模块114.9载入预订教材信息模块124.10储存预订教材信息模块135. 结论13结束语13参考文献14附录1用户手册16附录2源程序22摘 要教材管理程序设计是一个为人们相互联系提供方便的程序,有了这个程序,可以把高校教材信息保留下来

2、,为以后的查找提供方便,教材管理系统是当今人们生活必不可少的一部分,这个程序的出现为教材管理带来了很大的便利。 本系统使用C语言作为程序开发的语言,开发教材管理系统,实现可以对教材的信息进行添加、删除、修改和查询等功能。本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。关键词:教材管理 添加 删除 显示 排序 预定班级 1绪论教材管理系统是一个方便教材管理的程序,有了这个程序,可以把教材预定的信息保留下来,为以后的查找提供方便,教材是当今人们生活必不可少的一部分,教材的出现为学习带来

3、了很大的便利。提高学习效率,节省时间。根据计算机综合训练任务书要求,本系统开发主要完成以下功能和性能。 (1) 教材信息管理:包括建立教材基本信息:书号、教材名称、教材类别、作者、出版社、出版日期、预定班级等;(2) 教材信息查询管理:可以按名字、作者、出版社、预定班级进行你所要查询的教材信息。(3) 系统管理:使用者可以对整个系统进行系统管理、保证系统的安全性,稳定性。2. 系统分析2.1数据需求本系统主要是教材信息简单管理的系统。需要向系统输入书号、教材名称、教材类别、作者、出版社、出版日期、预定班级。2.2 功能需求本系统需要有添加,删除,查询,排序,保存信息,载入信息的功能,能将教材信

4、息进行删除,利用显示函数将教材的所有信息显示。2.3 性能需求在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠,快捷。3. 总体设计3.1功能模块设计根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能。该系统需要有添加,修改,删除,排序,查询,保存,读取。功能模块图如图1所示。图1功能模块图(1)建立预订教材信息模块对教材的信息建立。(2)修改预订教材信息模块对建立好的教材信息进行修改。(3)删除预定教材信息模块对建立好的教材信息进行删除。(4)查询预定教材信息模块可以按照教材的名称、作者、出版社、预定班级进行查询。(5)排列预定教材信息模块对教材

5、按出版时间降序排列。(6)添加预定教材信息模块添加预订教材信息。(7)显示预订教材信息模块显示预订教材信息。(8)载入预订教材信息模块对所有教材信息进行读取。(9)储存预订教材信息模块对所有教材信息的进行保存。3.2系统设计方案(1) 菜单设计设计一个总菜单,1建立预订教材信息,2修改预订教材信息,3删除预定教材信息,4查询预定教材信息,5排列预定教材信息,6添加预定教材信息,7显示预订教材信息,8载入预订教材信息模块,9储存预订教材信息模。基本功能的实现都将体现在这几个菜单选项中。(2) 数据结构建立结构体如下:char book_num50; 教材编号char book_name50; 教

6、材名称char book_leibie50; 教材类别char zuozhe_name50; 作者姓名char chubanshe_name50; 出版社名称long publish_time; 出版时间char order_class50; 预定班级struct book *next; 根据模块需要本系统需要用到链表结构。(3) 函数设计定义了9个函数,都实现以下功能:struct book *creat()/输入struct book *xiugai(struct book *head)/修改struct book *del(struct book *head)/删除void chaxun

7、(struct book *head)/教材的名字、作者、出版社、预定班级查询 struct book *pailei(struct book *head)/排列truct book *add(struct book *head) /填加void print(struct book *head) /显示struct book *zairu()/读取void chucun(struct book *head)/保存4. 详细设计 4.1教材管理链表的输入教材管理链表的输入是将教材基本信息输入管理系统。(下图)图2 教材信息输入流程图4.2修改预订教材信息模块对预订教材信息进行修改。(下图). 图

8、3 修改预订教材信息流程图4.3删除预定教材信息模块对教材中的信息进行删除(下图)。 图4 删除预定教材信息流程图4.4查询预定教材信息模块通过教材名称、作者、出版社、预定班级对预定教材信息进行查询(下图)。图5 查询预定教材信息流程图4.5排列预定教材信息模块按出版时间对预订教材信息进行降序排列(下图)。图6排列预定教材信息流程图4.6添加预定教材信息模块添加预订教材信息(下图)。 图7添加预定教材信息流程图4.7显示预订教材信息模块显示预订教材信息(下图)。 图8显示预订教材信息流程图4.9载入预订教材信息模块载入文件夹中已有的预订教材信息(下图)。图10载入预订教材信息流程图4.10储存

9、预订教材信息模块 对录入的数据进行保存(下图)。 图11储存预订教材信息流程图5. 结论计算机综合训练圆满完成,任务书中所有要求完全实现,可以对预定教材信息进行建立,插入,删除以及按可以按照教材的名称、作者、出版社、预定班级进行查询,不过这个程序还有些不完善之处,例如:如果输入错误就需要从头输入,使操作变得烦琐。结束语将近两周的计算机训练任务顺利完成,在训练的这段时间里我学到了很多经验,吸取了很多教训,能够更熟练的掌握C语言的简单操作编程思路,会用一些简单的函数进行编程,学会了运用函数修改我做过的程序并且明白了编写C语言程序不是一朝一夕的事,是需要经过不断的编写与修改才能完成的,只有真正的练习

10、过才能达到实践的目的,当程序编写完成而且能够正常运行时,我感到无比的高兴,成就感油然而生,虽然只是一个很简单的程序,但好的开始是成功的一半,只有不断的学习不断地练习才能提高自己的编程技巧!参考文献1 谭浩强. C语言程序设计(第三版).北京:清华大学出版社,20052 林智颖. C语言程序设计教程.中国电力出版社,20063 美赫伯特.希尔特, 王子恢等译. C语言大全. 电力工业出版社, 20034 姜灵芝, 余健. C语言课程设计案例精编. 清华大学出版社, 2008附录1用户手册主菜单:点击运行,选择菜单选项进行操作,可进行如下图所示。图1 主菜单1.建立教材预订信息,如下图所示。图2建

11、立教材预订信息2.修改预订教材信息,如下图所示。图3-1修改预订教材信息输入回车后进行教材信息修改菜单进行修改,如下图所示。图3-2修改预订教材信息3.删除预订教材信息,如下图所示。图4删除预订教材信息4.查询预订教材信息,如下图所示。图5查询预订教材信息5对教材按出版时间降序排列,如下图所示。图6排列预订教材信息6添加预订教材信息,如下图所示。图7添加预订教材信息7显示预订教材信息,如下图所示。图8显示预订教材信息8载入预订教材信息,如下图所示。图9载入预订教材信息9储存预订教材信息,如下图所示。图10储存预订教材信息附录2源程序#include #include #include #inc

12、lude #define NULL 0#define LEN sizeof(struct book)int yudingbook=0;FILE *fp1;struct bookchar book_num50;char book_name50;char book_leibie50;char zuozhe_name50;char chubanshe_name50;long publish_time;char order_class50;struct book *next;struct book *pailei(struct book *head)struct book *p1,*p2,*p3;in

13、t xunhuan_num=0;p3=(struct book *)malloc(LEN);if(head=NULL)printf(没有预订教材);return(head);p1=head;p2=p1-next;while(xunhuan_numpublish_timepublish_time)strcpy(p3-book_num,p2-book_num);strcpy(p3-book_name,p2-book_name);strcpy(p3-book_leibie,p2-book_leibie);strcpy(p3-zuozhe_name,p2-zuozhe_name);strcpy(p3-

14、chubanshe_name,p2-chubanshe_name);strcpy(p3-order_class,p2-order_class);p3-publish_time=p2-publish_time;strcpy(p2-book_num,p1-book_num);strcpy(p2-book_name,p1-book_name);strcpy(p2-book_leibie,p1-book_leibie);strcpy(p2-zuozhe_name,p1-zuozhe_name);strcpy(p2-chubanshe_name,p1-chubanshe_name);strcpy(p2-

15、order_class,p1-order_class);p2-publish_time=p1-publish_time;strcpy(p1-book_num,p3-book_num);strcpy(p1-book_name,p3-book_name);strcpy(p1-book_leibie,p3-book_leibie);strcpy(p1-zuozhe_name,p3-zuozhe_name);strcpy(p1-chubanshe_name,p3-chubanshe_name);strcpy(p1-order_class,p3-order_class);p1-publish_time=

16、p3-publish_time;p1=p2;p2=p2-next;p1=head;p2=p1-next;xunhuan_num+;return(head);void chaxun(struct book *head)char chaxun_name50;struct book *p;printf(请输入要查询教材的名称、作者、出版社、预定班级(输入任意一项即可):); scanf(%s,chaxun_name);if(head=NULL)printf(联系人为空n);p=head;while(p!=NULL)if(strcmp(chaxun_name,p-book_name)=0|strcmp

17、(chaxun_name,p-zuozhe_name)=0|strcmp(chaxun_name,p-chubanshe_name)=0|strcmp(chaxun_name,p-order_class)=0)printf(书号:%s 教材名称:%s 教材类别:%s 作者:%s 出版社:%s 出版时间:%ld 预定班级:%sn,p-book_num,p-book_name,p-book_leibie,p-zuozhe_name,p-chubanshe_name,p-publish_time,p-order_class);p=p-next;printf(请按回车键继续.);getchar();g

18、etchar();system(cls);struct book *del(struct book *head) char del_num50;struct book *p1,*p2;printf(请输入要删除的预订教材书号:);scanf(%s,del_num);if(head=NULL)printf(没有预订教材n);return (head);p1=head; while(strcmp(del_num,p1-book_num)!=0)&(p1-next!=NULL) p2=p1;p1=p1-next; if(strcmp(del_num,p1-book_num)=0)if(p1=head

19、) head=p1-next; else p2-next=p1-next; printf(成功删除:%sn,del_num); yudingbook-; else printf(%s 预订教材不存在!n,del_num);return(head); struct book *xiugai(struct book *head)char xiugai_num50;struct book *p1;int xuanxiang_num;printf(请输入要修改预定教材书号:);scanf(%s,xiugai_num);system(cls); p1=head;if(head=NULL)printf(没

20、有预订教材n);return(head);while(strcmp(xiugai_num,p1-book_num)!=0)&(p1-next!=NULL)p1=p1-next; if(strcmp(xiugai_num,p1-book_num)=0) printf(*教材信息修改菜单*n);printf(=n);printf( 1-修改教材书号 n);printf( 2-修改教材名称 n);printf( 3-修改教材类别 n);printf( 4-修改教材作者 n);printf( 5-修改教材出版社 n);printf( 6-修改教材出版时间 n);printf( 7-修改教材预定班级 n

21、);printf(=n);scanf(%d,&xuanxiang_num);switch(xuanxiang_num)case 1:printf(请输入新的书号:);scanf(%s,p1-book_num);break;case 2:printf(请输入新的名称:);scanf(%s,p1-book_name);break;case 3:printf(请输入新的类别:);scanf(%s,p1-book_leibie);break;case 4:printf(请输入新的作者名字:);scanf(%s,p1-zuozhe_name);break;case 5:printf(请输入新的出版社名称

22、:);scanf(%s,p1-chubanshe_name);break;case 6:printf(请输入新的出版时间:);scanf(%s,p1-publish_time);break;case 7:printf(请输入新的预定班级:);scanf(%s,p1-order_class);break;printf(修改成功! 请按回车键继续.);getchar();getchar();system(cls);return(head);struct book *creat()int i,b;struct book *head,*p1,*p2; printf(请输入建立预订教材数:);scanf

23、(%d,&b);head=p2=NULL;p1=(struct book*)malloc(LEN);printf(【输入格式:书号(空格)教材名称(空格)教材类别(空格)作者(空格)出版社(空格)出版时间(空格)预定班级】n);printf(请输入第1本预订教材的信息:);scanf(%s%s%s%s%s%ld%s,p1-book_num,p1-book_name,p1-book_leibie,p1-zuozhe_name,p1-chubanshe_name,&p1-publish_time,p1-order_class);head=p1;p2=p1;yudingbook+;for(i=1;i

24、book_num,p1-book_name,p1-book_leibie,p1-zuozhe_name,p1-chubanshe_name,&p1-publish_time,p1-order_class);p2-next=p1;p2=p1;yudingbook+; p2-next=NULL; return(head);void print(struct book *head)struct book *p;p=head;if(p=NULL)printf(没有预订教材信息n);while(p!=NULL)printf(书号:%s 教材名称:%s 教材类别:%s 作者:%s 出版社:%s 出版时间:

25、%ld 预定班级:%sn,p-book_num,p-book_name,p-book_leibie,p-zuozhe_name,p-chubanshe_name,p-publish_time,p-order_class);p=p-next;printf(请按回车键继续.);getchar();getchar();system(cls);void chucun(struct book *head)struct book *p1;p1=head;fp1=fopen(jiaocaiyuding.txt,wb+);while(p1!=NULL)fwrite(p1,LEN,1,fp1);p1=p1-ne

26、xt;fclose(fp1);printf(储存成功! 请按回车键继续.n);getchar();getchar();system(cls);struct book *zairu()struct book *p1=NULL,*p2=NULL,*head=NULL;struct book book_ziliao100;int i=0,n=0;if(fp1=fopen(jiaocaiyuding.txt,rb+)=NULL) printf(cannot open filen);return(head); while(!feof(fp1)if(fread(&book_ziliaoi,LEN,1,fp

27、1)!=1) if(feof(fp1)fclose(fp1); break; printf(file read errorn);i+;n=i;p1=p2=(struct book*)malloc(LEN);head=p1;for(i=0;ibook_num,book_ziliaoi.book_num);strcpy(p1-book_name,book_ziliaoi.book_name);strcpy(p1-book_leibie,book_ziliaoi.book_leibie);strcpy(p1-chubanshe_name,book_ziliaoi.chubanshe_name);st

28、rcpy(p1-order_class,book_ziliaoi.order_class);p1-publish_time=book_ziliaoi.publish_time;strcpy(p1-zuozhe_name,book_ziliaoi.zuozhe_name);p2-next=p1;p2=p1;p1=(struct book *)malloc(LEN);p2-next=NULL;return(head);struct book *add(struct book *head)struct book *p0,*p1,*p2;char tianjia_num50;p0=p1=p2=(str

29、uct book *)malloc(LEN); printf(请输入要添加的预定教材信息【输入格式:书号(空格)教材名称(空格)教材类别(空格)作者(空格)出版社(空格)出版时间(空格)预定班级】n);scanf(%s%s%s%s%s%ld%s,p0-book_num,p0-book_name,p0-book_leibie,p0-zuozhe_name,p0-chubanshe_name,&p0-publish_time,p0-order_class);printf(要添加加到哪一编号前【添加到最后请输入1111】:);scanf(%s,tianjia_num); p1=head; if(he

30、ad=NULL)head=p0; p0-next=NULL;elsewhile(strcmp(tianjia_num,p1-book_num)!=0&(p1-next!=NULL)p2=p1; p1=p1-next; if(strcmp(tianjia_num,p1-book_num)=0) if(head=p1)head=p0; else p2-next=p0;p0-next=p1; else if(strcmp(tianjia_num,1111)=0)p1-next=p0; p0-next=NULL; yudingbook+;printf(添加成功!请按回车键继续.);getchar();

31、getchar();system(cls);return(head); void main()struct book *head;int xuanxiang_num;doprintf(*班级B941103学号B94110329姓名:于信洋*n);printf( 教材预订信息管理程序 n);printf(=n);printf( 1-建立预订教材信息n);printf( 2-修改预订教材信息n);printf( 3-删除预定教材信息n);printf( 4-查询预定教材信息n);printf( 5-排列预定教材信息n);printf( 6-添加预定教材信息n);printf( 7-显示预订教材信息

32、n);printf( 8-载入预订教材信息n);printf( 9-储存预订教材信息n);printf( 0-退出教材管理程序n);printf(=n);scanf(%d,&xuanxiang_num);switch(xuanxiang_num)case 1:head=creat();print(head);break;case 2:head=xiugai(head);break;case 3:head=del(head);print(head);break;case 4:chaxun(head);break;case 5:head=pailei(head);print(head);break;case 6:head=add(head);break;case 7:print(head);break;case 8:head=zairu();print(head);break;case 9:chucun(head);break;while(xuanxiang_num!=0);完成日期:2010年7月15日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号