收藏 分享(赏)

c语言程序设计82976.doc

上传人:dzzj200808 文档编号:2265046 上传时间:2018-09-08 格式:DOC 页数:9 大小:99KB
下载 相关 举报
c语言程序设计82976.doc_第1页
第1页 / 共9页
c语言程序设计82976.doc_第2页
第2页 / 共9页
c语言程序设计82976.doc_第3页
第3页 / 共9页
c语言程序设计82976.doc_第4页
第4页 / 共9页
c语言程序设计82976.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、河南理工大学计算机科学与技术学院课程设计报告2010 2011学年第 二 学期课程名称 C语言课程设计 设计题目 图书管理系统 学生姓名 李昉 学 号 31009050302 专业班级 网信 10-3 指导教师 张黎娜 20010 年 7 月 1 日河南理工大学 C语言程序设计报告目录1. 设计任务书21.1 题目与要求21.2 本程序涉及的知识点2 2.功能设计22.1 算法设计22.2 部分模块流程图23. 程序代码设计44. C 程序设计总结65.感想6参考文献6河南理工大学 C语言程序设计报告1、 设计任务书1.1、 题目与要求本人计划编一个图书管理系统,主要是对图书的信息输入、查询、

2、删除。1.2、 本程序涉及的知识点变量的定义、输入和输出函数、产生随机数函数、if 语句、goto 语句、转意字符的使用等等。2、 功能设计2.1、算法设计将题目分成若干模块或部分、各模块或部分的算法设计1Enter 函数模块需要实现的功能要求:利用 switch语句设计如图 1所示:0选择了图书菜单选项1选择了会员菜单选项2选择了帮助菜单选项2选择 0 之后,再嵌套使用 switch 语句,实现如图 2 所示的功能:0 调用 BookAdd 函数1 调用 Bookconsult 函数2 调用 BookDel 函数3 调用 BookBorrow 函数4 调用 BookReturn 函数5 退出

3、选择 1 之后嵌套使用 switch 语句,如图 3 所示功能:0 调用 MemberAdd 函数1 调用 MemberConsult 函数2 调用 MemberDel 函数3 调用 MemberBook 函数选择 2 之后嵌套使用 switch 语句,如图 4 所示功能:0 调用 Help 函数1 调用 Ver 函数3根据功能编写相应的代码1) 从键盘敲入“0”之后,再次击键,利用 Switch 语句对各种不同的结果做出该调用哪一种函数的反应。2) 从键盘敲入“1”之后,再次击键,利用 Switch 语句对各种不同的结果做出该调用哪一种函数的反应。3) 从键盘敲入“2”之后,再次击键,利用

4、Switch 语句对各种不同的结果做出该调用哪一种函数的反应。河南理工大学 C语言程序设计报告版本信息帮助查询会员借书信息删除会员查询会员增加会员还书借书删除图书资料图书查询添加图书菜单选项的具体功能菜单选项的控制自定义清屏画边框显示下拉菜单具体操作过程正常菜单选中菜单显示主菜单定义菜单初始化界面主模块图书管理系统模块图 河南理工大学 C语言程序设计报告22 部分模块流程图调用BA函数调用BC函数调用BD函数调用BB函数调用BR函数调用MA函数调用MC函数调用MD函数调用MB函数调用帮助函数调用版本信息函数BreakBreakSwitch(n)退出函数Switch(n)Switch(m)Swi

5、tch(n)开始Break河南理工大学 C语言程序设计报告以写方式打开文件 以追加方式打开文件调用 clrscr 函数 调用 clrscr 函数输出“放入新书号” getsgotoxy输出“放入新书号”Fclose关闭文件块写 fwrite置变量为链表的尾末将书表示成存在gets Strcpy 调用gotoxy scanf输出“放入价格“开始读方式打开“Book、txt ”文件NnnooooooooooooooY河南理工大学 C语言程序设计报告3 程序代码设计Enter模块1) 函数原型:Vold Enter(int m,int n)功能用:利用 switch语句的嵌套确定菜单选项的具体功能2

6、) 变量及类型:int m,n:整型形参变量接收 main()传过来的菜单选项命令。3) 说明:因为在本函数中用到 switch的嵌套,因此要注意在每个人的 case之后应当有 break语句,而在小范围的 switch语句中break语句也不可行。void Enter(int m,int n)switch(m)case 0:switch(n) /*选择了图书菜单选项*/case 0:BookAdd();break;/*添加图书*/case 1:BookConsult();break;/*图书查询*/case 2:BookDel();break;/*删除一本图书资料*/case 3:BookB

7、orrow();break;/*借书*/case 4:BookReturn();break;/*还书*/case 5:exit(0);break; break;/*退出系统 */case 1: switch(n) /*选择了会员菜单选项*/case 0: MemberAdd();break;/*添加会员*/case 1: MemberConsult();break;/*会员查询*/case 2:MemberDel();break;/*删除一个会员资料*/case 3:MemberBook();/*查询某个会员所借图书情况*/break;case 2:switch(n) /*选择了帮助菜单选项*

8、/case 0:Help();break;case 1:Ver();/*结束外 switch*/MumberAdd 函数模块:1) 函数原型:Void MemberAdd( )2) 功能:利用文件指针以及会员结构体变量对会员进行注册。3) 变量及类型:FILE *fp :文件指针,用它以各种形式打开关闭相应文件。Member consultmember: 会员结构体变量用来放如新会员的所有信河南理工大学 C语言程序设计报告息。4) 说明:因为在“member.txt”文件中有两中可能,一种是无会员,则需新建,即以写的方式打开打开文件,另一种是有会员,则仅需添加,即以追加的方式打开文件,因此在函

9、数中需用 if-else 语句。RedText 函数模块1) 函数原型:Void RedText(int x,int y,char *z)2) 功能:用 textbackground,cprintf 等函数以及 for 循 环语句来来完成正常的显示菜单的任务。3) 变量及类型:int x :整形形参变量,光标坐标横坐标,用来确定在屏幕上的横坐标。int y:整型形参变量,光标坐标纵坐标,用来确定在屏幕上的纵坐标。Char *z :字符型指针形参变量,用来存放 Z 数组的地址。4) 说明:在本函数中由于可能有多种可能,即若选择首项,第一个字母应显示红色;若选择其他,则为黑色,且输出菜单名,因此在

10、 for 循环内部需有一个 if-else 语句。BookAdd函数模块:1) 函数原型: Void Book( );2) 功能:利用文件指针及书的结构体变量添加图书。3) 变量及类型:FILE *fp: 文件指针,用它的各种方式打开文件。Book Consultbook : 图书结构体变量,用来存放新图书的相关资料。4) 说明:因为在”book.txt”文件中有两种可能,一种是文件为空,即无书,此时需以写的方式打开文件;另一种是有书,则仅需添加即可,即以追加方式打开文件,因此在函数中需用 if-else语句。void BookAdd()FILE *fp;Book consultbook;fp

11、=fopen(“book.txt“,“rb“);/*读方式打开文件*/if(fp=NULL)fp=fopen(“book.txt“,“wb“); /*写方式打开文件*/else/*如果有书就添加*/fclose(fp);fp=fopen(“book.txt“,“ab“);/*追加方式打开文件 */ClrScr();/*清屏*/printf(“Intput new book num: “);/*逐个输入新图书的资料 */gets(consultbook.num);gotoxy(2,4);河南理工大学 C语言程序设计报告printf(“Input new book name: “);gets(co

12、nsultbook.name);gotoxy(2,5);printf(“Please input new books price: “);scanf(“%d%*c“,strcpy(consultbook.person,“);consultbook.yes=1;/*表示书存在未借出 */consultbook.next=NULL;fwrite(/*块写*/fclose(fp); /*关闭文件 */ClrScr();4 C程序设计总结41 编程时遇到的困难,错误:1) 在编写 main主函数时,大括号不成对,程序不能运行。解决方法:在适当的地方添加大括号。2) 在 switch语句中,忘记添加 b

13、reak语句,无限循环。 解决方法:在每一个 case之后添加 break语句。 3) 在链表中为将链表表尾置空,程序不能正常;运行。解决方法:将链表的尾指针置为空,使程序能正常运行。42 感想:经过为期一周紧张的 C语言程序设计,我对 C语言的知识有了进一步的了解,熟悉了流程图的画法,链表的使用,下拉菜单的设计及使用,增加了我对 C语言的兴趣,在一定时间限制之内完成的设计会有许多的错误,特别是自己的粗心所带来的不必要的麻烦,但是在设计过程中明确的分工及大家的努力,都能将程序调试成功,这又使我意识到在一个团队中团结和协作的重要性。参考文献1 贾宗璞、许合利,C 语言程序设计,江苏:中国矿业大学出版社,2007.62 谭浩强,C 程序设计(第二版),北京:清华大学出版社,2001.13 http:/

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报