C语言程序设计报告-图书管理系统.doc

上传人:龙*** 文档编号:91623 上传时间:2018-07-05 格式:DOC 页数:34 大小:141.09KB
下载 相关 举报
C语言程序设计报告-图书管理系统.doc_第1页
第1页 / 共34页
C语言程序设计报告-图书管理系统.doc_第2页
第2页 / 共34页
C语言程序设计报告-图书管理系统.doc_第3页
第3页 / 共34页
C语言程序设计报告-图书管理系统.doc_第4页
第4页 / 共34页
C语言程序设计报告-图书管理系统.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、 南京航空航天大学金城学院 C 语言程序设计课程设计报告 图书信息管理系统 学号 : 姓名: 学号: 姓名: 日期: 目 录 一、需求分析: 3 二、程序的主要功能: .3 三、程序运行平台: .3 四、系统总框架图: .6 五、程序类的说明: .6 六、模块分析: .8 七、比较有特色的函数: .9 八、存在的不足与编程体会 10 九、程序源代码: .10 一、需求分析 设计与分析一个图书信息管理系统,能够对图书的根据书名、价格或出版社进行统计、处理和更新,并且可以方便学校老师和领导对图书进行整体分析。 二、程序的主要功能 图书 信息界面美观、简洁,采用菜单式显示功能选择; 能够从磁盘文件输

2、入和输出数据; 能够对图书信息进行检索操作; 具有增、删、改信息的功能; 使用结构体 链表 数据类型对图书信息进行描述和存储。 三、程序运行平台 VC6.0 运行程序“ library.exe”,进入登录界面如下 * * 欢迎光临 * * 图书信息管理系统 * =1-用户登录 = =0-退出系统 = 请输入您的选择 : 一、 输入 1 进行登录 - *图书信息管理系统 * - * * | 1-添加图书 2-删除图书 | | 3-图书列表 4-图书排序 | | 5-查询图书 6-修改图书 | | 7-录入数据 0-退出系统 | * * 请输入所选择的序号 : 选择 1 进入添加图书模块: 请输入

3、 您要添加的图书的编号: 选择 2 进入删除图书信息模块: 请输入要删除的图书编号 : 选择 3 进入显示图书列表模块 图书信息列表如下 = 编号 图书名 作者名 出版社 类别 出版时间 价格 2 2 2 2 2 2 2.00 3 3 3 3 3 3 3.00 33 15 5 2 5 52 5.00 5 5 5 5 5 5 5.00 =: 选择 4.进入修改个人信息模块 1-按姓名修改 请输入您的数字选择 : 选择 5.进入图书排序模块 = * 1-按图书编号排序 2-按出版时间排序 * * 3-按图 书价格排序 4-按图书名排序 * * 5-按作者名排序 0-取消排序操作 * = 请输入您选

4、择的编号 :选择 6.进入修改图书模块 *请输入要修改的图书编号 : 选择 7.进入录入信息模块 注意 :输入图书编码为 0 时结束 ! 请输入图书编号 : 选择 0.退出系统 四、 系统总框架图 五、程序类的说明 struct book int num; char bname50; char wname20; char press50; char sort50; int time; float price; struct book *next;/定义文件头指针 ; 主函数 写文件 用户操作 读文件 添加信息 删除信息 查询信息 修改信息 六、模块分析 1. 添加模块 系统将提示用户输入新添加

5、的图书的信息,插 入在链表中 2. 删除模块 首先由用户输入图书的编号,然后由删除模块判断 p-num 和用户输入的编号是否相同,相同则从链表中删除。 3. 图书列表模块 传递一个头指针给 print_book 函数,若头指针不为空,则将整个链表的数据输出。 4. 图书排序模块 首先由用户判断由什么关键词进行排序,然后运行相应的运行模块。 5. 查询图书模块 系统将会把所有航班的信息显示出来。由用户输入图书的编号,判断是 p-num 和用户输入的编号是否相同,相同则输出。 6. 修改图书模块 按照编号检索,然后修改相应的内容。 7. 录入模块 用 while 循环批量录入图书信息。 0. 退出

6、系统 七、比较有特色的函数 void num_paixu(struct book *head) struct book *a1000,*p,*p1,*temp; int i,k,index,n=0; char b; p1=head; for(p=head;p;p=p-next) n+; for(i=0;inext; for(k=0;knumnum) index=i; temp=aindex; aindex=ak; ak=temp; printf(“排序成功 !n“); printf(“是否显示排序结果 ?(y/n)n“); scanf(“%s“, getchar(); switch(b) ca

7、se n: break; case y: printf(“ =n“); printf(“ * 编号 图书名 作者名 出版社 类别 出版时间 价格 *n“); for(i=0;inum,ai-bname,ai-wname,ai-press,ai-sort,ai-time,ai-price); printf(“ =n“); break; default: printf(“您的输入有误 !n“); break; 八、存在的不足与对策、编程体会。 排序的方式过于复杂,有待改进。 九、参考文献 百度文库 十、程序源代码 #include #include #include struct book int

8、 num; char bname50; char wname20; char press50; char sort50; int time; float price; struct book *next;/定义文件头指针 ; struct book *creatbook(); /创建链表 struct book *addbook(struct book *head); /添加图书 int yanzheng(struct book *head,int m); /验证新添加的图书编码是否已存在 void deletebook(struct book *head); /删除图书 void fprin

9、t(struct book *head); /将链表写入文件 struct book *load(); /从文件中读取信息并建成链表 void print_book(struct book *head); /将链表信息输出 void chaxun(struct book *head); /查询图书信息 void num_chaxun(struct book *head); /按图书编号查询图书 void wname_chaxun(struct book *head); /按作者名查询图书 void sort_chaxun(struct book *head); /按类别查询图书 void ti

10、me_chaxun(struct book *head); /按出版时间查询图书 void bname_chaxun(struct book *head); /按图书名查询图书 void xiugai(struct book *head); /修改图书信息 void paixu(struct book *head); /对图书进行排序 void num_paixu(struct book *head); /按图书编号排序 void time_paixu(struct book *head); /按图书出版时间排序 void price_paixu(struct book *head); /按图

11、书价格排序 void bname_paixu(struct book *head); /按图书名排序 void wname_paixu(struct book *head); /按作者名排序 int main() int choice,n,x,y=1,c,c1=1234; char a,d,b10,b110=“yjk“; struct book *head=NULL; while(y) system(“cls“); printf(“nnnnnnn“); printf(“ * 欢迎光临 *nn“); printf(“ * 图书信息管理系统 *nnn“); printf(“nn“); printf

12、(“ =1-用户登录 =n“); printf(“ =0-退出系统 =n“); printf(“ 请输入您的选择 :“); scanf(“%d“, printf(“n“); getchar(); switch(n) case 0: y=0; break; case 1: printf(“ 请输入您的用户名 :“); gets(b); printf(“n“); printf(“ 请输入您的密码 :“); scanf(“%d“, printf(“n“); if(strcmp(b,b1)!=0|c!=c1) printf(“ 验证失 败 ,请重新输入 !n“); scanf(“%c“, getcha

13、r(); system(“cls“); else printf(“ 验证通过 !请按 Enter 键进入 !n“); scanf(“%c“, getchar(); x=1; while(x) system(“cls“); printf(“ -n“); printf(“ *图书信息管理系统 *n“); printf(“ -nn“); printf(“ *nn“); printf(“ *nn“); printf(“ | 1-添加图书 2-删除图书 |nn“); printf(“ | 3-图书列表 4-图书排序 |nn“); printf(“ | 5-查询图书 6-修改图书 |nn“); print

14、f(“ | 7-录入数据 0-退出系统 |nn“); printf(“ *nn“); printf(“ *nn“); printf(“请输入所选择的序号 :“); scanf(“%d“, getchar(); system(“cls“); switch(choice) case 0: x=0;break; case 1: head=load(); if(head=NULL) printf(“文件为空 ,请先录入数据 !n“); getchar(); break; else head=addbook(head); printf(“添加成功 !n“); printf(“是否将新信息保存到文件 ?(y/n)n“); scanf(“%c“, getchar(); switch(a) case n: break; case y: fprint(head); printf(“保存成功 !n“); getchar(); break; break; case 2: head=load(); if(head=NULL) printf(“文件为空 ,请先录入数据 !n“); getchar(); break; else deletebook(head); getchar(); break;

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。