C语言课程设计图书馆管理系统程序代码

合集下载

原创c语言图书馆管理系统源代码

原创c语言图书馆管理系统源代码

原创C语言图书馆管理系统源代码介绍图书馆作为一个重要的知识储备和学习场所,必须进行有效的管理和组织。

使用C语言编写的图书馆管理系统可以帮助图书馆实现自动化的借阅、归还和管理功能。

本文将介绍一个原创的C语言图书馆管理系统的源代码。

功能概述这个图书馆管理系统具有以下核心功能: - 图书管理:包括添加图书、删除图书、查询图书等操作。

- 借阅管理:可以进行借阅操作,记录借阅者和借阅时间。

- 归还管理:可以进行归还操作,并更新图书的可借状态。

- 用户管理:管理借阅者的信息,包括添加用户、删除用户、查询用户等操作。

数据结构设计该图书馆管理系统使用了以下几种数据结构: 1. 图书(Book)结构体:包含图书的ID、书名、作者、可借状态等字段。

2. 用户(User)结构体:包含用户的ID、姓名、地址等字段。

3. 借阅记录(BorrowRecord)结构体:包含借阅者ID、图书ID、借阅时间等字段。

系统流程整个系统的流程可以分为以下几个步骤: 1. 用户打开系统,进入主菜单。

2. 用户选择不同的功能选项(如图书管理、借阅管理、用户管理等)。

3. 根据用户选择的功能,进入相应的功能界面。

4. 用户可以根据提示,输入相应的信息进行图书管理、借阅管理或用户管理操作。

5. 用户完成操作后,可以选择返回主菜单或退出系统。

代码实现以下是一个简化版的C语言图书馆管理系统的源代码:```c #include <stdio.h>// 定义结构体 struct Book { int id; char name[50]; char author[50]; int isAvailable; };struct User { int id; char name[50]; char address[100]; };struct BorrowRecord { int userId; int bookId; char borrowDate[20]; };// 函数声明 void addBook(); void deleteBook(); void searchBook(); void borrowBook(); void returnBook(); void addUser(); void deleteUser(); void searchUser();int main() { int choice;do {// 显示主菜单printf(\。

图书馆管理系统C语言_附完整源码

图书馆管理系统C语言_附完整源码

if (m == 5) { bnode* temp; head = NULL; sum = ReadSum(); head=ReadFile(sum); SelectSort(sum, head); //OutToFileArray(temp, sum); system("pause"); system("cls"); menu(); cin >> m; } if (m == 6) { bnode* temp; head = NULL; sum = ReadSum(); head=ReadFile(sum); BubbleSortName(sum, head); //OutToFileArray(temp, sum); system("pause"); system("cls"); menu(); cin >> m; } if (m == 7) { bnode* temp; head = NULL; sum = ReadSum(); head=ReadFile(sum); SelectSortWord(sum, head); //OutToFileArray(temp, sum); system("pause"); system("cls"); menu(); cin >> m; }
图书馆管理系统
#include< iostream > #include< string > #include< fstream > using namespace std; typedef struct node { char name[20]; char writter[30]; char publish[30]; int date; int word; double price; int number; struct node* next; }bnode; bnode* head = NULL; int sum = 1; void WriteSum(int mysum); int ReadSum(); void menu(); //对书库的操作 void InputInfo(); void SearchBook(bnode* myhead); void ChangeBook(bnode* myhead); int DeleteBook(bnode* myhead); //文件操作 void OutputToFile(); void OutToFileArray(bnode *temp, int mysum); bnode* ReadFile(int mysum); 在屏幕上 //排序 bnode* SelectSort(int mysum, bnode* myhead); bnode* SelectSortWord(int mysum, bnode* myhead); bnode* SelectSortDate(int mysum, bnode* myhead); bnode* BubbleSortName(int mysum, bnode* myhead);

c语言课程设计图书馆管理系统源程序

c语言课程设计图书馆管理系统源程序

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <malloc.h>#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/#define numsubs 5 /*学科数目*/typedef struct message_student/*结构体定义*/{char number[6];char name[20];int age;int birthday;char sex[4];char address[20];float subject[numsubs];float score;float average;int index;}student;int numstus; /*学生数目*/student *pointer;/*指向结构体数组的指针*/int lens;int menu_select(); /*函数声明*/int openfile(student stu[]);int findrecord(student stud[]);int writetotext(student stud[]);void welcome();void display1();void showtable();void sort(student stu[]);void deleterecord(student stu[],int i);void addrecord(student stud[]);void display(student stud[],int n1,int n2);void amendrecord(student stud[]);void count(student stud[]);void sortnum(student stud[]);void sortnum2(student stud[]);void sortname(student stud[]);void sortname2(student stud[]);void sortcount(student stud[]);void sortcount2(student stud[]);void statistic(student stud[]);void display1();void main(){int i=1;char str[2];lens=100;pointer=(student *)malloc(lens*LEN);numstus=0;welcome();system ("color 1f");while(i>0){i=menu_select();switch(i){case 1:addrecord(pointer);break; /*增加学生信息*/case 2:findrecord(pointer);break; /*查询学生信息*/case 3:amendrecord(pointer);break;/*修改学生信息*/case 4:sort(pointer);break; /*学生信息排序*/case 5:statistic(pointer);break;/*统计信息*/case 6:openfile(pointer);break;/*打开文件*/case 7:writetotext(pointer);break;/*保存文件*/case 8:display(pointer,0,numstus-1);break;/*显示记录*/case 0:if(numstus!=0) printf("是否保存当前记录?(y/n)");gets(str);if(str[0]=='y'||str[0]=='Y')writetotext(pointer);i=-1;break;/*退出系统*/default:printf("请输入数字0~8:\n");i=1; /*输入错误*/ }}printf("\t\t谢谢使用!!!欢迎再次使用本系统。

C语言课程设计图书馆管理系统程序代码

C语言课程设计图书馆管理系统程序代码

#include<stdio.h>#include<windows.h> #include<string.h> #include<conio.h> #define M 100 struct books{char tsmc[12];int tsbh;float dj;char zz[12];char czzt[12];char xm[12]; char xb[12];int xh; }s[M];int N;bool flag;intmain (){int sele;flag=0;sele=1;void sr();void cx();void sc();void js();void hs();void tc();void jsh();//system ("tsgl");printf("\n\n");printf(" ************************\n");printf(" 1:输入2:查询3:删除\n");printf(" 4:借书5:还书0:退出\n");printf(" ************************\n"); while(1){printf("\n\n请输入功能序号:");scanf ("%d",&sele);if(sele>=0 && sele<=5){switch(sele){ case 1:sr();break;case 2:cx();break;case 3:sc();break;case 4:js();break;case 5:hs();break;case 0:jsh();break;}if(flag)break;printf("\n\n");printf(" ************************\n");printf(" 1:输入2:查询3:删除\n");printf(" 4:借书5:还书0:退出\n");printf(" ************************\n");}else{printf("输入错误请再次输入|\n\n");printf("\n\n");printf(" ************************\n");printf(" 1:输入2:查询3:删除\n");printf(" 4:借书5:还书0:退出\n");printf(" ************************\n");}printf("\n\n让任意键继续\n");} //wr_file();} /******主函数***//*********输入*********/void sr(){int n,i;N=0;printf("可输入的书本数:");scanf("%d",&n);N=n+N;printf("请输入相关信息:\n");for(i=1;i<=n;i++){printf("图书名称:");scanf("%s",s[N-n-1+i].tsmc);printf("图书编号:");scanf("%d",&s[N-n-1+i].tsbh);printf("单价:");scanf("%f",&s[N-n-1+i].dj);printf("作者:");scanf("%s",&s[N-n-1+i].zz);strcpy(s[N-n-1+i].czzt,"未借出");strcpy(s[N-n-1+i].xm,"无"); } }/********查询**********/void cx(){int i,j[100]={-1},d,k,t=0;char m[20];printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k);if(k==1){printf("请输入图书名称:");scanf("%s",m);for(i=0;i<N;i++)if(strcmp(m,s[i].tsmc)==0){j[t]=i;t=t+1;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){j[t]=i;t++;}}if(j[0]==-1&&t==0)printf("没有找到!\n");if(j[0]!=-1 && t!=0){printf("\t图书名称\t图书编号\t单价\t作者\t存在状态\t借书人姓名\t性别\t学号\n");for(i=0;i<t;i++)printf("\t%s \t%d \t%f \t%s \t%s \t%s \t%s\t%d ", s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh);}}/********删除模块*********/void sc(){int i,d,k,t=0;char ms[20];int ja=-1;printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k);if(k==1){printf("请输入图书名称:");scanf("%s",ms);for(i=0;i<N;i++)if(strcmp(ms,s[i].tsmc)==0){ja=i; break;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){ja=i;break;}}printf("确定删除该图书吗?1表示Yes,其他No");int p;scanf("%d",&p);if(p==1)printf("Congratulations,删除成功||\n");if(ja!=-1 && p){N=N-1;for(i=ja;i<N;i++){strcpy(s[i].tsmc,s[i+1].tsmc);s[i].tsbh=s[i+1].tsbh;s[i].dj=s[i+1].dj;strcpy(s[i].zz,s[i+1].zz);strcpy(s[i].czzt,s[i+1].czzt);strcpy(s[i].xm,s[i+1].xm);strcpy(s[i].xb,s[i+1].xb);s[i].xh=s[i+1].xh;}}else if(ja==-1)printf ("没有找到!\n"); }/**********借书模块***********/void js(){int i,j[100]={-1},d,k,t=0;char m[20];printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k); if(k==1){printf("请输入图书名称:");scanf("%s",&m);for(i=0;i<N;i++)if(strcmp(m,s[i].tsmc)==0){j[t]=i;t=t+1;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){j[t]=i;t++;}}if(j[0]==-1&&t==0)printf("没有找到!\n");strcpy(s[j[i]].czzt,"已借出");printf("此书已借出\n");if(j[0]!=-1&&t!=0&&s[j[i]].czzt==" 未借出"){printf("%s %d %f %s %s %s %s %d ", s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh); } printf("1:确定借阅2:退出\n");scanf("%d",&k);switch(k){case 1:printf("请输入学号:\n");scanf("%d",&s[j[i]].xh);printf("请输入姓名:\n");scanf("%s",&s[j[i]].xm);printf("请输入性别:\n");scanf("%s",&s[j[i]].xb);strcpy(s[j[i]].czzt,"已借出");printf("已借出,按任意键继续\n");//getch();case 2:break;}}/*************还书模块***************/void hs(){int i,j[100]={-1},d,k,t=0;char m[20];printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k);if(k==1){printf("请输入图书名称:");scanf("%s",&m);for(i=0;i<N;i++)if(strcmp(m,s[i].tsmc)==0){j[t]=i;t++;break;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){j[t]=i;t++;break;}}if(t==0)printf("没有找到!\n");else{printf("%s %f %s %s %s %s %d \n",s[j[i]].tsmc,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh);printf("1:确定归还2:退出\n");int p;scanf("%d",&p);if(p==1){strcpy(s[j[i]].czzt,"未借出");strcpy(s[j[i]].xm,"无");s[j[i]].xh=0;printf("已归还,按任意键继续\n");}//getch();}}/*************结束模块***************/ void jsh(){flag=1;}。

图书馆管理系统(C语言程序设计)

图书馆管理系统(C语言程序设计)

图书管理系统/*图书数据由编号、书名、出版社、单价和图书状态(库存用0表示或借出用读者编号表示),读者数据由编号、姓名和电话号码构成。

实现功能包括:(1)添加图书的记录(2)图书管理(借书和还书)(3)对图书数据排序(按单价的降序)(4)删除图书记录(5)修改图书记录(6)添加读者记录(7)输出图书信息表和读者信息表*#include <stdio.h>#include <string.h>#include <stdlib.h>#include <windows.h>/*函数的声明*/void bookname();void writername();void booknumber();void press();void bookdate();void Bfind(); //查询主菜单void Bdevise(); //修改函数void Badd(); //添加函数void Bdelete(); //删除函数void Bdisplay(); //显示所以已保存的图书信息函数void Bclean(); //清除所有图书信息函数void lendbook(); // 借书函数void returnbook(); //还书函数void lendorreturnbook();//借书或还书主菜单函数void appealkey();//用户密码申诉函数void devisepeoplekey();//修改用户密码函数void accountapply(); //用户申请账户函数void addpeopleaccount(); //管理员之添加用户帐号函数void addmanageaccount(); //管理员之添加管理员账号函数void addaccount(); //管理员之账户添加主菜单函数void devisepeopleaccount();//管理员之修改用户账号函数void devisemanageaccount();//管理员之修改管理员帐号函数void deviseaccount();//管理员之修改账号主菜单函数void deletepeopleaccount();//管理员之删除用户账号函数void deletemanageaccount();//管理员之删除管理员账号函数void deleteaccount();//管理员之删除账号主菜单函数void displayallpeopleaccounts();//显示所有用户信息函数void displayallmanageaccounts();//显示所有管理员信息函数void displayallaccountsmessage();//显示所有账号信息主菜单函数void highaddpeopleaccount(); //高级管理员添加用户账户函数void highaddmanageaccount(); //高级管理员添加管理员账户函数void highaddaccount(); //高级管理员之添加账户主菜单函数void booksmanage();//图书操作主菜单函数void accountsmanage();//管理员账号操作主菜单函数void highaccountsmanage();//高级管理员账号操作主菜单函数void menu1(); //用户之查询主菜单void menu2(); //管理员之查询主菜单void menu3(); //高级管理员之查询主菜单/*定义书的类型*/struct book{int bookstock; //库存量char bookname[20]; //书名char bookwriter[20]; //作者char booknumber[20]; //书号char press[20]; //出版社char bookdate[20]; //出版日期char price[20]; //出版价格int turefalse; //判断图书是否被借阅}books[20];/*定义用户类型*/struct peopleaccount{char pname[20];char pkey[20];}peopleaccounts[20];/*定义管理员类型*/struct manageaccount{char mname[20];char mkey[20];}manageaccounts[20];/*定义借书卡类型*/struct card{char cardnumber[20]; //借书卡号和用户信息一起写入yonghu.txt文件中的}cards[20];/*定义文件指针变量*/FILE *fp1; //fp1打开用户信息文件FILE *fp2; //fp2打开管理员信息文件FILE *fp3; //fp3打开图书信息文件FILE *fp4; //打开借还书记录的文件FILE *fpa; //fpa是临时文件指针/*改变输出的字体颜色*/void color(const unsigned short color1){if(color1>=0&&color1<=15)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color1);/*仅限改变0-15的颜色;如果在0-15那么实现他的颜色因为如果超过15后面的改变的是文本背景色。

图书管理系统c语言版 源码 课程设计

图书管理系统c语言版 源码 课程设计

C代码1./*************************2.* 运行环境:vc6.03.*************************/4.5.#include <stdio.h> /*头文件名*/6.#include <string.h>7.#include <stdlib.h>8.#define Max 3 /*定义最大借书权限(可更改)*/9.10.typedef struct book /*图书类型*/11.{12.char book_num[10];13.char book_name[20];14.int book_kc;15.int book_xc;16.struct book *next;17.}BK;18.19.typedef struct borrow /*借书数目类型*/20.{21.char borrow_book_num[10];22.}BO;23.24.typedef struct reader /*读者类型*/25.{26.char reader_num[10];27.char reader_name[10];28.int right;29.BO borrow[Max]; /*嵌套借书数目类型*/30.struct reader * next;31.}RD;32.33.BK *h_book; /*图书指针*/34.RD *h_reader; /*读者指针*/35.36.int Menu(); /*主菜单*/37.void Menu_select(); /*主菜单选择函数*/38.void Init(); /*初始化函数*/39.void Init_reader(); /*初始化读者*/40.void Init_book(); /*初始化图书*/41.void Insert_New_Book(); /*增加新书*/42.void Insert_New_Reader(); /*增加新读者*/43.void del_old_book(); /*删除旧图书*/44.void del_old_reader(); /*删除旧读者(就是已经不存在或毕业的同学)*/45.void book_not_enough(); /*库存不足信息函数*/46.int Find(); /*查找函数*/47.void Find_Select(); /*查找选择菜单*/48.void Find_Reader(); /*查找读者*/49.void Find_Book(); /*查找图书*/50.void Borrow_Book(); /*借书函数*/51.void Return_Book(); /*还书函数*/52.void about(); /*"关于系统的说明"函数*/53.int Print(); /*打印函数*/54.void Print_Select(); /*打印选择函数*/55.void Print_book(); /*打印图书信息*/56.void Print_reader(); /*打印读者信息*/57.void Save(); /*保存信息函数*/58.void Save_Reader(); /*保存读者信息*/59.void Save_Book(); /*保存图书信息*/60.void Load(); /*加载信息函数*/61.void Load_Reader(); /*加载读者信息*/62.void Load_Book(); /*加载图书信息*/63.64.int Menu()65.{ int sn;66.printf("\n\t\t图书管理系统主菜单\n");67.printf("=================================================\n");68.printf("*\t0----退出系统 6----关于系统 \t*\n");69.printf("*\t1----新书入库 7----旧书出库 \t*\n");70.printf("*\t2----增新读者 8----删旧读者 \t*\n");71.printf("*\t3----图书查询 9----输出全部信息\t*\n");72.printf("*\t4----借书登记 10----库存不足图书\t*\n");73.printf("*\t5----还书管理 11----保存当前信息\t*\n");74.printf("=================================================\n");75.printf("请选择相应代码:"); /*代码选择模式(下同)*/76.for(;;)77.{ scanf("%d",&sn);78.fflush(stdin);79.if(sn<0||sn>11)80.printf("\n错误!请重新输入:");81.else break;82.}83.return sn;84.}85.86.void Menu_select()87.{88.for(;;) /*循环调用模式,保证能进行重复操作(下同)*/89.{90.switch(Menu())91.{ case 0:92.system("cls");93.Save();94.printf("\n\n\t文件保存成功!\n");95.printf("\n\n\tGoodBye!\n");96.getch();97.exit(0);98.case 1:Insert_New_Book();break; /*功能调用*/99.case 2:Insert_New_Reader();break;100.case 3:Find_Select();break;101.case 4:Borrow_Book();break;102.case 5:Return_Book();break;103.case 6:about();break;104.case 7:del_old_book();break;105.case 8:del_old_reader();break;106.case 9:Print_Select();break;107.case 10:book_not_enough();break;108.case 11:Save(); Load();109.printf("\n文件保存成功!按任意键进行下步操作....");110.getch(); system("cls");break;111.default:printf("\n错误!");exit(0);112.}113.}114.}115.116.117.void Init() /*初始化*/118.{119.Init_reader();120.Init_book();121.}122.123.void Init_reader() /*初始化读者信息(从键盘输入一组数据)*/ 124.{125.RD *p0;126.int i;127.printf("\n读者初始化开始,请输入读者信息..\n包括编号.姓名..\n");128.p0=(RD *)malloc(sizeof(RD));129.h_reader=p0;130.printf("\n请输入读者的信息:\n");131.printf("ReaderNo.:"); /*输入读者编号(唯一)*/132.scanf("%s",p0->reader_num);133.printf("ReaderName:"); /*输入读者姓名(不唯一)*/134.scanf("%s",p0->reader_name);135.p0->right=0;136.for(i=0;i<Max;i++)137.strcpy(p0->borrow[i].borrow_book_num,"0");138./*所借图书直接置为0(即没有借书)*/139.p0->next=NULL;140.printf("\n读者信息初始化完毕!按任意键继续下一步操作..\n");141./*头接点建立完毕*/142.getch();143.system("cls");144.}145.146.void Init_book() /*初始化图书信息(从键盘输入一组数据)*/ 147.{148.BK *p0;149.printf("\n图书初始化开始,请输入图书信息..\n包括编号.书名.数量..\n");150.p0=(BK *)malloc(sizeof(BK));151.h_book=p0;152.printf("\n请输入图书信息:\n");153.printf("BookNo.:"); /*输入图书编号(唯一)*/154.scanf("%s",p0->book_num);155.printf("BookName:"); /*输入图书名称(不唯一)*/156.scanf("%s",p0->book_name);157.printf("Number:"); /*输入图书数量*/158.scanf("%d",&p0->book_kc);159.p0->book_xc=p0->book_kc; /*开始时图书现存量和库存量相等*/160.p0->next=NULL;161.printf("\n图书信息初始化完毕!按任意键继续下一步操作..\n");162.getch();163.system("cls");164.}165.166.................167.168.void main()169.{170.FILE *fp_book,*fp_reader;171.if((fp_book=fopen("Book.dat","rb"))==NULL||(fp_reader =fopen("Reader.dat","rb"))==NULL)172.{173.about(); /*第一次启动系统,则进行初始化,否则进行加载*/ 174.Init();175.}176.else177.Load();178.179.Menu_select(); /*调用主菜单*/180.}。

C语言编程--图书馆管理系统

C语言编程--图书馆管理系统

#include <iostream。

h〉#include 〈iomanip。

h>#include <string。

h〉#include 〈fstream〉//输入/输出文件流类using namespace std;const int Max1=100; //最大学生数const int Max2=100;//最大图书量const int Max3=100; //每个学生最多借2本书class student //学生类,实现对学生的信息的描述{private:int tb;//删除标记1:已删0:未删int no;//学号char name[10];//学生姓名char yuanxi[15]; //院系int ex;int borbook[Max3];//所借图书public:student() {}char *get_name() {return name;} //获取姓名char *get_yuanxi(){return yuanxi;} //获取院系int get_tb() {return tb;} //获取删除标记int get_no() {return no;} //获取学号int getex(){return ex;}void set_name(char na[]) //设置学生姓名{strcpy(name,na);}void set_yuan(char yu[]) //设置学生所在院系{strcpy(yuanxi,yu);}void set_no(int n)//设置学号{no=n;}void delbook(){ tb=1;}//设置删除标记1:已删0:未删void addstudent(int n,int ex1,char *na,char *yu)//增加学生信息{tb=0;no=n;ex=ex1;strcpy(name,na);strcpy(yuanxi,yu);for(int i=0;i〈Max3;i++)borbook[i]=0;}void borrowbook(int bookid)//借书操作{for(int i=0;i<ex;i++){if (borbook[i]==0){borbook[i]=bookid;return;}}}int retbook(int bookid)//还书操作{for(int i=0;i〈Max3;i++){if(borbook[i]==bookid){borbook[i]=0;return 1;}}return 0;}void out()//输出学生信息{cout 〈<”学号:”〈〈setw(5)<〈no <<"姓名:”<<setw(10)〈< name〈〈"院系:”<〈setw(10)<<yuanxi〈<”最大借书量:"〈<setw(10)〈<ex〈<”图书号:[";for(int i=0;i〈ex;i++)if(borbook[i]!=0)cout 〈〈borbook[i] 〈< "|";cout <〈"]"〈〈endl;}};//学生类库,用来建立学生的个人资料class studentbase{private:int top;//学生记录指针student read[Max1];//学生记录public:studentbase() //构造函数,将student。

图书管理系统C语言实现源代码

图书管理系统C语言实现源代码
} } return 0; }
//建立链表,并输入数据 struct book *chu_jian() {
struct book *head,*tail,*p; char num[N],name[M],autor[L],dizhi[K],leixing[E],time[F]; float price;
**********\n");
printf("
图书管理系统
\n");
printf("
0---退出系统
1---录入数据
\n");
printf("
2---保存文件
3---输出信息
\n");
printf("
4--- 根 据 编 号 查 询 信 息
5--- 插 入 数 据
\n");
printf("
6---删除数据
getchar();
} //输出图书的信息 void printf_(struct book *head) {
struct book *p; p=head; if(head!=NULL) {
do {
printf("编号:"); puts(p->num); printf("书名:"); puts(p->name); printf("作者:"); puts(p->autor); printf("出版社:"); puts(p->dizhi); printf("类型:"); puts(p->leixing); printf("时间:"); puts(p->time); printf("价格:"); printf("%f",p->price); printf("\n"); p=p->next; }while(p!=NULL); } getchar(); } //根据图书的编号查询图书的信息,并输出数据 void num_chaxun(struct book *head) { char a[N]; struct book *p;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include<stdio.h>#include<windows.h>#include<string.h>#include<conio.h>#define M 100struct books{char tsmc[12];int tsbh;float dj;char zz[12];char czzt[12];char xm[12];char xb[12];int xh; }s[M];int N;bool flag;intmain (){int sele;flag=0;sele=1;void sr();void cx();void sc();void js();void hs();void tc();void jsh();//system ("tsgl");printf("\n\n");printf(" ************************\n");printf(" 1:输入2:查询3:删除\n");printf(" 4:借书5:还书0:退出\n");printf(" ************************\n"); while(1){printf("\n\n请输入功能序号:");scanf ("%d",&sele);if(sele>=0 && sele<=5){switch(sele){ case 1:sr();break;case 2:cx();break;case 3:sc();break;case 4:js();break;case 5:hs();break;case 0:jsh();break;}if(flag)break;printf("\n\n");printf(" ************************\n");printf(" 1:输入2:查询3:删除\n");printf(" 4:借书5:还书0:退出\n");printf(" ************************\n");}else{printf("输入错误请再次输入|\n\n");printf("\n\n");printf(" ************************\n");printf(" 1:输入2:查询3:删除\n");printf(" 4:借书5:还书0:退出\n");printf(" ************************\n");}printf("\n\n让任意键继续\n");} //wr_file();} /******主函数***//*********输入*********/void sr(){int n,i;N=0;printf("可输入的书本数:");scanf("%d",&n);N=n+N;printf("请输入相关信息:\n");for(i=1;i<=n;i++){printf("图书名称:");scanf("%s",s[N-n-1+i].tsmc);printf("图书编号:");scanf("%d",&s[N-n-1+i].tsbh);printf("单价:");scanf("%f",&s[N-n-1+i].dj);printf("作者:");scanf("%s",&s[N-n-1+i].zz);strcpy(s[N-n-1+i].czzt,"未借出");strcpy(s[N-n-1+i].xm,"无"); } }/********查询**********/void cx(){int i,j[100]={-1},d,k,t=0;char m[20];printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k);if(k==1){printf("请输入图书名称:");scanf("%s",m);for(i=0;i<N;i++)if(strcmp(m,s[i].tsmc)==0){j[t]=i;t=t+1;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){j[t]=i;t++;}}if(j[0]==-1&&t==0)printf("没有找到!\n");if(j[0]!=-1 && t!=0){printf("\t图书名称\t图书编号\t单价\t作者\t存在状态\t借书人姓名\t性别\t学号\n");for(i=0;i<t;i++)printf("\t%s \t%d \t%f \t%s \t%s \t%s \t%s \t%d ", s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh);}}/********删除模块*********/void sc(){int i,d,k,t=0;char ms[20];int ja=-1;printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k);if(k==1){printf("请输入图书名称:");scanf("%s",ms);for(i=0;i<N;i++)if(strcmp(ms,s[i].tsmc)==0){ja=i; break;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){ja=i;break;}}printf("确定删除该图书吗?1表示Yes,其他No");int p;scanf("%d",&p);if(p==1)printf("Congratulations,删除成功||\n");if(ja!=-1 && p){N=N-1;for(i=ja;i<N;i++){strcpy(s[i].tsmc,s[i+1].tsmc);s[i].tsbh=s[i+1].tsbh;s[i].dj=s[i+1].dj;strcpy(s[i].zz,s[i+1].zz);strcpy(s[i].czzt,s[i+1].czzt);strcpy(s[i].xm,s[i+1].xm);strcpy(s[i].xb,s[i+1].xb);s[i].xh=s[i+1].xh;}}else if(ja==-1)printf ("没有找到!\n"); }/**********借书模块***********/void js(){int i,j[100]={-1},d,k,t=0;char m[20];printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k); if(k==1){printf("请输入图书名称:");scanf("%s",&m);for(i=0;i<N;i++)if(strcmp(m,s[i].tsmc)==0){j[t]=i;t=t+1;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){j[t]=i;t++;}}if(j[0]==-1&&t==0)printf("没有找到!\n");strcpy(s[j[i]].czzt,"已借出");printf("此书已借出\n");if(j[0]!=-1&&t!=0&&s[j[i]].czzt==" 未借出"){printf("%s %d %f %s %s %s %s %d ", s[j[i]].tsmc,s[j[i]].tsbh,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh); }printf("1:确定借阅2:退出\n");scanf("%d",&k);switch(k){case 1:printf("请输入学号:\n");scanf("%d",&s[j[i]].xh);printf("请输入姓名:\n");scanf("%s",&s[j[i]].xm);printf("请输入性别:\n");scanf("%s",&s[j[i]].xb);strcpy(s[j[i]].czzt,"已借出");printf("已借出,按任意键继续\n");//getch();case 2:break;}}/*************还书模块***************/void hs(){int i,j[100]={-1},d,k,t=0;char m[20];printf("查询:");printf("1:图书名称2:图书编号");printf("\n\n请输入查询选项:");scanf("%d",&k);if(k==1){printf("请输入图书名称:");scanf("%s",&m);for(i=0;i<N;i++)if(strcmp(m,s[i].tsmc)==0){j[t]=i;t++;break;}}else if(k==2){printf("请输入图书编号:");scanf("%d",&d);for(i=0;i<N;i++)if(d==s[i].tsbh){j[t]=i;t++;break;}}if(t==0)printf("没有找到!\n");else{printf("%s %f %s %s %s %s %d \n",s[j[i]].tsmc,s[j[i]].dj,s[j[i]].zz,s[j[i]].czzt,s[j[i]].xm,s[j[i]].xb,s[j[i]].xh);printf("1:确定归还2:退出\n");int p;scanf("%d",&p);if(p==1){strcpy(s[j[i]].czzt,"未借出");strcpy(s[j[i]].xm,"无");s[j[i]].xh=0;printf("已归还,按任意键继续\n");}//getch();}}/*************结束模块***************/void jsh(){flag=1;}。

相关文档
最新文档