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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(图书管理系统C语言实训报告.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

图书管理系统C语言实训报告.docx

1、图书管理系统 C语言实训报告 基础编程能力实训报告题 目: 图书管理系统 专业年级: 计算机科学与技术2013级 姓 名: 学 号: 2014年06月20日1 实训题目与要求1.1 问题描述 此系统可以完成对书籍信息的输入、删除、修改、排序等功能,提高图书管理效率,对图书进行合理规划与安排。1.2 功能要求 程序输出主菜单(如下),提示用户选择操作 欢迎使用图书管理系统* * 主菜单 * * 1 输入 2 查询 3 删除 4 排序 5 显示 6 修改 7 录入 8 退出请选择1/2/3/4/5/6/7/8: 表1 主菜单在主菜单中选择1,要求输入图书信息,包括书本序号,书本名字,作者名字,书的

2、价格;在主菜单中选择2,可查询已输入的图书信息;在主菜单中选择3,可通过查找书本的序号,来选择所要删除的图书信息;在主菜单中选择4,对已输入的图书信息,按照图书序号进行排序;在主菜单中选择5,显示图书信息;在主菜单中选择6,可通过查找书本的序号,来选择所要修改的图书,并对图书进行修改;在主菜单中选择7,建立一个名为asd.txt的文件,并将图书信息录入;在主菜单中选择8,退出图书管理系统。2 图书管理系统的设计与功能实现图书管理系统2.1 总体设计 图1 系统模块图输入模块完成用户从界面输入图书的信息的功能;查询书籍信息模块完成用户从界面输入查询条件,在系统查询符合条件的图书信息,并在界面上显

3、示的功能;删除书本信息模块完成用户从界面输入需要的图书序号,并将其从系统中删除的功能;书本信息排序模块完成对书本信息的排序的功能;显示书籍信息模块完成显示书本信息的功能;修改书籍信息模块完成用户从界面输入,在系统中查询定位,并将修改过的信息数据保存入系统的功能;录入图书信息模块完成用户从界面输入需要导入的文件路径名称,将信息输入系统的功能;2.2 数据结构 在程序中,定义了如下结构体:typedef struct int num; char Bname50; char Wname50; float score;Book;其中Book.num是存储书本序号信息,Book.Bname存储书本名字信

4、息,Book.Wname是存储书本作者名信息,Book.score存储书本价格信息。 2.3 算法设计图2 主函数流程图主函数的作用主要是调用main函数显示主界面,使用printf函数将菜单选项输出在屏幕上,供用户读取选择。通过读取用户的输入,调用switch函数对用户的输入进行处理,使用while函数实现用户的选择性的重复操作。图3 输入函数流程图输入函数的主要作用是完成书籍信息的输入功能,用户先输入书本的实际数量,再输入书本序号、书名、作者名和书本价格并保存到数组中。图4 查询函数流程图查询函数的作用主要是为完成查找某书籍信息的功能,用户在使用时先输入要查找的书本序号,然后在保存有书籍信

5、息的数组中查找该项,若找到,则显示该项;否则,显示无此书。图5 删除函数流程图删除函数的主要作用是完成删除某本书籍信息的功能,用户先输入一个要删除的书本序号,然后在保存有书籍信息的数组中查找该项,若找到,则删除该项;否则,显示找不到要删除的书本信息。2.4 程序代码设计主函数需要读取用户所输入的选项来调用其他功能的函数,从而实现程序的各个功能;void main() 使用while来循环j值,供用户输入选项,程序判断后进入对应模块,并调用相应的功能函数进行运算,并且使用break在调用完函数后退出switch语句。void input(Book*a,int*n)输入函数,定义结构体类型指针p,

6、printf语句提示用户输入信息,添加for循环,将用户输入的信息保存入数组中。void find(Book*a,int n)查找函数定义结构体指针p,printf语句提示用户输入信息,输入num后,for循环嵌套if语句按照书本序号查找对应的书本信息,break跳出循环。void del(Book*a,int*n) 删除函数定义结构体指针p,printf语句提示用户输入信息,输入要删除的书本序号,对应结构体中已存有的num,for循环中嵌套if语句查找并删除对应的书本信息,break跳出循环。void sort(Book*a,int n)排序函数,采用冒泡法按照书本序号对书籍进行排序。voi

7、d display(Book*a,int n) 输出函数定义结构体p,for循环输出书本信息。void wenjian(Book*a,int n)定义指针变量fp,判断所指向的文件是否存在,定义结构体指针p,使用fprintf函数将数据输入文件中。void xiugai(Book*a,int n) 修改函数定义结构体指针p,printf语句提示用户输入信息,输入要修改的书本序号,对应结构体中已存有的num,for循环中嵌套if语句查找并修改对应的书本信息。void menu()几个printf语句在界面显示出供用户选择的操作框。 2.5 测试与调试测试数据类型测试数据预期结果实际结果合法数据在

8、主菜单中输入1进入输入菜单进入输入菜单在主菜单中输入2进入查询菜单进入查询菜单非法数据在主菜单中输入9没有该项内容没有该项内容在主菜单中输入a没有该项内容没有该项内容3实训总结学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。实训期间,学习到很多东西,不仅使我在理论上c语言有了全新的认识,在实践能力上也得到了提高,将课本上的死知识应用于实践中,程序编写是以后工作和学习的基础,第一次尝试编写较复杂的程序,发现以前一直忙于理

9、论知识的学习,这次实训是抽象的理论知识很好的应用,编写过程中,在不断地错误改正中,发现了自己很多知识的理解及联系性的不足,因此,在以后的学习中,我会更加的有的放矢,弥补自己知识面的不足,使自己能更好的牢固掌握本专业知识,完善自我。附录#includestdio.h#includestdlib.h#includeconio.h#define SIZE 80typedef struct int num; char Bname50; char Wname50; float score;Book;void input(Book*a,int*n) Book*p; int i=1; system(cls)

10、; printf(n请输入书的序号(1-80); scanf(%d,n); printf(n请输入书本信息(书本序号/书名/作者/单价):); for(p=a;pnum,p-Bname,p-Wname,&p-score); printf(按回车键返回:); getch();void find(Book*a,int n) int k=0; int num; Book*p; system(cls); printf(n请输入要查询的书的序号); scanf(%d,&num); for(p=a;pnum) k=1; printf(已找到,是:%dt%st%st%.lfn,p-num,p-Bname,p

11、-Wname,p-score); break; if(!k) printf(无此书!n); printf(按回车键返回:); getch();void del(Book*a,int*n) int i,j,k=0; Book*p; int num; system(cls); printf(n请输入要删除的书的序号:); scanf(%d,&num); for(i=0,p=a;pnum) k=1; for(j=i;j*n-1;j+) *(p+j)=*(p+j+1); (*n)-; break; if(!k) printf(找不到要删除的书本信息!n); printf(按回车键返回:); getch

12、(); void sort(Book*a,int n) int i,j; Book t; for(i=0;in-1;i+) for(j=0;j(aj+1.num) t=aj;aj=aj+1;aj+1=t; printf(n输出排序结果:n); for(i=0;in;i+) printf(%dt%st%st%.lfn,ai.num,ai.Bname,ai.Wname,ai.score);printf(n);printf(按回车键返回:);getch();void display(Book*a,int n) Book*p; for(p=a;pnum,p-Bname,p-Wname,p-score)

13、; printf(n); printf(按回车键返回:); getch();void wenjian(Book*a,int n) FILE *fp; Book*p; int i; system(cls); fp=fopen(asd.txt,w+); if(fp=NULL) printf(打开失败n); else for(i=0,p=a;inum,p-Bname,p-Wname,p-score); printf(写入成功n); printf(n); printf(按回车键返回:); getch();void xiugai(Book*a,int n) Book*p; int i,m; system

14、(cls); printf(请输入要修改的书号:); scanf(%d,&m); for(p=a;pnum) printf(请输入修改后的信息(书号/书名/作者/单价)n); scanf(%d%s%s%f,&p-num,&p-Bname,&p-Wname,&p-score); printf(n); printf(按回车键返回:); getch();void menu() system(cls); printf(nnnttt 欢迎使用图书管理系统nnn); printf(ttt*n); printf(ttt* 主菜单 *n); printf(ttt*nnn); printf(tt 1 输入 2

15、查询nn); printf(tt 3 删除 4 排序nn); printf(tt 5 显示 6 修改nn); printf(tt 7 录入 8 退出nn); printf(tt 请选择1/2/3/4/5/6/7/8:);void main() int j,num; Book bookSIZE; while(1) menu(); scanf(%d,&j); switch(j) case 1: input(book,&num);break; case 2: find(book,num);break; case 3: del(book,&num);break; case 4: sort(book,num);break; case 5: display(book,num);break; case 6: xiugai(book,num);break; case 7: wenjian(book,num);break; case 8: exit(0);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2