亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言圖書管理系統簡潔版

2020-01-26 13:48:55
字體:
來源:轉載
供稿:網友

DOS界面的圖書管理系統,具體內容如下

程序分為兩塊:管理員操作(收錄圖書、刪除圖書等)和會員操作(注冊、借書、還書等);

1、管理員操作界面

2、會員操作界面

global.h頭文件:(程序中只使用了一個編寫的頭文件,在這里存放了所有的接口函數以及需要使用到的頭文件,還有結構體的定義)

#include "iostream" #include "string" #include "fstream" #include "conio.h"   //getch(); #include "algorithm"  //sort(); using namespace std;  #define Max_BookNum 10240   //最大存書數目 #define Max_MemberNum 10240   //最大會員數目  typedef enum{//圖書借閱狀態  Borrowed=1,    //已被借閱  available=0    //當前可借 }Book_Status;  typedef struct{//圖書信息  char name[20];   //書名  char author[20];  //作者  string isbn;   //圖書編號  string price;   //價格  string pub;    //出版社  string pubtime;   //出版時間  string addtime;   //收錄日期  string Class;   //分類號  Book_Status Book_sta; //借閱狀態,初始化為可借 }Book_Message;  typedef struct{//借閱人信息  string name;  //姓名  string sex;    //性別  string number;   //學號  char login[20];   //登錄號 以A1001開始  char code[20];   //登錄密碼  Book_Message Borrow_Book[10];  //最大可借書本數目:10本  int BorBook_Cnt;  //借書數量 }Member_Message;   void Show_WelMenu(); //Welcome菜單 void Book_InfoInput(); //圖書信息錄入 void Book_InfoShow(Book_Message *Book_Info); //輸出圖書信息 void Book_Search();  //搜索書本  0,按書名;1,按作者 void Book_Delete();  //刪除圖書信息 void Book_InfoChange(); //修改圖書信息 void Book_Sort();  //圖書排序 void Book_RecordSave(); //圖書信息保存  int Book_RecordLoad(); //讀檔   void Admin_Login();   //管理員登錄 void Member_WelMenu();  //會員菜單界面 void Book_WelMenu();  //管理員菜單界面  void Member_Login();  //會員登錄 void Member_Reg();  //會員注冊 void Member_Bor();  //借書手續 void Member_Ret();  //還書 void Member_Search(); //會員資料查詢 0,按姓名;1,按學號 void Member_Delete(); //會員資料注銷 void Member_RecordSave();//會員信息保存 int Member_RecordLoad();//會員信息讀檔 void Member_InfoChange();   //void Member_BookMsgSave(); //int Member_BookMsgLoad(); void Member_MsgShow(Member_Message *Member_Msg);//信息顯示 void Member_CodeAdjust();//會員修改密碼 

主程序:main.c文件:

#include "global.h" int Book_Record=0;     int Member_Record=0; Book_Message Book_List[Max_BookNum];   //圖書登記表 Member_Message Member_List[Max_MemberNum];  //會員登記表  int main() {  char key[2];  while(1){   Show_WelMenu();   int cmd;   cin>>cmd;   if(!cmd)    Admin_Login();   //進入管理員登錄界面   else    Member_Login();   //進入會員登錄界面     cout<<"/t/t/t/t是否退出圖書管理系統?/ty/n/n";   cin>>key;   if(strcmp(key,"y")==0)    break;  }  cout<<"系統即將退出"<<endl;  getch();  return 0; } 

以下分別是各個功能模塊的函數實現:

1、輸出界面(選擇登錄界面)

void Show_WelMenu() {  system("cls");  cout<<"/t/t/t/t歡迎使用圖書管理系統"<<endl<<endl;  cout<<"/t/t/t/t0:管理員登錄"<<endl;  cout<<"/t/t/t/t1:會員登錄"<<endl; } 

2、管理員登錄程序(這里選擇了固定密碼登錄,Init_Code就是初始密碼。當然也可以自行修改密碼)

void Admin_Login() {  short count=0;  char code[20];  char Init_Code[10]="0";  cout<<"請輸入管理員密碼:"<<endl;  while(1){   cin>>code;   if(strcmp(code,Init_Code)==0){    break;   }   else{    cout<<"密碼錯誤請重新輸入"<<endl;    count++;    if(count>3){     cout<<"密碼錯誤超過三次,程序即將退出"<<endl;     break;    }   }  }  Book_WelMenu();   //enter Admin Menu } 

3、會員登錄程序(使用賬戶密碼登錄,若無賬號,可自行注冊)

void Member_Login() {   Book_Record = 0;  Member_Record = 0;  Book_Record = Book_RecordLoad();  Member_Record = Member_RecordLoad();  //從文件讀入當前注冊表  char code[20],login[20],Req[2];  bool Login_Sta = false;  while(1){ //登錄程序,登錄成功后退出   if(Login_Sta) break;   if((Member_Record==0)){    cout << "/t/t/t/t用戶庫為空,請先注冊" << endl;    cout << "/t/t/t/t按任意鍵注冊";    getch();    system("cls");    Member_Reg();    }   else{    cout << "/t/t/t/t請輸入會員登錄號:" << endl;    cin>>login;    for(Mem_Point=0; Mem_Point<Member_Record; Mem_Point++){     if((strcmp(login,Member_List[Mem_Point].login) == 0)){      cout << "/t/t/t/t請輸入密碼:" << endl;      cin >> code;      while(strcmp(code, Member_List[Mem_Point].code) != 0){        cout << "密碼錯誤,請重新輸入" << endl;        cin >> code;      }      Login_Sta = true;      cout << "/t/t/t/t登錄成功,按任意鍵繼續";      break;     }    }    if(Mem_Point >= Member_Record){     cout << "/t/t/t該用戶未注冊,不能使用圖書管理系統" << endl;     cout << "/t/t/t/t是否現在注冊(Y/N)" << endl;     cin >> Req;     if((strcmp(Req,"y") == 0) || (strcmp(Req,"Y") == 0))      Member_Reg();    }   }  }  getch();  system("cls");  Member_WelMenu();  getch(); } 

4、文件操作(讀入與寫入,這里只貼出會員信息部分的文件操作,圖書收錄的文件操作類似)

/*導出會員注冊表到文件*/ void Member_RecordSave()  {  ofstream outfile;  outfile.open("E://Course//002//Member_Info.txt",ios::ate|ios::out); //若有文件,先清空,再寫入  for(int i=0;i<Member_Record;i++){   outfile << Member_List[i].name <<" " << Member_List[i].sex <<" " << Member_List[i].number <<" "     << Member_List[i].login <<" " << Member_List[i].code << endl;  }  outfile.close(); }  /*從文件導入會員注冊表*/ int Member_RecordLoad() {  int Member_FileLoad=0;  ifstream infile;  infile.open("E://Course//002//Member_Info.txt",ios::in);  string n,s,num;  char l[20],c[20];  while(1){   infile >> n >> s >> num >> l >> c;  //從文件導入信息,并注冊會員信息   Member_Add(n,s,num,l,c);   if(infile.eof() != 0)break;   Member_FileLoad++;  }  infile.close();  return Member_FileLoad; } 

5、會員注冊程序(先掃描注冊表,若已被注冊返回失敗。注冊就是在文件中添加會員信息)

//內部函數 void Member_Add(string n,string s,string num,char* l,char* c) {  Member_List[Member_Record].name  = n;  Member_List[Member_Record].sex  =s;  Member_List[Member_Record].number =num;  strcpy(Member_List[Member_Record].login,(const char*)l);  strcpy(Member_List[Member_Record].code,(const char*)c);  Member_Record++; }  /*會員注冊程序*/ void Member_Reg() {   string n,s,num;  char l[20],c[20],choice[2];  cout << "/t/t/t/t會員注冊" << endl;  cout << "/t/t請以此輸入 姓名、性別、學號、登錄號、密碼" << endl;  cin >> n >> s >> num >> l >> c;  for(int i=0; i<Member_Record; i++){   if(strcmp(Member_List[i].login,l) == 0){    cout << "/t/t/t/t該登錄號已存在,注冊失敗" << endl;    getch();    system("cls");    return;   }  }  Member_Add(n,s,num,l,c);  cout << "/t/t/t/t注冊成功" << endl;  cout << "/t/t/t/t是否存入文件/ty/n?" << endl;;  cin >> choice;  if((strcmp(choice,"y")==0) || (strcmp(choice,"Y") == 0))   Member_RecordSave();  getch();  system("cls");  //clear screan } 

6、會員注銷和密碼修改

/*會員資料注銷*/ void Member_Delete() {  bool key=false;  char Del_Name[20],cmd[2];  cout<<"請輸入要注銷的會員登錄號"<<endl;  cin>>Del_Name;  for(int i=0;i<Member_Record;i++){   if(strcmp(Member_List[i].login,Del_Name)==0){ //found    key=true;    Member_MsgShow(&Member_List[i]);    cout<<"是否需要刪除該會員,y/n?"<<endl;    cin>>cmd;    if((strcmp(cmd,"y")==0)||(strcmp(cmd,"Y")==0)){ //ensure delete     while(i<=Member_Record-1){      Member_List[i]=Member_List[i+1];      i++;     }     Member_Record--;     Member_RecordSave();     cout<<"會員 "<<Del_Name<<" 已注銷"<<endl;     break;    }    }  }  if(!key) cout<<"沒有找到該會員"<<endl; }  void Member_CodeAdjust() {   char TempCode[20],choice[2],Temp[20];  strcpy(Temp,Member_List[Mem_Point].code);  while(1){   cout<<"請輸入原來的密碼:";   cin>>TempCode;   if(strcmp(Temp,TempCode)==0){    cout<<"請輸入新的密碼:";    cin>>TempCode;    cout<<"請再次輸入新的密碼:";    strcpy(Member_List[Mem_Point].code,TempCode);    cin>>TempCode;    if(strcmp(Member_List[Mem_Point].code,TempCode)==0){     cout<<"/t/t/t/t修改密碼成功,新密碼為"<<Member_List[Mem_Point].code<<endl;    //test     Member_RecordSave();     break;    }    else{     cout<<"兩次輸入的密碼不一致,修改失?。?<<endl;     cout<<"/t/t/t/t輸入Y繼續,輸入N放棄修改"<<endl;     cin>>choice;     if((strcmp(choice,"n")==0)||(strcmp(choice,"N")==0))      return ;     continue;    }   }   cout<<"密碼錯誤,請按任意鍵重新輸入!"<<endl;   getch();  }  } 

管理員操作的大部分程序和會員操作是類似的,這里只貼一個圖書排序的操作

7、圖書排序

/* 內部函數,供圖書排序功能調用*/ bool cmp( Book_Message a, Book_Message b ){  if(strcmp( a.author, b.author ) == 0)   return strcmp( a.name, b.name ) < 0;  return strcmp( a.author , b.author ) < 0; } /* * @brief 圖書排序,根據作者姓名升序排序,若作者相同,則按書名升序排序 * @param None * @retval None */ void Book_Sort() {  sort( Book_List, Book_List+Book_Record, cmp );  cout << "排序已完成" << endl;  cout << "所有圖書信息如下" << endl;  cout << "書名/t作者/t價格/t出版社/t出版時間/t分類號 編號 收錄日期 是否可借" << endl;  for(int i=0; i<Book_Record; i++){   Book_InfoShow( &Book_List[i] );  }  getch(); } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费视频网站| 性色av一区二区三区免费| 久久精品91久久香蕉加勒比| 中文字幕亚洲欧美日韩高清| 92看片淫黄大片看国产片| 国产精品久久久久久影视| 精品无人国产偷自产在线| 日韩精品亚洲视频| 日韩视频―中文字幕| 国产精品高精视频免费| 亚洲欧美中文字幕在线一区| 91成人性视频| 国产精品成人国产乱一区| 精品magnet| 深夜福利一区二区| 欧美激情一区二区三区高清视频| 日本午夜精品理论片a级appf发布| www高清在线视频日韩欧美| 欧美影院在线播放| 成人乱人伦精品视频在线观看| 国产精品91一区| 亚洲精品成人免费| 国产精品成人一区二区| 人妖精品videosex性欧美| 91精品久久久久久久久中文字幕| 欧美猛交免费看| 亚洲欧美自拍一区| 日韩电影中文字幕一区| 欧美综合在线观看| 九九久久久久99精品| 成人精品一区二区三区电影黑人| 国产精品久久9| 亚洲第一二三四五区| 欧洲s码亚洲m码精品一区| 91国语精品自产拍在线观看性色| 日韩麻豆第一页| 日本欧美一级片| 亚洲高清在线观看| 国产99视频在线观看| 成人国产在线视频| 欧美激情精品久久久久久免费印度| 中文字幕久热精品视频在线| 亚洲国产小视频| 夜夜躁日日躁狠狠久久88av| 国产精品亚洲激情| 欧美精品成人在线| 国产精品免费久久久| 国产午夜精品美女视频明星a级| 成人性生交大片免费观看嘿嘿视频| 欧美一区第一页| 亚洲摸下面视频| 97**国产露脸精品国产| 久久精品这里热有精品| 欧美日韩午夜视频在线观看| 亚洲最大的成人网| 91视频-88av| 国产午夜精品全部视频播放| 日韩网站免费观看高清| 国产成人一区二区三区小说| 日韩中文av在线| 欧美大片在线看| 亚洲精品一区二区在线| 在线精品国产成人综合| 成人激情视频免费在线| 国产亚洲人成网站在线观看| 2019中文字幕全在线观看| 欧美肥老妇视频| xvideos成人免费中文版| 国产成人精品一区二区在线| 欧美香蕉大胸在线视频观看| 国内揄拍国内精品少妇国语| 成人久久久久久| 亚洲精品资源美女情侣酒店| 国产欧洲精品视频| 欧美小视频在线观看| 国产精品第100页| 国产盗摄xxxx视频xxx69| 欧美国产在线视频| 永久免费看mv网站入口亚洲| 久久精品国产电影| 91中文字幕在线观看| 国自产精品手机在线观看视频| 81精品国产乱码久久久久久| 96sao精品视频在线观看| 超碰精品一区二区三区乱码| 亚洲国产精品人人爽夜夜爽| 日韩免费观看av| 精品国产一区二区三区久久久| 亚洲国产三级网| 夜夜嗨av色综合久久久综合网| 久久精品国产99国产精品澳门| 日本精品免费观看| 亚洲色图av在线| 88国产精品欧美一区二区三区| 亚洲图片制服诱惑| 欧美国产日韩在线| 欧美精品生活片| 北条麻妃在线一区二区| 欧美亚洲一区在线| 亚洲天堂日韩电影| 亚洲午夜未删减在线观看| 亚洲人a成www在线影院| 国模吧一区二区三区| 亚洲丝袜av一区| 国产精品男女猛烈高潮激情| 精品亚洲一区二区| 色午夜这里只有精品| 久青草国产97香蕉在线视频| 亚洲另类激情图| 国产精品免费久久久久影院| 欧美极品美女视频网站在线观看免费| 国产精品永久在线| 欧美日韩国产中字| 国模叶桐国产精品一区| 欧美黑人性生活视频| 国产成人a亚洲精品| 国产精品69av| 国产精品午夜视频| 91性高湖久久久久久久久_久久99| 91精品国产沙发| 亚洲综合小说区| 久久影院免费观看| 国产精品福利在线观看| 久久久视频免费观看| 欧美老少配视频| 在线观看欧美成人| 亚洲精品福利资源站| 日韩性生活视频| 久久精品一本久久99精品| 久久久精品国产亚洲| 91精品国产综合久久男男| 91超碰caoporn97人人| 久久久久久999| 欧美一性一乱一交一视频| 国产亚洲在线播放| 欧美成人h版在线观看| 日韩欧美亚洲成人| 欧美视频中文在线看| www.亚洲一二| 精品亚洲一区二区三区在线观看| 国产精品网红福利| 日韩高清免费在线| 欧美性生活大片免费观看网址| 国产精品私拍pans大尺度在线| 日韩美女福利视频| 亚洲在线第一页| 欧美精品免费看| 成人伊人精品色xxxx视频| 国外成人性视频| 在线观看日韩欧美| 国产成人亚洲综合91| 大桥未久av一区二区三区| 亚洲欧美制服另类日韩| 欧美国产视频一区二区| 欧美性理论片在线观看片免费| 国产999精品| 亚洲男人第一网站| 九九热在线精品视频| 亚洲精品黄网在线观看| 欧美性极品xxxx娇小| 91精品国产99久久久久久| 日韩视频永久免费观看| 成人黄色免费网站在线观看| 人人澡人人澡人人看欧美|