好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

六、模块分析

1. 添加模块

系统将提示用户输入新添加的图书的信息,插入在链表中 2. 删除模块

首先由用户输入图书的编号,然后由删除模块判断p->num和用户输入的编号是否相同,相同则从链表中删除。 3. 图书列表模块

传递一个头指针给print_book函数,若头指针不为空,则将整个链表的数据输出。 4. 图书排序模块

首先由用户判断由什么关键词进行排序,然后运行相应的运行模块。 5. 查询图书模块

系统将会把所有航班的信息显示出来。由用户输入图书的编号,判断是p->num和用户输入的编号是否相同,相同则输出。 6. 修改图书模块

按照编号检索,然后修改相应的内容。 7. 录入模块

用while循环批量录入图书信息。 0. 退出系统

七、比较有特色的函数

void num_paixu(struct book *head) { struct book *a[1000],*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=a[index]; a[index]=a[k]; a[k]=temp; }

printf(\排序成功!\\n\ printf(\是否显示排序结果?(y/n)\\n\ scanf(\ getchar(); switch(b){ case 'n': break; case 'y': printf(\

================================================================\\n\ printf(\ ** 编号 图书名 作者名 出版社 类别 出版时间**\\n\ for(i=0;i

** %d %s %s %s %s %d **\\n\ } printf(\

================================================================\\n\ break; default: printf(\您的输入有误!\\n\ break; } }

八、存在的不足与对策、编程体会。

排序的方式过于复杂,有待改进。

九、参考文献

百度文库

十、程序源代码

#include #include #include struct book{ int num; char bname[50]; char wname[20]; char press[50]; char sort[50];

价格 %.2f 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 fprint(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 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); //按图书编号排序 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,b[10],b1[10]=\ struct book *head=NULL; while(y){ system(\

printf(\ printf(\ ********** 欢迎光临 **********\\n\\n\ printf(\ ********************** 图书信息管理系统 ************************\\n\\n\\n\ printf(\ printf(\ ============1-用户登录===========\\n\ printf(\ ============0-退出系统===========\\n\ printf(\ 请输入您的选择:\ scanf(\ printf(\ getchar(); switch(n){

case 0: y=0; break; case 1: printf(\ 请输入您的用户名:\ gets(b); printf(\ printf(\ 请输入您的密码:\ scanf(\ printf(\ if(strcmp(b,b1)!=0||c!=c1){ printf(\ 验证失败,请重新输入!\\n\ scanf(\ getchar(); system(\ } else{ printf(\ 验证通过!请按Enter键进入!\\n\ scanf(\ getchar(); x=1; while(x){ system(\ printf(\ ------------------\\n\ printf(\ *图书信息管理系统*\\n\ printf(\ ------------------\\n\\n\ printf(\

**********************************************\\n\\n\ printf(\

**********************************************\\n\\n\

printf(\ || 1-添加图书 ||\\n\\n\

printf(\ || 3-图书列表 ||\\n\\n\

printf(\ || 5-查询图书 ||\\n\\n\

printf(\ || 7-录入数据 ||\\n\\n\

printf(\

**********************************************\\n\\n\ printf(\

**********************************************\\n\\n\ printf(\请输入所选择的序号:\

2-删除图书 4-图书排序 6-修改图书 0-退出系统

scanf(\ getchar(); system(\ 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(\ 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;

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

六、模块分析1.添加模块系统将提示用户输入新添加的图书的信息,插入在链表中2.删除模块首先由用户输入图书的编号,然后由删除模块判断p->num和用户输入的编号是否相同,相同则从链表中删除。3.图书列表模块传递一个头指针给print_book函数,若头指针不为空,则将整个链表的数据输出。4.图书排序模
推荐度:
点击下载文档文档为doc格式
00hv12fkzf4n7xz5eecp3x5if1klmb00aym
领取福利

微信扫码领取福利

微信扫码分享