c语言图书信息管理系统程序-创新互联
                                            
                                                1-1 
 定义变量 
 
 struct node{ 
 
 int book_number;// 
 书号 
 
 char book_name[25];// 
 书名 
 
 char press[50];// 
 出版社 
 
 char author[20];// 
 作者 
 
 int price;// 
 
 价格 
 
 char publication_date[20];// 
 出版日期 
 
 int number;// 
 馆藏数量 
 
 struct node * next; 
 
 }; 
 
 struct node * head = NULL;// 
 在此定义一个全局变量 
 head, 
 其它函数就不需要再返回 
 head; 
 但这样 
 
 做,程序中的函数的可用性就不是太高 
 int Total = 0; // 
 记录图书总数 
 
 1-2 
 函数的定义 
 
 void Creat();// 
 录入图书信息 
 
 struct node* Insert(struct node* p,struct node* head0);// 
 
 void Delete();// 
 删除图书信息 
 
 插入图书信息
 void change();// 
 修改图书信息 
 
 void write();// 
 保存图书信息 
 
 struct node * read();// 
 
 读取图书信息 
 
 void amend(struct node * p);// 
 辅助修改选项 
 void Print();// 
 遍历图书信息 
 
 void Print_by_one(struct node * p);// 
 
 单项遍历 
 
 void Main_menu();// 
 登陆界面 
 
 void Administrator_menu0();// 
 第一次进入系统的管理员菜单 
 
 void Administrator_menu1();// 
 
 第 
 n 
 次进入系统的管理员菜单 
 
 void Student_menu();// 
 学生菜单 
 
 void mainFind();// 
 查找菜单 
 
 void Find();// 
 精确查找图书 
 
 void Find0();// 
 模糊查找图书 
 
 int str(char a[],char b[]);// 
 
 模糊查找函数 
 
 void Find_booknumber();// 
 按书号查找 
 
 void Find_booknumber0();// 
 按书号模糊查找 
 
 void Find_bookname();// 
 按书名查找 
 
 void Find_bookname0();// 
 按书名模糊查找 
 
 void Find_author(); // 
 按作者查找 
 
 void Find_author0(); // 
 按作者模糊查找 
 
 void Find_press(); // 
 按出版社查找 
 
 void Find_press0(); // 
 按出版社模糊查找 
 
 char *transform(char str[] ,int n);// 
 
 将整数转化为字符存入字符数组返回 
 
 void Sorting_order();// 
 排序 
 
 void Sorting_help(struct node* p1,struct node* p2);// 
 
 辅助排序 
 
 void Sorting_booknumber();// 
 按书号排序 
 
 void Sorting_price();// 
 按价格排序 
 
 void Sorting_publication_date();// 
 按出版日期排序 
 
 void Sorting_number();// 
 按馆藏数量排序 
 #define S 123 // 
 学生密码 
 
 #define A 123456// 
 管理员密码 
 
 int T = 0;// 
 选择菜单 
 
 1-3 
 信息的录入 
 
 void Creat()// 
 录入图书信息
 { 
 
 { 
 
 struct node *tail,*p; 
 
 int book_number;// 
 书号 
 
 char choice; 
 
 printf(" 
 该操作将清除书库中所有书目的信息! 
 
 printf("\n\t\t\t 
 你想继续操作吗 
 ?(Y/N)\n"); while(1) 
 
 { 
 
 printf(" 
 请选择: 
 "); if(scanf("%c",&choice)) 
 
 { 
 
 getchar(); 
 
 if(choice == 'Y'||choice == 
 
 'y'){ system("cls"); 
 
 break; 
 
 } 
 
 else if(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 = (struct node *)malloc(sizeof(struct node)); 
 
 printf(" 
 请输入书名 
 :"); scanf("%s",p->book_name);getchar(); 
 
 printf(" 
 请输入作者 
 :"); scanf("%s",p->author);getchar(); 
 
 printf(" 
 请输入出版社 
 :"); scanf("%s",p->press);getchar(); 
 
 \n"); 
 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 
 按编号查询 
 
 void Find_booknumber()// 
 按书号查找 
 
 { 
 
 int book_number; 
 
 struct node *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 
 按出版时间排序 
 
 void Sorting_publication_date()// 
 按出版日期排序 
 
 { 
 
 struct node *p1,*p2,*p3,*p4,*p5,*p6,*p7; 
 
 int x=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;
本文题目:c语言图书信息管理系统程序-创新互联
文章来源:http://www.scyingshan.cn/article/diheoe.html
                                            
                                        你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

本文题目:c语言图书信息管理系统程序-创新互联
文章来源:http://www.scyingshan.cn/article/diheoe.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 