專業的QQ下載站 本站非騰訊QQ官方網站

QQ下載|QQ資訊|QQ分類|下載排行|最近更新

軟件
軟件
文章
搜索
當前位置:首頁應用軟件教育學習 → c語言圖書管理系統附源碼 v1.0 免費版
c語言圖書管理系統附源碼

c語言圖書管理系統附源碼v1.0 免費版

圖書管理系統課程設計評分:
下載地址
  • 軟件介紹
  • 軟件截圖
  • 猜你喜歡
  • 同類推薦
  • 相關文章

c語言圖書管理系統附源碼是一款由C語言編寫的圖書管理系統,它是由吾愛論壇網友分享提供的,對于學習C語言的朋友可以借鑒參考學習代碼的編寫,這也是在大學里初學C語言經常會遇到的課題,歡迎大家下載學習。

c語言圖書管理系統附源碼

系統說明

猜測大一的同學只要是學習C語言的應該最后都會有課程設計,我們一組當時分配到的題目是寫圖書館管理系統。

系統并不是很完善,只是實現功能,望大佬勿噴。

其中程序的主要貢獻者是我舍友范同學(Robin),我是負責了其中一部分函數。

為了在課上方便演示,我們把所有的代碼全都放到一個源文件里了。

這里把源代碼給大家供大家參考。

大家在查看圖書信息之前一定要先導入信息(也就是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;         //借閱次數

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;         //借閱次數

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;

}

TCHAR szMsg[MAX_PATH];

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("請輸入新錄入的圖書數量:");

int n;

if(!scanf("%d",&n))

{

MessageBox(NULL,"輸入有誤,請重新輸入","Error",MB_OK|MB_ICONEXCLAMATION);

fflush(stdin);

goto redo;

}

TCHAR szMsg[MAX_PATH];

wsprintf(szMsg,("您要新錄入的圖書數量是%d本"),n);

if(IDNO==MessageBox(NULL,szMsg,"錄入圖書數量確認",MB_YESNO|MB_ICONQUESTION))

goto redo;

system("cls");

int j=1;

while(n--)

{

color(7);

printf("這是您新添加的第%d本書\n",j);

color(15);

printf("圖書總數:%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("請輸入借閱次數:");

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("借閱次數:%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,"您的圖書信息為空!","系統信息不足",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("借閱次數:%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,"您的圖書信息為空!","系統信息不足",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("借閱次數:%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,"您尚未輸入任何圖書信息!","系統信息不足",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借閱次數:%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,"您尚未輸入任何圖書信息!","系統信息不足",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借閱次數:%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位置插入新錄入的圖書數量"),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("請輸入借閱次數:");

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,"您的圖書信息為空!","系統信息不足",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借閱次數:%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,"目前僅支持按照書號和借閱次數兩種方式排序\n書號請輸入A,借閱次數請輸入B","特別提醒",MB_OK|MB_ICONEXCLAMATION);

forward:

system("cls");

printf("請輸入圖書信息排序依據:");

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("借閱次數:%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,"借閱次數")==0)

{

printf("請輸入新借閱次數:");

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,"您已安全退出,期待您的下次使用","系統退出成功",MB_OK|MB_ICONEXCLAMATION);

system("cls");

gotoxy(40,10);

color(12);

printf("請按任意鍵退出\n");

exit(0);

}

void esc1()

{

MessageBox(NULL,"期待你的下次使用","系統退出成功",MB_OK|MB_ICONEXCLAMATION);

system("cls");

gotoxy(40,10);

color(12);

printf("請按任意鍵退出\n");

exit(0);

}

int num()

{

color(7);

printf("請輸入相應數字進行相應操作< >\n");

int b;

gotoxy(27,13);

scanf("%d",&b);

return b;

}

int num2()

{

color(7);

printf("請輸入相應數字進行相應操作< >\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、退出管理系統\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、退出管理系統\n");

function2(num2());

}

void main()

{

if(IDNO==MessageBox(NULL,"您是否擁有管理員權限?","圖書管理信息系統",MB_ICONQUESTION|MB_YESNO))

{

if(IDYES==MessageBox(NULL,"您確定以游客身份登錄系統嗎","登錄確認",MB_ICONQUESTION|MB_YESNO))

menu2();

else

esc1();

}

if(IDCANCEL==MessageBox(NULL,"請輸入管理員用戶名和密碼!","圖書管理信息系統",MB_ICONEXCLAMATION|MB_OKCANCEL))

esc1();

log_in();

system("cls");

menu();

}

展開內容

軟件截圖

  • c語言圖書管理系統附源碼v1.0 免費版

下載地址

  • PC版

相關版本

同類推薦

相關文章

用戶評論

請自覺遵守互聯網相關政策法規,評論內容只代表網友觀點,與本站立場無關!

熱門評論

最新評論

已有0人參與,點擊查看更多精彩評論

關于騰牛 | 聯系方式 | 發展歷程 | 版權聲明 | 下載幫助(?) | 廣告聯系 | 網站地圖 | 友情鏈接

Copyright 2005-2019 QQTN.com 【騰牛網】 版權所有 鄂ICP備17010784號-1 | 鄂公網安備 42011102000245號

聲明: 本站非騰訊QQ官方網站 所有軟件和文章來自互聯網 如有異議 請與本站聯系 本站為非贏利性網站 不接受任何贊助和廣告

二分彩是什么