求C语言编写图书管理系统

c\u8bed\u8a00\u7f16\u5199\u56fe\u4e66\u7ba1\u7406\u7cfb\u7edf

#include "stdio.h"
#include
#include "conio.h"
#include
#include

void main()
{void adm1(),adm2(),build(),huan(),borrow(),dele();
adm1();

}

void adm1()
{ FILE *fp,*p ;
char adp[20],password[20];
int i,n=0;
textbackground(2);
clrscr();
gotoxy(25,12);
fp=fopen("pass","r");
if(fp==NULL) { printf("no exit ");getch();exit(0);}
printf("input password:");
for(;;)
{

window(42,12,53,12);
textbackground(0);
clrscr();
gets(adp);
for(i=0;adp[i]!='\0';i++);
fgets(password,i+1,fp);
gotoxy(55,12);
if(strcmp(password,adp)==0) { window(55,12,70,12);clrscr();cprintf("YES");getch();adm2();getch();exit(0);}
else{ n++;
window(55,12,60,12);clrscr();gotoxy(55,12);cprintf("error");
for(i=0;i<30;i++) delay(8000);
if(n==2) { window(55,12,70,12);clrscr();gotoxy(55,12);cprintf("once again");for(i=0;i<=30;i++) delay(8000);}
if(n==3) { window(55,12,70,12);clrscr();gotoxy(55,12);cprintf("3 second out");for(i=0;i<=30;i++) { delay(8000);}
exit(0);
}
}
fclose(fp);clrscr();

}
}
void adm2()
{ char a;
window(1,1,80,25);
clrscr();
for(;;)
{ clrscr();
gotoxy(30,8);printf("built a new user (B)");
gotoxy(30,10);printf("return book (R)");
gotoxy(30,12);printf("borrow books (J)");
gotoxy(30,14);printf("delete user (D)");
a=getch();
if(a=='b') build();
if(a=='r') huan();
if(a=='j') borrow();
if(a=='d') dele();
else continue;

}

}

void build()
{ FILE *f,*p;
char id[20],name[20],sex[2],age[3],grad[50];
window(1,1,80,25);
clrscr();
printf("ID number:");
scanf("%s",id);
printf("name:");
scanf("%s",name);
printf("sex:");
scanf("%s",sex);
printf("grad:");
scanf("%s",grad);
p=fopen(id,"w+");
if(p==NULL) { printf("can't build that user");getch();adm2();}

fprintf(p,"%s ",name);
fprintf(p,"%s ",id);
fprintf(p,"%s ",sex);
fprintf(p,"%s ",grad);
printf("bulid success");
getch();
fclose(p);
}



void huan()
{
FILE *fp,*p,*f;
char id[20],a[5][50],name[20],c;
int i=0,m,k; clrscr();
printf("input ID number:");
scanf("%s",id);
p=fopen(id,"r");
if(p==NULL) { printf("error");getch();fclose(p);exit(0);}
fscanf(p,"%s",name);
fclose(p);
fp=fopen(name,"r");
do{ fscanf(fp,"%s",a[i++]); }while(!feof(fp));

for(k=0;k<i-1;k++) printf("\nbook %d: %s",k+1,a[k]);
fclose(fp);
f=fopen(name,"w+");
for(;;)
{
printf("\n\npress the book number that you want to return. \n\nPress 6 if you want to return all. \n\npress 7 to cancle.\n");
scanf("%d",&m);
if(m==7) { for(k=0;k<i-1;k++)
{
fprintf(f,"%s\n",a[k]);
}
fclose(f);
adm2();
}
if(m==6) remove(name);
if(m<6)
for(k=0;k<i-1;k++)
{ if(k!=m-1)
fprintf(f,"%s\n",a[k]);
}
printf("book %d has returned.",m);
printf("\ncontinue? (Y/N)");
c=getch();
if(c=='y') continue;
if(c=='n') { fclose(f);adm2(); }
}
}




void borrow()
{ FILE *f,*m,*p;
char id[20],book[5][50],name[20],c;
int i=0,n=0,k;
window(1,1,80,25);clrscr();
printf("please input the user's ID:");
scanf("%s",id);
m=fopen(id,"r");
if(m==NULL) { printf("user no exit"); getch();fclose(m);adm2();}
fscanf(m,"%s",name);
fclose(m);
p=fopen(name,"r");
if(p==NULL);
else
{ while(!feof(p))
{
fscanf(p,"%s",book[i]);
i++;
}
i--;
for(k=0;k<i;k++) printf("\nbook %d :%s",k+1,book[k]);
}
fclose(p);
f=fopen(name,"w");
printf("\nhow many book do you want to borrow?:");
do{printf("\ninput:");scanf("%d",&n); }while(i+n>=6);
for(k=i;k<i+n;k++)
{ printf("\nbook %d :",k+1);
scanf("%s",book[k]);
}
for(k=0;k<i+n;k++) fprintf(f,"%s\n",book[k]);
fputc('\0',f);
printf("success");
fclose(f);

}







void dele()
{ FILE *fp,*f;
char id[20],a[4][20],c,b[5][50];
int i=0,j=0,k;
window(1,1,80,25);clrscr();
printf("Input ID number:");
scanf("%s",id);
fp=fopen(id,"r");
if(fp==NULL) { printf("\nuser isn't exit");getch(); fclose(fp);adm2();}
else while(!feof(fp))
{ fscanf(fp,"%s",a[i++]);}
printf("\nname: %s",a[0]);
printf("\nID: %s",a[1]);
printf("\nsex: %s",a[2]);
printf("\ngrad: %s",a[3]);
f=fopen(a[0],"r");
if(f==NULL);
else {
while(!feof(f))
{ fscanf(f,"%s",b[j++]);}
for(k=0;k<j-1;k++) printf("\nbook %d: %s",k+1,b[k]);
}
printf("\nDo you want to delete? (Y/N): ");
c=getch();
fclose(fp);
fclose(f);
if(c=='y') { remove(id);remove(a[0]);printf("\nsuccess");getch();adm2();}
if(c=='n') adm2();
}

\u52a0qq 543301928 \u6211\u6709\u505a\u8fc7 \u7ed9\u4f60\u5427

#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
#include<stdio.h>
using namespace std;
const int Maxb=10000; //最多的图书
class Book//图书类
{
int tag; //删除标记1:已删0:未删
int number; //ISBN书号
char name[20]; //书名
char author[10]; //主编
char number2[10];//版次
char position[20];//出版社
char time[20];//出版年
int price;//定价
int onshelf; //是否在架1:在架0:已借
public:
Book() {}
char *getname() { return name; } //获取姓名
int getnumber() { return number; } //获取ISBN书号
int gettag() { return tag; } //获取删除标记
char *getauthor() {return author;} //获取主编
char *getnumber2() {return number2;} //获取版次
char *getposition() {return position;} //获取出版社
char *gettime() {return time;} //获取出版年
char getprice() {return price;} //获取图书定价void delbook() { tag=1; } //删除图书
void addbook(int n,char *na,char *au,char *n2,char *da,char *ti,int pr) //增加图书
{
tag=0;
number=n;
price=pr;
strcpy(name,na);
strcpy(author,au);
strcpy(number2,n2);
strcpy(position,da);
strcpy(time,ti);
onshelf=1;
} void disp() //输出图书
{
cout << setw(10) << number << setw(10) << name << setw(10)
<< setw(10)<<author<<setw(10)<<number2<<setw(10)<<position<<setw(10)<<time<<setw(10)<<price<<endl;
}
}; class BDatabase //图书库类
{
int top; //图书记录指针
Book book[Maxb]; //图书记录
public:
BDatabase() //构造函数,将book.txt读到book[]中
{
Book b;
top=-1;
fstream file("book.txt",ios::in);
while (1)
{
file.read((char *)&b,sizeof(b));
if (!file) break;
top++;
book[top]=b;
}
file.close();
}
void clear() //全删
{
top=-1;
}
int addbook(int n,char *na,char *au, char *n2, char *da,char *ti,int pr) //增加图书
{
Book *p=search1(n);
if (p==NULL)
{
top++;
book[top].addbook(n,na,au,n2,da,ti,pr);
return 1;
}
return 0;
}
Book *search1(int bookid) //查找图书
{
for (int i=0;i<=top;i++)
if (book[i].getnumber()==bookid &&
book[i].gettag()==0)
return &book[i];
return NULL;
} Book *search2(int bookid,char *name) //按书名查找图书
{
for(int i=0;i<=top;i++)
if(strcmp(book[i].getname(),name)==0)
{bookid=book[i].getnumber();<br> return &book[i];<br> }

return NULL;
} Book *search3(int bookid,char *author) //按主编查找图书
{
for(int i=0;i<=top;i++)
if(strcmp(book[i].getauthor(),author)==0)
{bookid=book[i].getnumber();<br> return &book[i];<br> }

return NULL;
} void bookdata(); //图书库维护
void disp()
{
cout<<setw(10)<<"图书书号"<<setw(10)<<"图书名字"<<setw(10)<<"图书主编"<<setw(10)<<"版次"<<setw(10)<<"出版社"<<setw(10)<<"出版年"<<setw(10)<<"价格"<<endl<<endl<<endl<<endl;
for (int i=0;i<=top;i++)
if (book[i].gettag()==0)
book[i].disp();
}
~BDatabase() //析构函数,将book[]写入book.txt文件中
{
fstream file("book.txt",ios::out);
for (int i=0;i<=top;i++)
if (book[i].gettag()==0)
file.write((char *)&book[i],sizeof(book[i]));
file.close();
}
}; void BDatabase::bookdata()
{
int choice=1;
int choice2=1;
int choice3=1;
int choice4;
char bname[40];
char editor[40];
char banci[40];
char position[40];
char year[40];
int value;
int bookid;
Book *b;
while (choice!=0)
{
cout<<endl<<endl;
cout<<" **************************** "<<endl;
cout<<" **** 1添加图书 **** "<<endl;
cout<<" **** 3 删除图书 **** "<<endl;
cout<<" **** 4 图书查询 **** "<<endl;
cout<<" **** 5 显示图书 **** "<<endl;
cout<<" **** 6 全部删除 **** "<<endl;
cout<<" **** 7 借书 **** "<<endl;
cout<<" **** 8 还书 **** "<<endl;
cout<<" **** 0 退出 **** "<<endl;
cout<<" ****************************"<<endl<<endl;
cout<<endl<<"请按键选择您需要的操作:";
cin>>choice;
while(choice!=1&&choice!=2&&choice!=3&&choice!=4&&choice!=5&&choice!=6&&choice!=0){
cout<<endl<<" ** 您输入的编号在菜单里不存在,请重新输入 **"<<'\a'<<endl<<endl;
cout<<" 请选择您需要的操作:";
cin>>choice;
}
switch (choice)
{
case 1:
cout <<"输入ISBN书号(一定为数字否则会异常):";
cin >> bookid;
cout <<"输入书名:";
cin >> bname;
cout <<"输入主编:";
cin >>editor;
cout <<"输入版次(一定为数字否则会异常):";
cin>>banci;
cout<<"输入出版社:";
cin>>position;
cout<<"输入出版年(一定为数字否则会异常):";
cin>>year;
cout<<"输入价格(一定为数字否则会异常):";
cin>>value;
addbook(bookid,bname,editor,banci,position,year,value);
cout<<"ISBN书号"<<bookid<<"添加成功,如需返回主菜单请按1,退出系统请按0(一定要输入数字)";
cin>>choice4;
while (choice4!=0&&choice4!=1)
{
cout<<"输入错误请重新输入"<<endl;
cin>>choice4;}
switch (choice4)
{
case 1:
choice=1;
break;
case 0:
choice=0;
break;}break;

case 3:
cout << " 输入ISBN书号:";
cin >> bookid;
b=search1(bookid);
if (b==NULL)
{
cout << " 该图书不存在" << endl;
break;
}
b->delbook();
break;
case 4:
cout<<"查找方式:"<<endl<<"1按ISBN书号查询 2按书名查询 3按主编查询 0退出:";
cin>>choice3;
switch(choice3)
{
case 1:
{cout << " 输入ISBN书号:"; //按ISBN书号查询<br>cin >> bookid; <br>b=search1(bookid); <br>if (b==NULL) <br>{ <br>cout << " 该图书不存在" << endl; <br>break; <br>}
b->disp();
}
break;
case 2:
{
cout<<"请输入书名:";
cin>>bname;
b=search2(bookid,bname);
if(b==NULL)
{
cout<<"该图书不存在啊!"<<endl;
break;
}
b->disp();
}

break;
case 3:
{
cout<<"请输入主编:";
cin>>editor;
b=search3(bookid,editor);
if(b==NULL)
{
cout<<"该主编不存在!"<<endl;
break;
}
b->disp();
}
break;
}
break;
case 5:
disp();
break;
case 6:
clear();
break;
} }
cout<<endl<<" ****** 慢走 ******"<<endl<<endl<<endl;
};

int main()
{
BDatabase BookDB;
cout<<endl<<endl<<endl;
cout<<" Welcome to the library of SCU "<<endl;
cout<<" 欢 迎 来 到 四 川 大 学 图 书 馆 "<<endl;
cout<<endl<<endl<<"请输入0进入图书馆"<<endl;
int w;
cin>>w;
if(w==0)
BookDB.bookdata();
system("pause");
return 0;
}

这么大个系统就15分,不说别的了,做出来的话,至少500+以上的金钱,我只能提供你函数

额,杂说呢,你还没写呀

  • 缂栧埗绋嬪簭,瀹炵幇涓涓鍥句功淇℃伅绠$悊绯荤粺,鍔熻兘鍖呮嫭褰曞叆銆佹煡璇㈢瓑銆(c璇█)
    绛旓細甯屾湜鑳藉甯姪浣 include "stdio.h"include<graphics.h> include "conio.h"include<stdlib.h> include<string.h> void main(){void adm1(),adm2(),build(),huan(),borrow(),dele();adm1();} void adm1(){ FILE *fp,*p ;char adp[20],password[20];int i,n=0;textbackground(2);...
  • C璇█鍥句功淇℃伅绠$悊绯荤粺,鍏蜂綋鎿嶄綔鍖呮嫭鍥句功淇℃伅鐨勫綍鍏ャ佹坊鍔犮佹樉绀恒佹煡鎵...
    绛旓細cout<<"鍥句功棣嗕腑鏌ユ棤姝や功!"<<endl;else cout<<"鍥句功棣嗕腑姝や功淇℃伅濡備笅:"<<endl;cout<<result->first<<":"<<result->second<<endl;} void Library::delete_book_num(string A){ map<string,string>::iterator result =find(book_num.begin(), book_num.end(), A);if(result==book_...
  • 姹侰璇█鍥句功绠$悊绯荤粺婧愪唬鐮
    绛旓細printf("鈹 9. 鏌ョ湅鍏ㄩ儴瓒呮湡鏈繕鐨勫浘涔︺ 鈹俓n"); printf("鈹 0. 閫鍑鍥句功绠$悊绯荤粺銆 鈹俓n"); printf("鈹 鈹俓n"); printf("鈹椻斺斺旇閫夋嫨浣犻渶瑕佺殑鎿嶄綔鈥斺斺斺敍\n");}int main(){ ook Bo; lend Lin; char BNum[20]; char CNum[20]; printf("---娆 杩庤繘鍏ュ浘涔︾鐞嗙郴缁!---\n\...
  • 鐢–璇█缂栧啓涓涓鍥句功淇℃伅绠$悊绯荤粺
    绛旓細鎹簡涓涓紝浣犵湅鐪嬶細include include include include//杈撳叆/杈撳嚭鏂囦欢娴佺被 usingnamespacestd;constintMaxr=100;//鏈澶氱殑璇昏 constintMaxb=100;//鏈澶氱殑鍥句功 constintMaxbor=5;//姣忎綅璇昏呮渶澶氬熶簲鏈功 //璇昏呯被,瀹炵幇瀵硅鑰呯殑淇℃伅鐨勬弿杩 classReader { private:inttag;//鍒犻櫎鏍囪1:宸插垹0:鏈垹 ...
  • 涓涓畝鍗曠殑鍥句功绠$悊绯荤粺,C璇█
    绛旓細printf("===澶у淇℃伅绠$悊绯荤粺===\n");printf("---\n");printf("1:鍔炲叕瀹ょ鐞 5:璐㈠姟绠$悊\n");printf("2:鏁欏姟绠$悊 6:鍥句功绠$悊\n");printf("3:绉戠爺绠$悊 7:璁惧绠$悊\n");printf("4:浜轰簨绠$悊 8:鍚庡嫟绠$悊\n");printf(" 0:閫鍑虹郴缁焅n");printf("---\n");printf(...
  • c璇█鍥句功绠$悊绯荤粺 鐢ㄦ暟缁勫仛
    绛旓細printf("\t\t\t| * - * - * -鍥句功绠$悊绯荤粺 * - * - * |\n"); printf("\t\t\t* [1] 鏌ヨ鍥句功 *\n"); printf("\t\t\t| [2] 鍊熼槄鍥句功 |\n"); printf("\t\t\t* [3] 鍊熻繕鍥句功 *\n"); printf("\t\t\t* [4] 娴忚鍥句功淇℃伅 *\n"); printf("\t\t\t| [5] 閫鍑哄浘涔...
  • C璇█ 鏈夊叧浜鍥句功淇℃伅绠$悊绯荤粺浠g爜
    绛旓細2009-01-11 鎬ユ眰鐢–璇█缂栧啓鐨勫浘涔︾鐞嗙郴缁熸簮浠g爜 131 2016-07-13 鎬ユ眰C璇█鍥句功绠$悊绯荤粺浠g爜 2010-06-21 鍥句功淇℃伅绠$悊绯荤粺C璇█ 8 2014-06-30 c璇█鍥句功绠$悊绯荤粺浠g爜 2019-01-08 姹侰璇█缂栧啓绠鍗曠殑鍥句功绠$悊绯荤粺婧愪唬鐮 1 2019-01-13 鐢–璇█缂栧啓鍥句功绠$悊绯荤粺浠g爜涓殑鏌ヨ绯荤粺 1 鏇村绫讳技闂 > ...
  • 姹傜函c璇█缂栧啓鐨 鍥句功淇℃伅绠$悊绯荤粺 a~
    绛旓細//鍥句功绠$悊鍛榹private:intnumber;intage;charname[20];public:controlloer();controlloer(intc,inta,charb[20]);intgetnumber();intgetage();char*getname();voidreworkage(inti);voidreworkname(chara[20]);};controlloer::controlloer(){number=0;charb[20]="noone";age=0;strcpy(name,b);}...
  • C璇█浣滀笟銆婁功搴鍥句功閿鍞绠$悊绯荤粺銆
    绛旓細include include include include usingnamespace std;constint Maxr=100;constint Maxb=100;constint Maxbor=5;classReader { private:inttag;intno;charname[10];intborbook[Maxbor];public:Reader(){} char*getname() {return name;} intgettag() {return tag;} intgetno() {return no;}...
  • 鐢–璇█璁捐鍜屽疄鐜颁竴涓鍥句功淇℃伅绠$悊绯荤粺鈥,婊¤冻浠ヤ笅瑕佹眰:
    绛旓細鐢–璇█璁捐鍜屽疄鐜颁竴涓鍥句功淇℃伅绠$悊绯荤粺鈥,婊¤冻浠ヤ笅瑕佹眰: 20 1.绯荤粺浠ヨ彍鍗曟柟寮忓伐浣;2.浣跨敤閾捐〃瀵瑰浘涔︿俊鎭繘琛岀鐞嗗拰缁存姢;3.浣跨敤浜岃繘鍒舵枃浠跺湪纾佺洏涓婁繚瀛樺浘涔﹁褰曚俊鎭;4.閾捐〃涓瘡涓粨鐐瑰寘鎷滃浘涔︾紪鍙枫佷功鍚嶃佷綔鑰呫佸嚭鐗堢ぞ銆佸嚭鐗堟椂闂淬佷环鏍尖濆熀... 1.绯荤粺浠ヨ彍鍗曟柟寮忓伐浣;2.浣跨敤閾捐〃瀵瑰浘涔︿俊鎭繘琛岀鐞嗗拰缁存姢;3...
  • 扩展阅读:十大免费图书管理软件 ... 免费的图书管理系统 ... java图书管理系统源码 ... 基于ssm图书管理系统 ... 图书馆管理系统c语言 ... 图书管理系统论文 ... 图书管理系统c语言版 ... 图书管理系统c++代码 ... java简单图书管理登录系统 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网