版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学北方科技学院课程设计任务书课程设计题目链表实现图书信息操作教研室专业机械设计及其制动化〔数控方向〕班级B04211学号B04211224姓名王丹鹏课程设计时间:2021年6月3日至2021年6月10日课程设计的内容及要求:一、课程设计内容设计一个通过链表实现对图书信息进行管理的程序,要求完成以下功能:建立一个链表,每个结点应包含以下信息:图书号、书名及出版社、价格、ISBN、作者、册数;将输入信息按图书号进行从小到大的排序;实现查询功能——输入书名,查询输出相关信息;实现插入功能——输入图书信息并插入有序链表中;实现删除功能——输入书名或书号,可将其信息从链表中删除;统计链表中图书总价值,并在屏幕上输出;统计该链表中价值超过某一数目的图书总数,并在屏幕上输出。8.有界面友好易于使用的菜单。二、课程设计要求1.具有简单的用户界面;2.学生独立完成系统的设计、编码和调试工作并通过指导老师的检查;3.用C语言实现课题任务内容;4.按课程设计标准撰写课程设计报告。参考资料:张长海.C语言程序设计[M].北京:高等教育出版社,2006冼镜光.C语言名题精选百那么技巧篇[M].北京:机械工业出版社,2005指导教师2021年6月10日一概要设计1,设计表示:(1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的密码设置、录入、存储、查询、添加、删除、修改、排序等功能。(2)voidMain_menu();这是一个指针函数,它主要实现了链表的创立,并且在创立过程中从文件读取信息到链表中,以用于后面其他函数的操作。(3)voidmainFind()、voidDelete()、voidchange()、voidwrite()、structnode*read()、voidSorting_order()、#defineS123、#defineA123456这六个函数时整个图书管理系统的全部菜单函数。voidDelete()、voidchange()、voidwrite()、structnode*read()、在此可以选择删除、修改、保存,读取图书,排序等操作。voidmainFind();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。#defineS123、#defineA123456分别是学生登陆和管理员登陆的密码。(4)voidPrint();这个函数为图书的遍历,浏览所有的图书。(5)voidFind_booknumber()、voidFind_bookname()、voidFind_author()、voidFind_press();这三个函数为查询图书信息函数,voidFind_booknumber();按书号查询、;voidFind_bookname()按书名查询、voidFind_author();按作者查询、voidFind_press();按出版社查找。(6)voidSorting_booknumber(),按书号排序。voidSorting_price(),按价格排序。voidSorting_publication_date(),按出版日期排序。voidSorting_number(),按馆藏数量排序。2.实现注释:这个实用的小型图书管理程序程序以链表操作完成,并实现文件信息的录入和保存等功能。实现了图书管理的根本功能,包括了图书的录入、存储、查询、添加、删除、修改、排序等功能。查询时可按书名、编号、作者等方式查询,找到后输出这本书的所有信息。在添加图书信息后,还增加了链表排序操作,并输出整个链表,方便用户检查信息。系统中主要的数据结构就是图书的信息,包含编号、书名、作者、出版社、出版时间、价格、馆藏数量等,在处理过程中各项可以作为一本图书的不同属性来进行处理。3详细设计1-1定义变量structnode{ intbook_number;//书号 charbook_name[25];//书名 charpress[50];//出版社 charauthor[20];//作者 intprice;//价格 charpublication_date[20];//出版日期 intnumber;//馆藏数量 structnode*next;};structnode*head=NULL;//在此定义一个全局变量head,其它函数就不需要再返回head;但这样做,程序中的函数的可用性就不是太高intTotal=0;//记录图书总数1-2函数的定义voidCreat();//录入图书信息structnode*Insert(structnode*p,structnode*head0);//插入图书信息voidDelete();//删除图书信息voidchange();//修改图书信息voidwrite();//保存图书信息structnode*read();//读取图书信息voidamend(structnode*p);//辅助修改选项voidPrint();//遍历图书信息voidPrint_by_one(structnode*p);//单项遍历voidMain_menu();//登陆界面voidAdministrator_menu0();//第一次进入系统的管理员菜单voidAdministrator_menu1();//第n次进入系统的管理员菜单voidStudent_menu();//学生菜单voidmainFind();//查找菜单voidFind();//精确查找图书voidFind0();//模糊查找图书intstr(chara[],charb[]);//模糊查找函数voidFind_booknumber();//按书号查找voidFind_booknumber0();//按书号模糊查找voidFind_bookname();//按书名查找voidFind_bookname0();//按书名模糊查找voidFind_author();//按作者查找voidFind_author0();//按作者模糊查找voidFind_press();//按出版社查找voidFind_press0();//按出版社模糊查找char*transform(charstr[],intn);//将整数转化为字符存入字符数组返回voidSorting_order();//排序voidSorting_help(structnode*p1,structnode*p2);//辅助排序voidSorting_booknumber();//按书号排序voidSorting_price();//按价格排序voidSorting_publication_date();//按出版日期排序voidSorting_number();//按馆藏数量排序#defineS123//学生密码#defineA123456//管理员密码intT=0;//选择菜单1-3信息的录入voidCreat()//录入图书信息{structnode*tail,*p; intbook_number;//书号 charchoice; printf("该操作将去除书库中所有书目的信息!\n"); printf("\n\t\t\t你想继续操作吗?(Y/N)\n"); while(1) { printf("请选择:"); if(scanf("%c",&choice)) { getchar(); if(choice=='Y'||choice=='y'){ system("cls"); break; } elseif(choice=='N'||choice=='n') { system("cls"); return; } else{ printf("请按要求输入!\n"); continue; } } else { printf("输入的不是字母,请按照要求重新输入!\n"); continue; } } printf("\t\t\t提示:请输入你要输入的数据,当书号为数字'0'时结束!\n\n"); printf("请输入书号:"); scanf("%d",&book_number); getchar();//吸收回车符,清空缓冲区,这样才能正常执行清屏操作 while(book_number!=0) { p=(structnode*)malloc(sizeof(structnode));printf("请输入书名:"); scanf("%s",p->book_name);getchar(); printf("请输入作者:"); scanf("%s",p->author);getchar(); printf("请输入出版社:"); scanf("%s",p->press);getchar(); printf("请输入价格:"); scanf("%d",&p->price);getchar(); printf("请输入出版时间:"); scanf("%s",p->publication_date);getchar(); printf("请输入馆藏数量:"); scanf("%d",&p->number);getchar(); putchar('\n'); p->book_number=book_number; p->next=NULL; if(head==NULL) {head=tail=p; } else { tail->next=p; tail=p; } Total++;printf("请输入书号:"); scanf("%d",&book_number); } printf("\t\t\t\t图书信息录入成功!\n\n");}1-4按编号查询voidFind_booknumber()//按书号查找{ intbook_number; structnode*p1,*p2;printf("请输入你要查找的图书书号:"); scanf("%d",&book_number); printf("\t\t\n你要找的书为:\n");printf("\t\t---------------------------------------------------------------\n");printf("\t\t|书号|书名|作者|出版社|价格|出版时间|馆藏数量|\n");printf("\t\t---------------------------------------------------------------\n"); if(head->book_number==book_number) { Print_by_one(head); }p1=head; p2=head->next; while(p2!=NULL) {if(p2->book_number==book_number) { Print_by_one(p2); p1=p2; p2=p2->next; } else { p1=p2; p2=p2->next; } }}1-5按出版时间排序voidSorting_publication_date()//按出版日期排序{ structnode*p1,*p2,*p3,*p4,*p5,*p6,*p7; intx=1; for(p1=head;p1->next!=NULL;p4=p1,p1=p1->next) { p3=p1; for(p2=p1->next,p5=p7=p2;p2!=NULL;p7=p2,p2=p2->next) { if(strcmp(p3->publication_date,p2->publication_date)>0) { p3=p2; p5=p7; } } if(p3!=p1) { if(x&&p1==head) { p6=p1->next; p1->next=p3->next; p3->next=p6; p5->next=p1; head=p3; p1=p3; x=0; } else { p6=p1->next; p1->next=p3->next; p3->next=p6; p4->next=p3; p5->next=p1; p1=p3; }} }}3调试分析问题1:对于函数是否返回函数值,并怎样返回指针?解答:对于void开头的函数,没有返回值,在程序中可以直接调用。有指针返回值的函数,直接返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机器拉带产品供应链分析
- 坐浴盆用水龙头产业链招商引资的调研报告
- 动物绝育服务行业相关项目经营管理报告
- 在自酿酒的啤酒馆内供应饮料行业市场调研分析报告
- 石油化工设备市场分析及投资价值研究报告
- 船舶护舷垫细分市场深度研究报告
- 不动产代理行业营销策略方案
- 微生物肥料行业相关项目经营管理报告
- 冷链配送行业营销策略方案
- 快餐馆行业市场调研分析报告
- 人音版小学音乐五年级上册教案全册
- 企业工商过户合同模板
- 雨污水管合同模板
- 《篮球:行进间单手肩上投篮》教案(四篇)
- 2024-2025学年部编版初一上学期期中历史试卷与参考答案
- 职业技能大赛-鸿蒙移动应用开发赛初赛理论知识考试及答案
- 2024山东高速集团限公司招聘367人高频难、易错点500题模拟试题附带答案详解
- 2024-2025学年六年级科学上册第二单元《地球的运动》测试卷(教科版)
- 【人教版】《劳动教育》二下 劳动项目一 洗头 课件
- 第三单元长方形和正方形(单元测试)-2024-2025学年三年级上册数学苏教版
- 灯展合同范本
评论
0/150
提交评论