c語言圖書管理系統(tǒng)附源碼是一款由C語言編寫的圖書管理系統(tǒng),它是由吾愛論壇網(wǎng)友分享提供的,對于學習C語言的朋友可以借鑒參考學習代碼的編寫,這也是在大學里初學C語言經(jīng)常會遇到的課題,歡迎大家下載學習。
猜測大一的同學只要是學習C語言的應該最后都會有課程設計,我們一組當時分配到的題目是寫圖書館管理系統(tǒng)。
系統(tǒng)并不是很完善,只是實現(xiàn)功能,望大佬勿噴。
其中程序的主要貢獻者是我舍友范同學(Robin),我是負責了其中一部分函數(shù)。
為了在課上方便演示,我們把所有的代碼全都放到一個源文件里了。
這里把源代碼給大家供大家參考。
大家在查看圖書信息之前一定要先導入信息(也就是7號功能),不然是讀取不到的,導入之前提前在盤符準備好圖書 .txt 文件。
管理員賬戶密碼皆為admin(學習C語言的朋友應該都懂)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
//由506小組編寫
struct account
{
char name[10],password[10];
} user[2]= {{"admin","admin"},{"Robin","000000"}};
void gotoxy(int x,int y)
{
COORD pos;
pos.X=x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
int color(int c)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
return 0;
}
struct book //定義結構體類型
{
char no[50]; //書號
char name[50]; //書名
char publishday[50]; //出版日期
char chapt[50]; //類別
char writer[50]; //作者
char index[50]; //借閱標記
int repeat; //借閱次數(shù)
char add[50]; //備份
} booknum[100];
struct temp
{
char no[50]; //書號
char name[50]; //書名
char publishday[50]; //出版日期
char chapt[50]; //類別
char writer[50]; //作者
char index[50]; //借閱標記
int repeat; //借閱次數(shù)
char add[50];
} tempbook;
int i=0;
void menu();
void menu2();
void log_in() //輸入并驗證賬戶名
{
char a[10]= {0},b[10]= {0};
int j=-1;
reput:
printf("賬戶名:");
color(11);
scanf("%s",a);
if(strcmp(a,user[0].name)==0)
j=0;
else if(strcmp(a,user[1].name)==0)
j=1;
else
{
color(7);
printf("請重新輸入!\n");
goto reput;
}
color(7);
reput2:
printf("密碼:");
color(11);
for(int k=0; k<10;)
{
b[k]=getch();
if(b[k]!=13&&b[k]!='\b')
{
printf("*");
k++;
}
else if(b[k]=='\b'&&k>0)
{
printf("\b \b");
k--;
}
else if(k<=0)
printf("\a");
else
{
b[k]='\0';
break;
}
}
if(strcmp(b,user[j].password)!=0)
{
color(7);
printf("\n請重新輸入!\n");
goto reput2;
}
wsprintf(szMsg,("歡迎您,管理員%s"),a);
MessageBox(NULL,szMsg,"登錄成功",MB_OK);
}
void enter()
{
system("cls");
if(IDCANCEL==MessageBox(NULL,"您是否想添加新圖書信息","新圖書信息錄入確認",MB_OKCANCEL))
return menu();
color(11);
redo:
system("cls");
printf("請輸入新錄入的圖書數(shù)量:");
int n;
if(!scanf("%d",&n))
{
MessageBox(NULL,"輸入有誤,請重新輸入","Error",MB_OK|MB_ICONEXCLAMATION);
fflush(stdin);
goto redo;
}
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("您要新錄入的圖書數(shù)量是%d本"),n);
if(IDNO==MessageBox(NULL,szMsg,"錄入圖書數(shù)量確認",MB_YESNO|MB_ICONQUESTION))
goto redo;
system("cls");
int j=1;
while(n--)
{
color(7);
printf("這是您新添加的第%d本書\n",j);
color(15);
printf("圖書總數(shù):%d本\n",i);
color(13);
printf("請輸入書號:");
scanf("%s",booknum[i].no);
color(12);
printf("請輸入書名:");
scanf("%s",booknum[i].name);
color(14);
printf("請輸入出版日期:");
scanf("%s",booknum[i].publishday);
color(10);
printf("請輸入類別:");
scanf("%s",booknum[i].chapt);
color(11);
printf("請輸入作者:");
scanf("%s",booknum[i].writer);
color(3);
printf("請輸入借閱標記:");
scanf("%s",booknum[i].index);
color(9);
printf("請輸入借閱次數(shù):");
scanf("%d",&booknum[i].repeat);
color(5);
printf("請輸入備份:");
scanf("%s",booknum[i].add);
color(15);
printf("您添加的第%d本書的信息為:\n",j++);
printf("書號:%s\n",booknum[i].no);
printf("書名:%s\n",booknum[i].name);
printf("出版日期:%s\n",booknum[i].publishday);
printf("類別:%s\n",booknum[i].chapt);
printf("作者:%s\n",booknum[i].writer);
printf("借閱標記:%s\n",booknum[i].index);
printf("借閱次數(shù):%d\n",booknum[i].repeat);
printf("備注:%s\n\n",booknum[i].add);
i++;
}
getchar();
system("cls");
return menu();
}
void print()
{
system("cls");
if(i==0)
{
MessageBox(NULL,"您的圖書信息為空!","系統(tǒng)信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0,k=-1; j<i; j++)
{
color(15);
gotoxy(0,++k);
printf("這是您添加的第%d本書\n",j+1);
color(13);
gotoxy(0,++k);
printf("書號:%s",booknum[j].no);
color(12);
gotoxy(20,k);
printf("書名:%s",booknum[j].name);
color(14);
gotoxy(0,++k);
printf("出版日期:%s",booknum[j].publishday);
color(10);
gotoxy(20,k);
printf("類別:%s",booknum[j].chapt);
color(11);
gotoxy(0,++k);
printf("作者:%s",booknum[j].writer);
color(3);
gotoxy(20,k);
printf("借閱標記:%s",booknum[j].index);
color(9);
gotoxy(0,++k);
printf("借閱次數(shù):%d",booknum[j].repeat);
color(5);
gotoxy(20,k);
printf("備注:%s\n",booknum[j].add);
}
getchar();
getchar();
go:
system("cls");
return menu();
}
void print2()
{
system("cls");
if(i==0)
{
MessageBox(NULL,"您的圖書信息為空!","系統(tǒng)信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0,k=-1; j<i; j++)
{
color(15);
gotoxy(0,++k);
printf("這是您添加的第%d本書\n",j+1);
color(13);
gotoxy(0,++k);
printf("書號:%s",booknum[j].no);
color(12);
gotoxy(20,k);
printf("書名:%s",booknum[j].name);
color(14);
gotoxy(0,++k);
printf("出版日期:%s",booknum[j].publishday);
color(10);
gotoxy(20,k);
printf("類別:%s",booknum[j].chapt);
color(11);
gotoxy(0,++k);
printf("作者:%s",booknum[j].writer);
color(3);
gotoxy(20,k);
printf("借閱標記:%s",booknum[j].index);
color(9);
gotoxy(0,++k);
printf("借閱次數(shù):%d",booknum[j].repeat);
color(5);
gotoxy(20,k);
printf("備注:%s\n",booknum[j].add);
}
getchar();
getchar();
go:
system("cls");
return menu2();
}
void search()
{
system("cls");
recheck:
printf("請輸入您要查找的書號:");
char no[150];
scanf("%s",no);
if(i==0)
{
MessageBox(NULL,"您尚未輸入任何圖書信息!","系統(tǒng)信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0; j<i; j++)
{
if(strcmp(no,booknum[j].no)==0)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("書號:%s 書名:%s\n出版日期:%s 類別:%s\n作者:%s 借閱標記:%s\n借閱次數(shù):%d 備注:%s\n"),booknum[j].no,booknum[j].name,booknum[j].publishday,booknum[j].chapt,booknum[j].writer,booknum[j].index,booknum[j].repeat,booknum[j].add);
MessageBox(NULL,szMsg,"查詢結果",MB_OK);
break;
}
else if(j==i-1)
{
MessageBox(NULL,"未查詢到該圖書!","查詢結果",MB_OK);
if(IDNO==MessageBox(NULL,"您是否要重新輸入?","重新查詢確認",MB_YESNO|MB_ICONQUESTION))
goto recheck;
}
}
go:
system("cls");
return menu();
}
void search2()
{
system("cls");
recheck:
printf("請輸入您要查找的書號:");
char no[50];
scanf("%s",no);
if(i==0)
{
MessageBox(NULL,"您尚未輸入任何圖書信息!","系統(tǒng)信息不足",MB_OK|MB_ICONEXCLAMATION);
goto go;
}
for(int j=0; j<i; j++)
{
if(strcmp(no,booknum[j].no)==0)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("書號:%s 書名:%s\n出版日期:%s 類別:%s\n作者:%s 借閱標記:%s\n借閱次數(shù):%d 備注:%s\n"),booknum[j].no,booknum[j].name,booknum[j].publishday,booknum[j].chapt,booknum[j].writer,booknum[j].index,booknum[j].repeat,booknum[j].add);
MessageBox(NULL,szMsg,"查詢結果",MB_OK);
break;
}
else if(j==i-1)
{
MessageBox(NULL,"未查詢到該圖書!","查詢結果",MB_OK);
if(IDNO==MessageBox(NULL,"您是否要重新輸入?","重新查詢確認",MB_YESNO|MB_ICONQUESTION))
goto recheck;
}
}
go:
system("cls");
return menu2();
}
void insert()
{
int n;
redo:
system("cls");
printf("請輸入新圖書插入的位置:");
if(!scanf("%d",&n))
{
MessageBox(NULL,"輸入有誤,請重新輸入","Error",MB_OK|MB_ICONEXCLAMATION);
fflush(stdin);
goto redo;
}
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("您是否在%d位置插入新錄入的圖書數(shù)量"),n);
if(IDNO==MessageBox(NULL,szMsg,"插入位置確認",MB_YESNO|MB_ICONQUESTION))
goto redo;
printf("請輸入你要插入的圖書信息\n");
color(13);
printf("請輸入書號:");
scanf("%s",tempbook.no);
color(12);
printf("請輸入書名:");
scanf("%s",tempbook.name);
color(14);
printf("請輸入出版日期:");
scanf("%s",tempbook.publishday);
color(10);
printf("請輸入類別:");
scanf("%s",tempbook.chapt);
color(11);
printf("請輸入作者:");
scanf("%s",tempbook.writer);
color(3);
printf("請輸入借閱標記:");
scanf("%s",tempbook.index);
color(9);
printf("請輸入借閱次數(shù):");
scanf("%d",&tempbook.repeat);
color(5);
printf("請輸入備份:");
scanf("%s",tempbook.add);
for(int j=i,k=i+1; j>=n-1; j--,k--)
{
strcpy(booknum[k].no,booknum[j].no);
strcpy(booknum[k].name,booknum[j].name);
strcpy(booknum[k].publishday,booknum[j].publishday);
strcpy(booknum[k].chapt,booknum[j].chapt);
strcpy(booknum[k].writer,booknum[j].writer);
strcpy(booknum[k].index,booknum[j].index);
booknum[k].repeat=booknum[j].repeat;
strcpy(booknum[k].add,booknum[j].add);
}
strcpy(booknum[n-1].no,tempbook.no);
strcpy(booknum[n-1].name,tempbook.name);
strcpy(booknum[n-1].publishday,tempbook.publishday);
strcpy(booknum[n-1].chapt,tempbook.chapt);
strcpy(booknum[n-1].writer,tempbook.writer);
strcpy(booknum[n-1].index,tempbook.index);
booknum[n-1].repeat=tempbook.repeat;
strcpy(booknum[n-1].add,tempbook.add);
i++;
printf("新圖書信息插入成功!\n");
system("cls");
return menu();
}
void del()
{
char no[50];
int delname=-1;
redo:
system("cls");
MessageBox(NULL,"返回主菜單,請輸入0","特別提示",MB_OK|MB_ICONEXCLAMATION);
printf("請輸入要刪除的圖書書號:");
scanf("%s",no);
if(strcmp(no,"0")==0)
{
system("cls");
return menu();
}
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("您是否要刪除書號為%s的圖書"),no);
if(IDNO==MessageBox(NULL,szMsg,"刪除圖書信息確認",MB_YESNO|MB_ICONQUESTION))
goto redo;
if(i==0)
{
MessageBox(NULL,"您的圖書信息為空!","系統(tǒng)信息不足",MB_OK|MB_ICONEXCLAMATION);
system("cls");
return menu();
}
for(int j=0; j<i; j++)
{
if(strcmp(no,booknum[j].no)==0)
{
delname=j;
break;
}
else if(j==i-1)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("未找到書號為%s的圖書\n請核實后重新輸入!"),no);
if(IDOK==MessageBox(NULL,szMsg,"輸入信息有誤",MB_OKCANCEL|MB_ICONEXCLAMATION))
goto redo;
}
}
if(delname!=-1)
{
TCHAR szMsg[MAX_PATH];
wsprintf(szMsg,("書號:%s 書名:%s\n出版日期:%s 類別:%s\n作者:%s 借閱標記:%s\n借閱次數(shù):%d 備注:%s\n您確定要刪除該圖書嗎?"),booknum[delname].no,booknum[delname].name,booknum[delname].publishday,booknum[delname].chapt,booknum[delname].writer,booknum[delname].index,booknum[delname].repeat,booknum[delname].add);
if(IDYES==MessageBox(NULL,szMsg,"刪除確認",MB_YESNO|MB_ICONEXCLAMATION))
{
for(int j=delname+1,k=delname; j!=i; j++,k++)
{
strcpy(booknum[k].no,booknum[j].no);
strcpy(booknum[k].name,booknum[j].name);
strcpy(booknum[k].publishday,booknum[j].publishday);
strcpy(booknum[k].chapt,booknum[j].chapt);
strcpy(booknum[k].writer,booknum[j].writer);
strcpy(booknum[k].index,booknum[j].index);
booknum[k].repeat=booknum[j].repeat;
strcpy(booknum[k].add,booknum[j].add);
}
if(delname==i)
{
strcpy(booknum[delname].no,0);
strcpy(booknum[delname].name,0);
strcpy(booknum[delname].publishday,0);
strcpy(booknum[delname].chapt,0);
strcpy(booknum[delname].writer,0);
strcpy(booknum[delname].index,0);
booknum[delname].repeat=0;
strcpy(booknum[delname].add,0);
}
i--;
}
else if(IDNO==MessageBox(NULL,szMsg,"刪除確認",MB_YESNOCANCEL|MB_ICONEXCLAMATION))
{
goto redo;
}
else
goto finish;
}
finish:
return menu();
}
void save()
{
system("cls");
int n;
FILE *fp;
fp = fopen("D:/Book.txt","w");
for (int j=0; j<i; j++)
{
fprintf(fp,"%s ",booknum[j].no);
fprintf(fp,"%s ",booknum[j].name);
fprintf(fp,"%s ",booknum[j].publishday);
fprintf(fp,"%s ",booknum[j].chapt);
fprintf(fp,"%s ",booknum[j].writer);
fprintf(fp,"%s ",booknum[j].index);
fprintf(fp,"%d ",booknum[j].repeat);
fprintf(fp,"%s ",booknum[j].add);
}
fclose(fp);
MessageBox(NULL,"信息保存成功","Sucessful",MB_OK|MB_ICONEXCLAMATION);
system("cls");
return menu();
}
void load()
{
system("cls");
if(i!=0)
i=0;
FILE *fp;
fp=fopen("D:/Book.txt","r");
while(!feof(fp))
{
fscanf(fp,"%s ",booknum[i].no);
fscanf(fp,"%s ",booknum[i].name);
fscanf(fp,"%s ",booknum[i].publishday);
fscanf(fp,"%s ",booknum[i].chapt);
fscanf(fp,"%s ",booknum[i].writer);
fscanf(fp,"%s ",booknum[i].index);
fscanf(fp,"%d ",&booknum[i].repeat);
fscanf(fp,"%s ",booknum[i].add);
i++;
}
fclose(fp);
MessageBox(NULL,"圖書信息讀取完畢","圖書信息",MB_OK);
system("cls");
return menu();
}
void load2()
{
system("cls");
if(i!=0)
i=0;
FILE *fp;
fp=fopen("D:/Book.txt","r");
while(!feof(fp))
{
fscanf(fp,"%s ",booknum[i].no);
fscanf(fp,"%s ",booknum[i].name);
fscanf(fp,"%s ",booknum[i].publishday);
fscanf(fp,"%s ",booknum[i].chapt);
fscanf(fp,"%s ",booknum[i].writer);
fscanf(fp,"%s ",booknum[i].index);
fscanf(fp,"%d ",&booknum[i].repeat);
fscanf(fp,"%s ",booknum[i].add);
i++;
}
fclose(fp);
MessageBox(NULL,"圖書信息讀取完畢","圖書信息",MB_OK);
system("cls");
return menu2();
}
void sort()
{
MessageBox(NULL,"目前僅支持按照書號和借閱次數(shù)兩種方式排序\n書號請輸入A,借閱次數(shù)請輸入B","特別提醒",MB_OK|MB_ICONEXCLAMATION);
forward:
system("cls");
printf("請輸入圖書信息排序依據(jù):");
char a[10];
scanf("%s",a);
if(strcmp(a,"A")==0)
{
redo1:system("cls");
printf("請輸入排序方式(升序或降序):");
scanf("%s",a);
if(strcmp(a,"升序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(strcmp(booknum[j].no,booknum[k].no)>0)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else if(strcmp(a,"降序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(strcmp(booknum[j].no,booknum[k].no)<0)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else
{
MessageBox(NULL,"您輸入的信息有誤\n請重新輸入","Error",MB_OK|MB_ICONEXCLAMATION);
goto redo1;
}
}
else if(strcmp(a,"B")==0)
{
redo2:system("cls");
printf("請輸入排序方式(升序或降序):");
scanf("%s",a);
if(strcmp(a,"升序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(booknum[j].repeat>booknum[k].repeat)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else if(strcmp(a,"降序")==0)
{
for(int j=0; j<i; j++)
{
for(int k=j+1; k<i; k++)
{
if(booknum[j].repeat<booknum[k].repeat)
{
strcpy(tempbook.no,booknum[j].no);
strcpy(booknum[j].no,booknum[k].no);
strcpy(booknum[k].no,tempbook.no);
strcpy(tempbook.name,booknum[j].name);
strcpy(booknum[j].name,booknum[k].name);
strcpy(booknum[k].name,tempbook.name);
strcpy(tempbook.publishday,booknum[j].publishday);
strcpy(booknum[j].publishday,booknum[k].publishday);
strcpy(booknum[k].publishday,tempbook.publishday);
strcpy(tempbook.chapt,booknum[j].chapt);
strcpy(booknum[j].chapt,booknum[k].chapt);
strcpy(booknum[k].chapt,tempbook.chapt);
strcpy(tempbook.writer,booknum[j].writer);
strcpy(booknum[j].writer,booknum[k].writer);
strcpy(booknum[k].writer,tempbook.writer);
strcpy(tempbook.index,booknum[j].index);
strcpy(booknum[j].index,booknum[k].index);
strcpy(booknum[k].index,tempbook.index);
tempbook.repeat=booknum[j].repeat;
booknum[j].repeat=booknum[k].repeat;
booknum[k].repeat=tempbook.repeat;
strcpy(tempbook.add,booknum[j].add);
strcpy(booknum[j].add,booknum[k].add);
strcpy(booknum[k].add,tempbook.add);
}
}
}
}
else
{
MessageBox(NULL,"您輸入的信息有誤\n請重新輸入","Error",MB_OK|MB_ICONEXCLAMATION);
goto redo2;
}
}
else
{
MessageBox(NULL,"您輸入的信息有誤\n請重新輸入","Error",MB_OK|MB_ICONEXCLAMATION);
goto forward;
}
system("cls");
MessageBox(NULL,"排序成功","Success",MB_OK|MB_ICONEXCLAMATION);
return menu();
}
void modify()
{
redo:
system("cls");
char a[50];
int cc;
printf("請輸入你要修改的圖書書號:");
scanf("%s",a);
for(int j=0; j<i; j++)
{
if(strcmp(booknum[j].no,a)==0)
{
cc=j;
break;
}
else if(j==i-1)
{
MessageBox(NULL,"您輸入的信息有誤","Error",MB_OK|MB_ICONEXCLAMATION);
if(IDYES==MessageBox(NULL,"是否重新輸入","重新輸入確認",MB_YESNO|MB_ICONQUESTION))
goto redo;
else
menu();
}
}
forward:
system("cls");
int k=-1;
color(13);
gotoxy(0,++k);
printf("書號:%s",booknum[cc].no);
color(12);
gotoxy(20,k);
printf("書名:%s",booknum[cc].name);
color(14);
gotoxy(0,++k);
printf("出版日期:%s",booknum[cc].publishday);
color(10);
gotoxy(20,k);
printf("類別:%s",booknum[cc].chapt);
color(11);
gotoxy(0,++k);
printf("作者:%s",booknum[cc].writer);
color(3);
gotoxy(20,k);
printf("借閱標記:%s",booknum[cc].index);
color(9);
gotoxy(0,++k);
printf("借閱次數(shù):%d",booknum[cc].repeat);
color(5);
gotoxy(20,k);
printf("備注:%s\n",booknum[cc].add);
color(15);
MessageBox(NULL,"返回主菜單,請輸入0","特別提示",MB_OK|MB_ICONEXCLAMATION);
printf("請輸入你要修改的圖書信息:");
scanf("%s",a);
if(strcmp(a,"0")==0)
{
system("cls");
return menu();
}
else if(strcmp(a,"書號")==0)
{
printf("請輸入新書號:");
scanf("%s",tempbook.no);
strcpy(booknum[cc].no,tempbook.no);
MessageBox(NULL,"圖書信息已修改","Success",MB_OK);
}
else if(strcmp(a,"書名")==0)
{
printf("請輸入新書名:");
scanf("%s",tempbook.name);
strcpy(booknum[cc].name,tempbook.name);
MessageBox(NULL,"圖書信息已修改","Success",MB_OK);
}
else if(strcmp(a,"出版日期")==0)
{
printf("請輸入新出版日期:");
scanf("%s",tempbook.publishday);
strcpy(booknum[cc].publishday,tempbook.publishday);
MessageBox(NULL,"圖書信息已修改","Success",MB_OK);
}
else if(strcmp(a,"類別")==0)
{
printf("請輸入新類別:");
scanf("%s",tempbook.chapt);
strcpy(booknum[cc].chapt,tempbook.chapt);
MessageBox(NULL,"圖書信息已修改","Success",MB_OK);
}
else if(strcmp(a,"借閱標記")==0)
{
printf("請輸入新借閱標記:");
scanf("%s",tempbook.index);
strcpy(booknum[cc].index,tempbook.index);
MessageBox(NULL,"圖書信息已修改","Success",MB_OK);
}
else if(strcmp(a,"借閱次數(shù)")==0)
{
printf("請輸入新借閱次數(shù):");
scanf("%s",tempbook.repeat);
booknum[cc].repeat=tempbook.repeat;
MessageBox(NULL,"圖書信息已修改","Success",MB_OK);
}
else if(strcmp(a,"備注")==0)
{
printf("請輸入新備注:");
scanf("%s",tempbook.add);
strcpy(booknum[cc].add,tempbook.add);
MessageBox(NULL,"圖書信息已修改","Success",MB_OK);
}
else
{
MessageBox(NULL,"您輸入的信息有誤\n請重新輸入","Error",MB_OK|MB_ICONEXCLAMATION);
goto forward;
}
system("cls");
return menu();
}
void esc2()
{
MessageBox(NULL,"您已安全退出,期待您的下次使用","系統(tǒng)退出成功",MB_OK|MB_ICONEXCLAMATION);
system("cls");
gotoxy(40,10);
color(12);
printf("請按任意鍵退出\n");
exit(0);
}
void esc1()
{
MessageBox(NULL,"期待你的下次使用","系統(tǒng)退出成功",MB_OK|MB_ICONEXCLAMATION);
system("cls");
gotoxy(40,10);
color(12);
printf("請按任意鍵退出\n");
exit(0);
}
int num()
{
color(7);
printf("請輸入相應數(shù)字進行相應操作< >\n");
int b;
gotoxy(27,13);
scanf("%d",&b);
return b;
}
int num2()
{
color(7);
printf("請輸入相應數(shù)字進行相應操作< >\n");
int b;
gotoxy(27,2);
scanf("%d",&b);
return b;
}
void function(int b)
{
if(b==1)
enter();
else if(b==2)
print();
else if(b==3)
search();
else if(b==4)
insert();
else if(b==5)
del();
else if(b==6)
save();
else if(b==7)
load();
else if(b==8)
sort();
else if(b==9)
modify();
else if(b==0)
esc2();
else
{
MessageBox(NULL,"您的輸入有誤,請重新輸入","輸入有誤",MB_OK|MB_ICONEXCLAMATION);
system("cls");
menu();
}
}
void menu()
{
gotoxy(24,4);
color(12);
printf("1、添加圖書信息 2、查看圖書信息");
gotoxy(24,6);
color(14);
printf("3、查找圖書信息 4、插入圖書信息");
gotoxy(24,8);
color(10);
printf("5、刪除圖書信息 6、保存圖書信息");
gotoxy(24,10);
color(9);
printf("7、讀取圖書信息 8、圖書信息排序");
gotoxy(24,12);
color(5);
printf("9、修改圖書信息 0、退出管理系統(tǒng)\n");
function(num());
}
void function2(int b)
{
if(b==1)
load2();
else if(b==2)
print2();
else if(b==3)
search2();
else if(b==4)
esc1();
else
{
MessageBox(NULL,"您的輸入有誤,請重新輸入","輸入有誤",MB_OK|MB_ICONEXCLAMATION);
system("cls");
menu2();
}
}
void menu2()
{
color(12);
gotoxy(0,0);
printf("1、讀取圖書信息");
color(14);
gotoxy(20,0);
printf("2、查看圖書信息");
color(10);
gotoxy(0,1);
printf("3、查找圖書信息");
color(5);
gotoxy(20,1);
printf("4、退出管理系統(tǒng)\n");
function2(num2());
}
void main()
{
if(IDNO==MessageBox(NULL,"您是否擁有管理員權限?","圖書管理信息系統(tǒng)",MB_ICONQUESTION|MB_YESNO))
{
if(IDYES==MessageBox(NULL,"您確定以游客身份登錄系統(tǒng)嗎","登錄確認",MB_ICONQUESTION|MB_YESNO))
menu2();
else
esc1();
}
if(IDCANCEL==MessageBox(NULL,"請輸入管理員用戶名和密碼!","圖書管理信息系統(tǒng)",MB_ICONEXCLAMATION|MB_OKCANCEL))
esc1();
log_in();
system("cls");
menu();
}
古語有云,書中自有顏如玉,書中自有黃金屋,F(xiàn)如今,不管是小說繪本,歷史文獻,還是散文雜志,都有一批批忠實的讀粉,圖書管理軟件,它對圖書文化的建立和發(fā)展有著良好的作用。它不僅方便了圖書管理者,也方便了租
C語言編譯器哪個好?C語言編譯器主要分為C/C++兩大類,那么作為新手,剛接觸到C語言學習,該如何選擇一款C語言編譯器呢?目前比較流行的C語言編譯器主要是GCC、MSC、TurboC等幾種,完美實現(xiàn)了ANSIC標準,并且進行了針
Microsoft Visual C++6.0官方下載v6.0 XP完整版_附詳細安裝使用教程04-08 / 452.4M
Microsoft Visual C++ V6.0綠色版v6.0 win7免安裝版_兼容32/64位04-08 / 51.4M
Microsoft Visual C++ V6.0精簡版v6.0 XP/Win7安裝版04-08 / 31.2M
Microsoft Visual C++6.0 win8下載v6.0 綠色版_win8/win8.1可用04-08 / 52.5M
Dreamweaver cs6中文破解版01-13 / 279.7M
C-Freev 5.0 綠色安裝版11-22 / 14.3M
關于騰牛 | 聯(lián)系方式 | 發(fā)展歷程 | 版權聲明 | 下載幫助(?) | 廣告聯(lián)系 | 網(wǎng)站地圖 | 友情鏈接
Copyright 2005-2022 QQTN.com 【騰牛網(wǎng)】 版權所有 鄂ICP備2022005668號-1 | 鄂公網(wǎng)安備 42011102000260號
聲明:本站非騰訊QQ官方網(wǎng)站 所有軟件和文章來自互聯(lián)網(wǎng) 如有異議 請與本站聯(lián)系 本站為非贏利性網(wǎng)站 不接受任何贊助和廣告