C語(yǔ)言圖書(shū)借閱系統(tǒng)源碼
更新時(shí)間:2018年02月24日 17:01:36 投稿:lijiao
這篇文章主要為大家分享了C語(yǔ)言圖書(shū)借閱系統(tǒng)源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了C語(yǔ)言圖書(shū)借閱系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
#include "stdafx.h"
#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
int N;
char mima[20]="mm";
/**********定義圖書(shū)結(jié)構(gòu)體類型book*******/
struct book
{
long num;
char name[20];
char publish[20];/*出版社*/
struct time
{
int day;
int month;
int year;
}t;
int jie;/*借閱*/
}bk[20];
/********建立圖書(shū)信息庫(kù)********/
void xinxi()
{
int i;
system("CLS");
printf("\t\t ===================== \n");
printf("\t\t 錄入圖書(shū)信息 \n");
printf("\t\t ===================== \n\n");
printf("\t\t請(qǐng)輸入您要錄入的數(shù)量:");
scanf("%d",&N);
for(i=0;i<N;i++)
{
printf("\t\t請(qǐng)輸入第%d本書(shū)的編號(hào):",i+1);
scanf("%d",&bk[i].num);
printf("\t\t請(qǐng)輸入第%d本書(shū)的名稱:",i+1);
scanf("%s",bk[i].name);
printf("\t\t請(qǐng)輸入第%d本書(shū)的出版社:",i+1);
scanf("%s",bk[i].publish);
printf("\t\t請(qǐng)輸入第%d本書(shū)的出版時(shí)間(用逗號(hào)隔開(kāi)):",i+1);
scanf("%d,%d,%d",&bk[i].t.year,&bk[i].t.month,&bk[i].t.day);
printf("\t\t該書(shū)是否已經(jīng)被借閱,已被借閱輸入'1',未被借閱輸入'0':");
scanf("%d",&bk[i].jie);
printf("--------------------------------------------------------------------------------\n");
}
system("CLS");
printf("\t\t ===================== \n");
printf("\t\t 信息錄入完成 \n");
printf("\t\t ===================== \n");
printf("\n\t\t 按任意鍵繼續(xù)...\n");
}
/******主菜單******/
int mymainmenu()
{
int x;
printf("\n\n\n\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t| |\n");
printf("\t\t| ====================== |\n");
printf("\t\t| 歡迎光臨圖書(shū)管理系統(tǒng) |\n");
printf("\t\t| ====================== |\n");
printf("\t\t| |\n");
printf("\t\t| 1.管理員模式 |\n");
printf("\t\t| 2.客戶模式 |\n");
printf("\t\t| 3.退出系統(tǒng) |\n");
printf("\t\t|--------------------------------------------------------------|\n");
printf("\n\t\t請(qǐng)輸入您的選擇:");
scanf("%d",&x);
return x;
}
/**************管理員密碼驗(yàn)證*****************/
int mimayanzheng()
{
char temp_mima[20];/*用來(lái)存放用戶輸入的密碼*/
printf("\n");
printf("\t\t ====================== \n");
printf("\t\t 歡迎使用管理員模式 \n");
printf("\t\t ====================== \n");
printf("\n");
printf("\t\t 請(qǐng)輸入密碼:");
scanf("%s",temp_mima);
if(strcmp(temp_mima,mima)==0)/*比較密碼*/
return 1;
else
return 0;
}
/**************修改密碼***********/
void xiugaimima()
{
char temp_mima[20],temp1[20],temp2[20];/* temp_mima[20]用來(lái)存放用戶輸入的密碼,temp1[20],temp2[
20]分別用來(lái)存放用戶輸入的兩次修改的密碼*/
printf("\n");
printf("\t\t ====================== \n");
printf("\t\t 修改密碼 \n");
printf("\t\t ====================== \n");
printf("\n");
printf("\t\t 請(qǐng)輸入原始密碼:");
scanf("\t\t%s",temp_mima);
while(1)
{
if(strcmp(temp_mima,mima)==0)/*比較密碼*/
{
printf("\t請(qǐng)輸入新密碼:");
scanf("%s",temp1);
printf("\t請(qǐng)?jiān)佥斎胍淮?");
scanf("%s",temp2);
if(strcmp(temp1,temp2)==0)/*如果輸入的兩次新密碼都相同*/
{
printf("\t修改密碼成功!!請(qǐng)記牢密碼,任意鍵返回...");
strcpy(mima,temp1);
getch();break;
}
else
{
printf("\t輸入兩次密碼不相同,修改失敗!任意鍵返回...");
getch();
break;
}
}
else
{
printf("\t密碼錯(cuò)誤!您不能進(jìn)行密碼修改!任意鍵返回...");
getch();
break;
}
}
}
/**************管理員模式****************/
int adm()
{
int x;
printf("\n\n\n\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t| |\n");
printf("\t\t| ====================== |\n");
printf("\t\t| 管理員模式 |\n");
printf("\t\t| ====================== |\n");
printf("\t\t| |\n");
printf("\t\t| 1.錄入圖書(shū)信息 |\n");
printf("\t\t| 2.查看圖書(shū)信息 |\n");
printf("\t\t| 3.修改圖書(shū)信息 |\n");
printf("\t\t| 4.修改管理密碼 |\n");
printf("\t\t| 5.退出系統(tǒng) |\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\n\t\t請(qǐng)輸入您的選擇:");
scanf("%d",&x);
return x;
}
/******************客戶模式********************/
int peo()
{
int x;
printf("\n\n\n\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t| |\n");
printf("\t\t| ====================== |\n");
printf("\t\t| 歡迎光臨 |\n");
printf("\t\t| ====================== |\n");
printf("\t\t| |\n");
printf("\t\t| 1.查看圖書(shū)信息 |\n");
printf("\t\t| 2.借閱圖書(shū) |\n");
printf("\t\t| 3.退出系統(tǒng) |\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\n\t\t請(qǐng)輸入您的選擇:");
scanf("%d",&x);
return x;
}
/*********查看所有圖書(shū)*******/
void show_all_book()
{
int i;
if(bk[0].num==0&&bk[0].t.year==0||N==0)/*當(dāng)bk[0].num,bk[0].t.year,結(jié)構(gòu)體數(shù)組等值同時(shí)為零時(shí)表示無(wú)圖書(shū)信息*/
printf("\t數(shù)據(jù)不存在,請(qǐng)先錄入數(shù)據(jù)!\n\t\t按任意鍵返回...");
else
{
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
for(i=0;i<N;i++)
{
printf("\t%-7d %-8s %-12s %4d年%2d月%2d日 ",bk[i].num,bk[i].name,bk[i].publish,bk[i].t.year,bk[i].t.month,bk[i].t.day);
if(bk[i].jie==0)
printf("未借閱\n");
else
printf("已借閱\n");
}
}
}
/*********按書(shū)名查看********/
void showbook_name()
{
int i,k=0,n;/*k用來(lái)標(biāo)記是否存在該書(shū)*/
char book_name[20];
printf("\t\t ===================== \n");
printf("\t\t 按書(shū)名查看 \n");
printf("\t\t ===================== \n");
printf("\n\t\t請(qǐng)輸入您要查看的圖書(shū)名稱:");
scanf("%s",book_name);
for(i=0;i<N;i++)
if(strcmp(book_name,bk[i].name)==0)
{
n=i;
if(k==0)/* "項(xiàng)目"只輸出一次*/
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[n].num,bk[n].name,bk[n].publish,bk[n].t.year,bk[n].t.month,bk[n].t.day);
if(bk[n].jie==1)
printf("已被借閱\n");
else
printf("可以借閱\n");
printf("按任意鍵返回...");
k++; /*k值不為零則表示找到圖書(shū)*/
}
if(k==0) /*k值為零則表示未找到圖書(shū)*/
printf("\t不存在該書(shū)!按任意鍵返回...");
}
/*********按書(shū)號(hào)查看********/
void showbook_num()
{
int n,book_num,i,k=0;/*k用來(lái)標(biāo)記是否存在該書(shū)*/
printf("\t\t ===================== \n");
printf("\t\t 按書(shū)號(hào)查看 \n");
printf("\t\t ===================== \n");
printf("\n\t\t請(qǐng)輸入您要查看的圖書(shū)編號(hào):");
scanf("%d",&book_num);
for(i=0;i<N;i++)
if(book_num==bk[i].num)
{
n=i;
if(k==0)/*項(xiàng)目只輸出一次*/
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[n].num,bk[n].name,bk[n].publish,bk[n].t.year,bk[n].t.month,bk[n].t.day);
if(bk[n].jie==1)
printf("已被借閱\n");
else
printf("可以借閱\n");
k++;
printf("\t按任意鍵返回...");
}
if(k==0) /*k為零則表示未找到圖書(shū)*/
printf("\t不存在該書(shū)!按任意鍵返回...");
}
/********顯示全部已借閱的圖書(shū)**********/
void yijieyue()
{
int i,k=0;
if(bk[0].num==0&&bk[0].t.year==0||N==0)
printf("\t數(shù)據(jù)不存在,請(qǐng)先錄入數(shù)據(jù)!\n\t\t按任意鍵返回...");
else
{
for(i=0;i<N;i++)
if(bk[i].jie==1)
{
if(k==0)
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 \n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 \n",bk[i].num,bk[i].name,bk[i].publish,bk[i].t.year,bk[i].t.month,bk[i].t.day);
k++;
}
if(k==0)
printf("\n\t\t目前沒(méi)有任何書(shū)借出。按任意鍵繼續(xù)...");
}
}
/********顯示全部未借閱的圖書(shū)********/
void weijieyue()
{
int i,k=0;
if(bk[0].num==0&&bk[0].t.year==0||N==0)
printf("\t數(shù)據(jù)不存在,請(qǐng)先錄入數(shù)據(jù)!\n\t\t按任意鍵返回...");
else
{
for(i=0;i<N;i++)
if(bk[i].jie==0)
{
if(k==0)
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 \n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 \n",bk[i].num,bk[i].name,bk[i].publish,bk[i].t.year,bk[i].t.month,bk[i].t.day);
k++;
}
if(k==0)
printf("\n\t很遺憾!目前所有的書(shū)都被借出了。按任意鍵繼續(xù)...");
}
}
/*****查看圖書(shū)菜單******/
void show()
{
int x;
do
{
system("cls");
printf("\n\n\n\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t| |\n");
printf("\t\t| ===================== |\n");
printf("\t\t| 查看圖書(shū)信息 |\n");
printf("\t\t| ===================== |\n");
printf("\t\t| |\n");
printf("\t\t| 1.按書(shū)名查找 |\n");
printf("\t\t| 2.按書(shū)號(hào)查找 |\n");
printf("\t\t| 3.查看所有未借閱圖書(shū) |\n");
printf("\t\t| 4.查看所有已借閱圖書(shū) |\n");
printf("\t\t| 5.查看所有圖書(shū) |\n");
printf("\t\t| 6.返回主菜單 |\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\n\t\t請(qǐng)輸入您的選擇:");
scanf("%d",&x);
switch(x)
{
case 1:system("cls");showbook_name();getch();break;/*按書(shū)名查看*/
case 2:system("cls");showbook_num();getch();break;/*按書(shū)號(hào)查看*/
case 3:system("cls");weijieyue();getch();break;/*查看未借閱圖書(shū)*/
case 4:system("cls");yijieyue();getch();break;/*查看已借閱圖書(shū)*/
case 5:system("cls");show_all_book();getch();break;/*查看所有圖書(shū)*/
}
}while(x!=6);
}
/*********按書(shū)名借閱*******/
void jie_name()
{
char jy[2],name[20];/*jy用來(lái)表示是否確定借閱*/
int i,book_xb,k=0;/*k用來(lái)標(biāo)記是否存在該書(shū)*/
printf("\t\t ====================== \n");
printf("\t\t 按書(shū)名借閱 \n");
printf("\t\t ====================== \n");
while(1)
{
printf("\n\t\t請(qǐng)輸入書(shū)名:");
scanf("%s",name);
for(i=0;i<N;i++)
if(strcmp(bk[i].name,name)==0&&bk[i].jie!=1)/*找到圖書(shū)并確認(rèn)圖書(shū)沒(méi)有被借出,記錄圖書(shū)下標(biāo)*/
{
book_xb=i;
k++;
}
if(k==0)
{
printf("\t不存在該書(shū),或該書(shū)已經(jīng)借出!請(qǐng)正確輸入圖書(shū)名稱!\n\t\t按任意鍵返回...");
getch();
break;
}
if(k==1)
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
if(bk[book_xb].jie==1)
printf("已被借閱\n");
else
{
printf("可以借閱\n\t是否借閱?(是:'y',否:'n'):");
scanf("%s",jy);
if(strcmp(jy,"n")==0)
{
printf("\t借閱取消,按任意鍵返回....");
getch();
break;
}
else if(strcmp(jy,"y")==0)
{
printf("\t借閱成功!按任意鍵返回...");
bk[book_xb].jie=1;
getch();
break;
}
else
{
printf("\t輸入有錯(cuò)!按任意鍵重新輸入...");
getch();
break;
}
}
}
}
/*********按書(shū)號(hào)借閱*******/
void jie_num()
{
long i,k=0,book_xb,book_num;/*k用來(lái)標(biāo)記是否存在該書(shū)*/
char jy[2];/*jy用來(lái)表示是否確定借閱*/
printf("\t\t ====================== \n");
printf("\t\t 按書(shū)號(hào)借閱 \n");
printf("\t\t ====================== \n");
while(1)
{
printf("\n\t\t請(qǐng)輸入書(shū)號(hào):");
scanf("%d",&book_num);
for(i=0;i<N;i++)
if(bk[i].num==book_num&&bk[i].jie!=1)
{
book_xb=i;
k++;
}
if(k==0)
{
printf("\t不存在該書(shū),或該書(shū)已經(jīng)借出!請(qǐng)正確輸入圖書(shū)名稱!\n\t\t按任意鍵返回...");
getch();
break;
}
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
if(bk[book_xb].jie==1)
printf("已被借閱\n");
else
{
printf("可以借閱\n\t是否借閱?(是:'y',否:'n'):");
scanf("%s",jy);
if(strcmp(jy,"n")==0)
{
printf("\t借閱取消,按任意鍵返回....");
getch();
break;
}
else if(strcmp(jy,"y")==0)
{
printf("\t借閱成功!按任意鍵返回...");
bk[book_xb].jie=1;
getch();
break;
}
else
{
printf("\t輸入有錯(cuò)!按任意鍵重新輸入...");
getch();
break;
}
}
}
}
/*********借閱圖書(shū)********/
void jieyue()
{
int x;
do
{
system("cls");
printf("\n\n\n\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t| ===================== |\n");
printf("\t\t| 借閱圖書(shū) |\n");
printf("\t\t| ===================== |\n");
printf("\t\t| |\n");
printf("\t\t| 1.按書(shū)名借閱 |\n");
printf("\t\t| 2.按書(shū)號(hào)借閱 |\n");
printf("\t\t| 3.查看所有圖書(shū) |\n");
printf("\t\t| 4.返回主菜單 |\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t請(qǐng)輸入您的選擇:");
scanf("%d",&x);
switch(x)
{
case 1:system("CLS");jie_name();getch();break;/*按書(shū)名借閱*/
case 2:system("CLS");jie_num();getch();break;/*按書(shū)號(hào)借閱*/
case 3:system("cls");show_all_book();getch();break;/*查看所有圖書(shū)*/
}
}while(x!=4);
}
/***************按書(shū)名進(jìn)行查找并修改信息*************/
void xiugai_name()
{
int i,book_xb,k=0;/*book_xb用來(lái)記錄下標(biāo),k用來(lái)判斷是否找到該書(shū)*/
char temp[20];/*temp[20]用來(lái)存放用戶輸入的查找的書(shū)名*/
while(1)
{
system("cls");
printf("\n");
printf("\t\t| ===================== |\n");
printf("\t\t| 按書(shū)名進(jìn)行修改 |\n");
printf("\t\t| ===================== |\n");
printf("\t\t請(qǐng)輸入您準(zhǔn)備修改的圖書(shū)的名稱,輸入'exit'退出:");
scanf("%s",temp);
if(strcmp(temp,"exit")==0)
break;
else
{
for(i=0;i<N;i++)
if(strcmp(temp,bk[i].name)==0)
{
book_xb=i;
printf("\t該書(shū)的信息為:\n");
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
if(bk[book_xb].jie==1)
printf("已被借閱\n");
else
printf("可以借閱\n");
k++;
printf("\t\t現(xiàn)在請(qǐng)輸入新信息:\n");
printf("\t\t請(qǐng)輸入本書(shū)的編號(hào):");
scanf("%d",&bk[book_xb].num);
printf("\t\t請(qǐng)輸入本書(shū)的名稱:");
scanf("%s",bk[book_xb].name);
printf("\t\t請(qǐng)輸入本書(shū)的出版社:");
scanf("%s",bk[book_xb].publish);
printf("\t\t請(qǐng)輸入本書(shū)的出版時(shí)間(用逗號(hào)隔開(kāi)):");
scanf("%d,%d,%d",&bk[book_xb].t.year,&bk[book_xb].t.month,&bk[book_xb].t.day);
printf("\t\t該書(shū)是否已經(jīng)被借閱,已被借閱輸入'1',未被借閱輸入'0':");
scanf("%d",&bk[book_xb].jie);
}
if(k==0)
{
printf("\t您輸入的書(shū)名不存在!按任意鍵繼續(xù)...");
getch();
continue;
}
printf("\t恭喜!信息修改成功!任意鍵返回...");getch();break;
}
}
}
/***************按書(shū)號(hào)進(jìn)行查找并修改信息*************/
void xiugai_num()
{
int i,book_xb,k=0;/*book_xb用來(lái)記錄下標(biāo),k用來(lái)判斷是否找到該書(shū)*/
long temp;/*temp用來(lái)存放用戶輸入的查找的書(shū)號(hào)*/
do
{
system("cls");
printf("\n");
printf("\t\t| ===================== |\n");
printf("\t\t| 按書(shū)號(hào)進(jìn)行修改 |\n");
printf("\t\t| ===================== |\n");
printf("\t\t請(qǐng)輸入您準(zhǔn)備修改的圖書(shū)的圖書(shū)號(hào),輸入'0'退出:");
scanf("%ld",&temp);
if(temp==0) break;
else
{
for(i=0;i<N;i++)
if(temp==bk[i].num)
{
book_xb=i;
printf("\t該書(shū)的信息為:\n");
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
k++;
if(bk[book_xb].jie==1)
printf("已被借閱\n");
else
printf("可以借閱\n");
printf("現(xiàn)在請(qǐng)輸入新信息:\n");
printf("\t\t請(qǐng)輸入本書(shū)的編號(hào):");
scanf("%d",&bk[book_xb].num);
printf("\t\t請(qǐng)輸入本書(shū)的名稱:");
scanf("%s",bk[book_xb].name);
printf("\t\t請(qǐng)輸入本書(shū)的出版社:");
scanf("%s",bk[book_xb].publish);
printf("\t\t請(qǐng)輸入本書(shū)的出版時(shí)間(用逗號(hào)隔開(kāi)):");
scanf("%d,%d,%d",&bk[book_xb].t.year,&bk[book_xb].t.month,&bk[book_xb].t.day);
printf("\t\t該書(shū)是否已經(jīng)被借閱,已被借閱輸入'1',未被借閱輸入'0':");
scanf("%d",&bk[book_xb].jie);
}
if(k==0)
{
printf("\t您輸入的書(shū)名不存在!按任意鍵繼續(xù)...");
getch();continue;
}
printf("\t恭喜!信息修改成功!任意鍵返回...");getch();break;
}
}while(temp!=0);
}
/**************刪除所有圖書(shū)***********/
void dele_all()
{
char queren[4];
printf("\t繼續(xù)操作會(huì)刪除所有信息,是否繼續(xù)?'y'繼續(xù),'n'撤銷...");
scanf("%s",queren);
if(strcmp(queren,"y")==0)
{
N=0;
printf("\t刪除成功!\n");
}
else
{
printf("\t操作被用戶取消!任意鍵返回...");
getch();
}
}
/******************按書(shū)名刪除************/
void dele_name()
{
int i,book_xb,k=0;/*book_xb用來(lái)存放圖書(shū)下標(biāo),k用標(biāo)記是否找到書(shū)*/
char queren[4],temp_name[20];/*queren[2]用來(lái)存放'是否'確認(rèn)刪除,temp_name[20]用來(lái)存放查找時(shí)輸入的圖書(shū)名稱*/
printf("\t輸入你要?jiǎng)h除的書(shū)的名稱,輸入'0'退出:");
scanf("%s",temp_name);
if(strcmp(temp_name,"0")!=0)
{
for(i=0;i<N;i++)
if(strcmp(temp_name,bk[i].name)==0)
{
book_xb=i;
printf("\t該書(shū)的信息為:\n");
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
if(bk[i].jie==0)
printf("未借閱\n");
else
printf("已借閱\n");
k++;
printf("\t是否要?jiǎng)h除該書(shū)?是'y',否'n'");
scanf("%s",queren);
if(strcmp(queren,"y")==0)
{
if(book_xb==N-1)
N--;
else
{
for(i=0;i<N;i++)
bk[book_xb+i]=bk[book_xb+i+1];
N--;
}
printf("\t刪除成功!\n");
}
else
printf("\t操作被用戶取消!任意鍵返回...");
}
if(k==0)
printf("\t未找到該書(shū),請(qǐng)核實(shí)以后再操作!,按任意鍵返回....");getch();
}
}
/***************按書(shū)號(hào)查找并刪除***********/
void dele_num()
{
int i,book_xb,k=0,temp_num;/*book_xb用來(lái)存放圖書(shū)下標(biāo),k用標(biāo)記是否找到書(shū),temp_num用來(lái)存放查找時(shí)輸入的圖書(shū)名稱*/
char queren[4];/*queren[2]用來(lái)存放'是否'確認(rèn)刪除*/
while(1)
{
printf("\t輸入你要?jiǎng)h除的書(shū)的書(shū)號(hào),輸入'0'退出:");
scanf("%d",&temp_num);
if(temp_num==0)
break;
else
{
for(i=0;i<N;i++)
if(temp_num==bk[i].num)
{
book_xb=i;
printf("該書(shū)的信息為:\n");
printf("\t編號(hào) 圖書(shū)名稱 出版社 出版時(shí)間 狀態(tài)\n");
printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
if(bk[i].jie==0)
printf("未借閱\n");
else
printf("已借閱\n");
k++;
printf("\t是否要?jiǎng)h除該書(shū)?是'y',否'n'");
scanf("%s",queren);
if(strcmp(queren,"y")==0)
{
if(book_xb==N-1)
N--;
else
{
for(i=0;i<N;i++)
bk[book_xb+i]=bk[book_xb+i+1];
N--;
}
printf("\t刪除成功!\n");
}
else
printf("\t操作被用戶取消!任意鍵返回...");
}
if(k==0)
printf("\t未找到該書(shū),請(qǐng)核實(shí)以后再操作!,按任意鍵返回....");getch();break;
}
}
}
void dele()
{
int x;
do
{
system("cls");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t| ===================== |\n");
printf("\t\t| 刪除圖書(shū)信息 |\n");
printf("\t\t| ===================== |\n");
printf("\t\t| |\n");
printf("\t\t| 1.按書(shū)名刪除 |\n");
printf("\t\t| 2.按書(shū)號(hào)刪除 |\n");
printf("\t\t| 3.刪除所有圖書(shū) |\n");
printf("\t\t| 4.返回主菜單 |\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t請(qǐng)輸入您的選項(xiàng):");
scanf("%d",&x);
switch(x)
{
case 1:system("cls");dele_name();break;
case 2:system("cls");dele_num();break;
case 3:system("cls");dele_all();getch();break;
}
}while(x!=4);
}
/***************修改圖書(shū)**************/
void xiugai()
{
int x;
do
{
system("cls");
printf("\n\n\n\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t| ===================== |\n");
printf("\t\t| 修改圖書(shū)信息 |\n");
printf("\t\t| ===================== |\n");
printf("\t\t| |\n");
printf("\t\t| 1.按書(shū)名查找 |\n");
printf("\t\t| 2.按書(shū)號(hào)查找 |\n");
printf("\t\t| 3.刪除圖書(shū) |\n");
printf("\t\t| 4.返回主菜單 |\n");
printf("\t\t|-------------------------------------------------------------|\n");
printf("\t\t請(qǐng)輸入您的選擇:");
scanf("%d",&x);
switch(x)
{
case 1:system("CLS");xiugai_name();break;/*按書(shū)名查找名修改信息*/
case 2:system("CLS");xiugai_num();break;/*按書(shū)號(hào)查找并修改信息*/
case 3:system("cls");dele();break;
}
}while(x!=4);
}
/**************主函數(shù)**************/
void main()
{
int x,x2,s;/*s用來(lái)判斷密碼驗(yàn)證的結(jié)果*/
do
{
system("cls"); x=mymainmenu();
switch(x)
{
case 1:/************調(diào)用管理員模式函數(shù)***********/
system("cls");
s=mimayanzheng();/*密碼驗(yàn)證*/
do
{
if(s==1)
{
system("cls");
x2=adm();
switch(x2)
{
case 1:system("cls");xinxi();getch();break;/*錄入信息*/
case 2:system("cls");show();break;/*查看信息*/
case 3:system("cls");xiugai();break;/*修改信息*/
case 4:system("cls");xiugaimima();break;/*修改密碼*/
}
}
else
{
printf("\t密碼錯(cuò)誤!按任意鍵返回...");
getch();
break;
}
}while(x2!=5);break;
case 2:/*調(diào)用客戶模式函數(shù)*/
do
{
system("cls");
x2=peo();
switch(x2)
{
case 1:system("cls");show();getch();break;/*查看圖書(shū)信息*/
case 2:system("cls");jieyue();getch();break;/*借閱圖書(shū)*/
}
}while(x2!=3);
}
}while(x!=3);
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t謝謝使用!\n\t\t\t");
getch();
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- C語(yǔ)言實(shí)現(xiàn)圖書(shū)管理系統(tǒng)
- C語(yǔ)言圖書(shū)管理系統(tǒng)簡(jiǎn)潔版
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單圖書(shū)管理系統(tǒng)
- C語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- C語(yǔ)言鏈表實(shí)現(xiàn)圖書(shū)管理系統(tǒng)
- C語(yǔ)言設(shè)計(jì)圖書(shū)登記系統(tǒng)與停車場(chǎng)管理系統(tǒng)的實(shí)例分享
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的圖書(shū)管理系統(tǒng)
- 基于C語(yǔ)言實(shí)現(xiàn)圖書(shū)管理信息系統(tǒng)設(shè)計(jì)
- C語(yǔ)言實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)
- C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之圖書(shū)借閱系統(tǒng)
相關(guān)文章
C語(yǔ)言函數(shù)基礎(chǔ)教程分類自定義參數(shù)及調(diào)用示例詳解
這篇文章主要為大家介紹了C語(yǔ)言函數(shù)的基礎(chǔ)教程,主要包含C語(yǔ)言函數(shù)的分類,C語(yǔ)言函數(shù)自定義,C語(yǔ)言函數(shù)的參數(shù)及C語(yǔ)言函數(shù)的調(diào)用示例詳解,有需要的朋友可以借鑒參考下2021-11-11
QT實(shí)現(xiàn)年會(huì)抽獎(jiǎng)小軟件的示例代碼
本文主要介紹了QT實(shí)現(xiàn)年會(huì)抽獎(jiǎng)小軟件的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
內(nèi)聯(lián)函數(shù)inline與宏定義深入解析
類的內(nèi)斂函數(shù)是一個(gè)真正的函數(shù)。使用內(nèi)聯(lián)函數(shù)inline可以完全取代表達(dá)式形式的宏定義2013-09-09
C++深淺拷貝及簡(jiǎn)易string類實(shí)現(xiàn)方式
這篇文章主要介紹了C++深淺拷貝及簡(jiǎn)易string類實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

