1、一、需求分析 设计与分析一个图书信息管理系统,能够对图书的根据书名、价格或出版社进行统计、处理和更新,并且可以方便学校老师和领导对图书进行整体分析。二、程序的主要功能 图书信息界面美观、简洁,采用菜单式显示功能选择; 能够从磁盘文件输入和输出数据; 能够对图书信息进行检索操作; 具有增、删、改信息的功能; 使用结构体链表数据类型对图书信息进行描述和存储。三、程序运行平台VC6.0运行程序“library.exe”,进入登录界面如下 * * 欢迎光临 * * 图书信息管理系统 * =1-用户登录= =0-退出系统= 请输入您的选择:1、输入1进行登录 - *图书信息管理系统* * | 1-添加图
2、书 2-删除图书 | | 3-图书列表 4-图书排序 | | 5-查询图书 6-修改图书 | | 7-录入数据 0-退出系统 |请输入所选择的序号:选择1进入添加图书模块: 请输入您要添加的图书的编号:选择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.进入图书排序模块 = *
3、 1-按图书编号排序 2-按出版时间排序 * * 3-按图书价格排序 4-按图书名排序 * * 5-按作者名排序 0-取消排序操作 *请输入您选择的编号:选择6.进入修改图书模块 *请输入要修改的图书编号:选择7.进入录入信息模块 注意:输入图书编码为0时结束! 请输入图书编号: 选择0.退出系统四、 系统总框架图五、程序类的说明struct book int num; char bname50; char wname20; char press50; char sort50; int time; float price; struct book *next;/定义文件头指针;六、模块分析1.
4、 添加模块系统将提示用户输入新添加的图书的信息,插入在链表中2. 删除模块首先由用户输入图书的编号,然后由删除模块判断p-num和用户输入的编号是否相同,相同则从链表中删除。3. 图书列表模块传递一个头指针给print_book函数,若头指针不为空,则将整个链表的数据输出。4. 图书排序模块首先由用户判断由什么关键词进行排序,然后运行相应的运行模块。5. 查询图书模块系统将会把所有航班的信息显示出来。由用户输入图书的编号,判断是p-num和用户输入的编号是否相同,相同则输出。6. 修改图书模块 按照编号检索,然后修改相应的内容。7. 录入模块 用while循环批量录入图书信息。0. 退出系统七
5、、比较有特色的函数 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);是否显示排序结果?(y/n)n scanf(%s,&b); getchar(); switch(b) case n: break;y =n *
6、 编号 图书名 作者名 出版社 类别 出版时间 价格 *n printf( * %d %s %s %s %s %d %.2f *n,ai-num,ai-bname,ai-wname,ai-press,ai-sort,ai-time,ai-price); printf( default:您的输入有误!八、存在的不足与对策、编程体会。排序的方式过于复杂,有待改进。九、参考文献XX文库十、程序源代码#includestdlib.hstring.hstruct book *creatbook(); /创建链表struct book *addbook(struct book *head); /添加图书i
7、nt yanzheng(struct book *head,int m); /验证新添加的图书编码是否已存在void deletebook(struct book *head); /删除图书void fprint(struct book *head); /将链表写入文件struct book *load(); /从文件中读取信息并建成链表void print_book(struct book *head); /将链表信息输出void chaxun(struct book *head); /查询图书信息void num_chaxun(struct book *head); /按图书编号查询图书v
8、oid wname_chaxun(struct book *head); /按作者名查询图书void sort_chaxun(struct book *head); /按类别查询图书void time_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); /按
9、图书编号排序void time_paixu(struct book *head); /按图书出版时间排序void price_paixu(struct book *head); /按图书价格排序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(clsnnnnnnn * 欢迎光临 *nn * 图书信息管理系统 *nnnnn =1-用户登录=n =0-退出系统=n scanf(%dn); getchar(); switch(n) case 0: y=0; break; case 1:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1