- 时间:2021-09-14 22:13 编辑:周迪奋 来源:蚂蚁资源 阅读:200
- 扫一扫,手机访问
摘要:大家好,今天给大家介绍关于图书管理系统c语言(用c编写图书管理登录系统)的相关内容,详细讲解c语言程序设计 图书管理系统,跪求图书管理系统,C语言编写。,如何使用C语言编写图书管理系统等,希望可以帮助到您。
c语言程序设计 图书管理系统,我们还开始做课程设计~~~这是我的同学做了:#include
#include #include Struct Book {int ID,USR [10],总,商店,天[10 ]; Char名称[31],作者[21];}书[100]; / *以上是结构的定义,以及存储书籍和借贷的信息。 * / void page_title(char * menu_item){clrs(“>>书籍管理系统<<<\n\n- %s -\n\n",menu_item); } /*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/ void return_confirm(void) { printf("\n按任意键返回……\n"); getch(); } /*上面是返回前请求确认的函数,以便在返回前观察结果*/ int search_book(void) { int n,i; printf("请输入图书序号:"); scanf("%d",&i); for(n=0;n<100;n++) { if(books[n].id==i) { printf("书名:%s\n",books[n].name); printf("作者:%s\n",books[n].author); printf("存数:%d of ",books[n].store); printf("%d\n",books[n].total); return n; } } printf("\n输入错误或无效图书序号.\n"); return -1; } /*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返 回数组下标,如果找不到相应记录则提示错误并返回-1。*/ void book_out(void) { int n,s,l,d; page_title("借阅图书"); if((n=search_book())!=-1&&books[n].store> 0){printf(”请输入竞标号:“); scanf(”%d“,&s); printf(”请输入天数:“); scanf(”%d“,&d); for(l = 0; l <10; l ++){ix(书籍[n] .usr [l] == 0 ){书[n]。usr [l] = s;书[n]。日[l] = d; break;}}书[n] .store--;}如果(n!= - 1 &&书籍[ n] .store == 0)printf(“本书全部借用。\ n”); return_confirm();} / *以上是函数借用,首先致电书籍功能* / void book_in(void){int n,s,l; page_title(“退货书”); if((n = search_book())!= - 1 &&书籍[n] .store 跪求图书管理系统,C语言编写。,#include #include #include Struct Book {int ID,USR [10],总,商店,天[10]; Char名称[31],作者[21];}书[100]; / *以上是结构的定义,以及存储书籍和借贷的信息。 * / void page_title(char * menu_item){clrs(“>>书籍管理系统<<<\n\n- %s -\n\n",menu_item); } /*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/ void return_confirm(void) { printf("\n按任意键返回……\n"); getch(); } /*上面是返回前请求确认的函数,以便在返回前观察结果*/ int search_book(void) { int n,i; printf("请输入图书序号:"); scanf("%d",&i); for(n=0;n<100;n++) { if(books[n].id==i) { printf("书名:%s\n",books[n].name); printf("作者:%s\n",books[n].author); printf("存数:%d of ",books[n].store); printf("%d\n",books[n].total); return n; } } printf("\n输入错误或无效图书序号.\n"); return -1; } /*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返 回数组下标,如果找不到相应记录则提示错误并返回-1。*/ void book_out(void) { int n,s,l,d; page_title("借阅图书"); if((n=search_book())!=-1&&books[n].store> 0){printf(”请输入竞标号:“); scanf(”%d“,&s); printf(”请输入天数:“); scanf(”%d“,&d); for(l = 0; l <10; l ++){ix(书籍[n] .usr [l] == 0 ){书[n]。usr [l] = s;书[n]。日[l] = d; break;}}书[n] .store--;}如果(n!= - 1 &&书籍[ n] .store == 0)printf(“这本书全部借用。\ n”); return_confirm();} / *以上是借用的功能,首先致电书籍函数* / void book_in(void){ int n,s,l; page_title(“退货书”); if((n = search_book())!= - 1 &&书籍[n] .store 如何使用C语言编写图书管理系统,库管理系统是一个在Windows系统下运行的应用程序,主要用于增加库中的删除,更改,检查和其他操作,也可以执行使用该系统的用户的登录名和密码管理。 。该系统为用户提供了一个简单的人机界面,允许用户根据提示输入操作项,并调用系统提供的管理功能。所需功能类似于学生评分管理系统,界面可以参考附录C.用户分为两类:管理员和普通人。功能要求如下所述。 1用户登录:确定是否允许用户根据用户名和密码参考使用系统用户红色,以及用户登录时,确定可根据用户权限使用哪些功能。学生只能通过浏览只有实质性的变化。 2提供系统主控制平台:系统主控制平台也应根据用户权限而不同,只列出用户范围内的功能。系统主平台包括输入功能选项,可以调用相应程序的两个主要需求。与教师和学生相对应的主要控制平台是不同的。可以完成的操作也不同。 3创建书籍信息文件:用户输入书名,书籍分类号,标题,作者姓名,发布社会名称,发布年月,定价,存储库号码和BOR划船等等。存储在系统磁盘中的信息。管理,查找和备份。 4添加书籍信息:在原始账簿信息文件的基础上添加新的书籍信息记录,并继续保存,并将增加的文件存储状态显示给用户。 5删除书籍信息:提示用户输入删除操作的书号,如果文件中有此信息,则删除与书号对应的记录。并选择是否继续删除。 6修改书籍信息:提示用户输入要执行修改操作的账面编号,如果对文件有这样的兴趣,则用户将提示用户修改选项修改,结果存储在文件。这部分了需求还需要提示用户选择是否继续修改。 7查询书籍信息:提供书号或书名等查询。在此功能中,还需要提示用户是否需要继续检查并继续查找,然后返回主界面。 8常规用户查询个人借款并按日期排序: ⑨管理员和常规用户管理:管理员还需要创建,增加,删除,浏览用户view。管理员创建的用户存储在名为Yonghu的磁盘文件中。每当用户登录系统时,用户都可以登录文件中的用户名和密码。管理员还具有用户的功能。在永湖中也在继续增加用户和密码,权限等文件。当某些系统使用此系统时,您还可以删除操作,管理员具有修改用户权限的功能,并且常规用户和管理员对系统权限有所不同。
责任编辑(周迪奋)
以上就是关于**图书管理系统c语言,用c编写图书管理登录系统**的全部内容,如有需要以上系统,请在搜索框搜索商品或者咨询客服,了解更多请关注蚂蚁资源网。
内容来源于网络,如无意中有侵权,请联系客服核实,以便及时删除,谢谢支持!

- 网站快速搭建
- 用C语言编写一个图书管理系统(录入、查询、排序,文件操作)…………,数计学院《程序设计》课程设计报告图书管理系统学生姓名:安玲学 号:2009117251班 级:计科0912指导老师:熊日 期:2011-6-25 2、课程设计正文格式:1 题目与要求图书管理系统(录入、查询、排序,文件操作)1.1 问题提出制作一个简易的图书管理系统,实现新书录入、图书资料查询、显示所有图书信息等功能。 运行结果示例,如下:1.2 本题目涉及的知识点结构、数组、循环、函数、链表、指针、文件1.3 功能要求1、程序的输入:只需按系统提示输入整型数字或英文字母即可。每次数据的输入均以回车符作为结束标志。2、程序的输出:每一项数据输出均有汉字的提示,输出格式均为整型或字符串。3、程序的系统功能:(1)、图书库系统管理;(2)、书籍信息的管理;(3)、实现新书录入、图书资料查询、显示所有图书信息操作;(4)、根据需要提供对图书所需的查询方式。2 功能设计(左对齐,宋体粗四号)2.1 算法设计(左对齐,宋体粗小四号)本系统需要实现的功能要求:1、实现新书录入:int BookList::NewBook(){Book *s;s=new Book; //为插入的新书申请结点Book *q;Book *p;cout<<"输入新书书名:";cin>>s->bookname;cout<<"输入作者:";cin>>s->author;p=first;q=first; //建立链表if(first->next==NULL)//如果原链表为空,把新书的结点插入到链表中{first->next=s; //头插法s->next=NULL;}else{while(p->next->bookname<s->bookname)//按书名排序插入{p=p->next;if(p->next==NULL)break;}s->next=p->next;p->next=s;} return 1;}运行结果如下:2、图书资料查询:void BookList::SOldBook()//查询{Book *s;Book *p;cout<<"输入你要查询的书名:";cin>>s->bookname;p=first->next;while(p->bookname!=s->bookname){p=p->next;//接着查找下一个结点if(p==NULL)break;}if(p==NULL)cout<<"你所查询的书没找到!"<<endl;elsecout<<"找到:《"<<p->bookname<<"》 "<<p->author<<endl;}运行结果如下:3、显示所有图书信息:void BookList::DisplayBook(){j=0;cout<<"本馆现有书籍有:"<<endl;Book *p;p=first->next;while(p!=NULL) //输出链表中的元素{ cout<<p->bookname<<" "<<p->author<<endl;p=p->next;//指针后移j++;//统计书的总数}cout<<"共有图书"<<j<<"本"<<endl;}void BookList::testwrite() {ofstream out; //写入文件流out.open("BookList.txt",ios::out);if(!out){cerr<<"错误!不能打开文件!";exit(1);}Book *p;for(p=first->next;p!=NULL;p=p->next) {out<<p->bookname<<'\t'<<p->author<<endl; //把链表中的元素写到文件中}out.close();}运行结果如下:2、选择3后,调用排序函数,进入函数后利用switch语句实现一个如图2所示的菜单,该菜单中每个选项调用一个函数 3、根据所选菜单编写相应代码:1)输入函数input:利用循环输入的方式,将有关信息存入结构数组,结构数组根据实际的人数,采用动态方式建立……2)求平均分函数average:….…….2.1 模块图图书馆管理系统数据输入数据修改插入数据添加查找浏览图1 系统功能模块图3 程序代码设计(左对齐,宋体粗四号)1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】显示一系列功能选项输入n,判断n是否是1~4?根据n的值调用各功能模块函数结束开始n内容:分模块(函数)简述其功能;模块中使用的各变量的类型及作用,包括声明数据类型(如结构体);设计过程;并列出该模块(函数)的代码。(宋体小四号)。例如:录入模块(模块名宋体粗小四号,其余宋体小四号)1)函数原形:int BookList::NewBook()2)功 能:插入(按书名排序进行插入)一本新书(图书的信息:书名、作者名)。3)变量及类型:int a[5][4] :整型形参数组,接收main函数传过来的二维数组的首地址。int i , j :循环控制变量。int n :整型形参变量,接收main()传过来的数组人数。struct student stu[ ]:接收主函数传过来的数组首地址。4)说明:执行完输入函数后,会在键盘缓冲区中保存回车键,后面再对字符型变量赋值时,会将缓冲区中的回车键当成数据存入变量中,所以要在某些输入语句后面加getchar()函数。(若不需说明部分可省略)查询模块1、函数原形:void BookList::SOldBook()2、功能:输入你要查询的书名查询已有图书信息输出模块1、函数原形:void BookList::DisplayBook()2、功能:输出所有图书信息4 C程序设计总结(左对齐,宋体粗四号)内容:1.程序调试情况;2.本人在程序设计中感想通过为期一周的课程设计,对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们软件工程专业的学习中占据着十分重要的地位。这个程序的结构大体是从网络上借鉴的,但是结果无法运行,只能自己修改,最后终于调试通过,同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。参考文献(左对齐,宋体粗四号)《C语言程序设计》《数据结构》《Visual C++》附录:程序清单#include <iostream>#include <string> //C++磁盘操作头文件#include <istream>#include <fstream>#include <iomanip>//自定义输出宽度using namespace std;struct Book //结构类型{ string bookname;//书名 string author;//作者名 Book *next;};class BookList{public: BookList(){first=new Book;first->next=NULL;} int NewBook();//插入新书名 void SOldBook();//查询 void testread();//从文件中读出数据 void testwrite();//将数据写入到文件中 void DisplayBook();//输出书籍 ~BookList();private: Book *first;//定义头结点指针 int j;};int BookList::NewBook(){ Book *s;s=new Book; //为插入的新书申请结点 Book *q; Book *p; cout<<"输入新书书名:"; cin>>s->bookname; cout<<"输入作者:"; cin>>s->author; p=first;q=first; //建立链表 if(first->next==NULL)//如果原链表为空,把新书的结点插入到链表中 { first->next=s; //头插法s->next=NULL; } else{while(p->next->bookname<s->bookname)//按书名排序插入{p=p->next;if(p->next==NULL)break;}s->next=p->next;p->next=s; } return 1;}void BookList::SOldBook()//查询{ Book *s; Book *p; cout<<"输入你要查询的书名:"; cin>>s->bookname; p=first->next; while(p->bookname!=s->bookname) {p=p->next;//接着查找下一个结点if(p==NULL)break; } if(p==NULL)cout<<"你所查询的书没找到!"<<endl; elsecout<<"找到:《"<<p->bookname<<"》 "<<p->author<<endl;}void BookList::testread(){ ifstream in;j=0;//读出文件流 in.open("BookList.txt",ios::in);//以读的形式打开原文件 if(!in) {cerr<<"错误!不能打开文件!";exit(1); } Book *q; Book *p;q=new Book; p=first; cout<<"从BookList.txt中读出已有图书如下:"<<endl; while(!in.eof()) {in>>q->bookname>>q->author;//从文件里面读到链表cout<<q->bookname<<" "<<q->author<<endl;j++; p->next=q;p=q;q->next=new Book;q=q->next; } p->next=NULL; cout<<"共有图书"<<j<<"本"<<endl<<endl; in.close();}void BookList::DisplayBook(){ j=0; cout<<"本馆现有书籍有:"<<endl; Book *p; p=first->next; while(p!=NULL) //输出链表中的元素 { cout<<p->bookname<<" "<<p->author<<endl;p=p->next;//指针后移j++;//统计书的总数 } cout<<"共有图书"<<j<<"本"<<endl;}void BookList::testwrite() { ofstream out; //写入文件流 out.open("BookList.txt",ios::out); if(!out) {cerr<<"错误!不能打开文件!"; exit(1); } Book *p; for(p=first->next;p!=NULL;p=p->next) {out<<p->bookname<<'\t'<<p->author<<endl; //把链表中的元素写到文件中 } out.close();}BookList::~BookList()//析构函数{ Book *p; Book *q; p=first->next; while(p) {q=p;p=p->next;delete q; }}void main(){ char s; int i,k,count=0; BookList L; //定义对象 L.testread();//把文件中的内容读到链表中 while(1) {char *menu[]={"输入新书","查询旧书","显示所有图书","退出",""}; //字符串指针数组 for(i=0;menu[i][0]!='\0';i++)cout<<i+1<<"、 "<<menu[i]<<endl;cin>>k;switch(k){case 1:count=L.NewBook();break;case 2:L.SOldBook();break;case 3:L.DisplayBook();break;default:if(k!=4)cout<<"输入错误!"<<endl;break;}if(k==4){ if(count){ cout<<"修改后的BookList.txt未保存,是否保存?(y/n):";cin>>s;if(s=='y')L.testwrite();}break;} }}
- 2021-09-14 22:13:17

- 郭大帅
- 参考它!设计书籍信息管理系统,书籍信息包括:书号,标题,作者姓名,发布时间,价格等.1,系统在菜单中工作,密码登录。2.书籍信息的输入功能(添加数据)。 3.删除(删除数据)书籍信息。 4.浏览书籍信息的功能(查找数据)。 5.删除书籍信息(修改数据)。 6,]图书信息的计算分类。计算所有书籍的总价格和平均价格(AVER,单精度,输出十进制),将按所有数据顺序排序,按高于低电平。 #include #include #include #include #define stack_init_size 10 #define确定1 #define true 1 #define false 0 #define错误0 struct student / *定义学生类型,用于存储借用的书籍* / {int carnum; char lendbook [10];}学生[1000]; struct雇用/ *定义员工类型* / {int雇用; char elecommename [15]; int就业; CHAR雇员[2]; char雇员[10];长int雇用;雇佣[50];结构书/ *定义书籍类型* / {int booknum; Char BookName [10]; Char Bookcreat [10]; int turefalse; / *用于借用和返回模块以确定一本书是否从条件* /}书中借用[1000]; STRUCT CAR / *书卡的数据类型* / {int carnum; char studentname [10]; IntstudentClass;}车[100]; Huanbook()/ *返回一本书函数* / {file * fp,* fp2; / *定义两个文件指针,FP2用于设置临时文件,防止数据损坏* / int i,n; int carnum; Char Lendbook [10];printf(“请输入您的卡号\ n”); scanf(“%d”,&carnum); fp = fopen(“car.txt”,“r”); / *阅读卡号记录* / for(i = 0;欺诈(&car),1,fp)! = 0;对于循环判断卡号I ++)/ *存在* / {if(car [i] .carnum == carnum)/ *卡号存在,输入下一个循环* / {n = i; fclose(FP); Printf(“请输入您要支付的书籍的名称”); Scanf(“%s”,lendbook); fp = fopen(“Record.txt”,“R”); for(i = 0;欺诈(和学生[i],sizeof(struct学生),1,fp)!= 0; i ++)/ *判断是否借用输入书* / {if(strcmp(学生[学生[ I] .Lendbook,Lendbook == 0)/ *借用书,输入下一个循环,否则显示错误* / {fclose(fp); fp = fopen(“record.txt”,“r”); fp2 = fopen(“bookl.txt”,“w”);对于(我= 0;欺诈(&学生[i],sizeof(struct学生),1,fp)! = 0; i ++){如果(strcmp(strcmp(strest [i] .lendbook,lendbook == 0){继续; / *删除借用的书记录/} fwrite(&stu)dent [i],sizeof(struct student),1, FP2); / *写出原始书籍* /} fclose(FP)的记录; fclose(FP2); fp = fopen(“replargr.txt”,“w”); fp2 = fopen(“bookl.txt”,“r”); for(i = 0;欺诈(和学生[i],sizeof(struct学生),1,fp2)!= 0; i ++){fwrite(结构),1,fp); / *写下借用的记录信息回来* /} fclose(FP); fclose(FP2); Fopen(“Bookl.txt”,“W”); / *清除临时文件记录* / fclose(FP2); fp = fopen(“book.txt”,“r”); fp2 = fopen(“bookl.txt”,“w”); for(i = 0;欺诈(&book [i],sizeof(struct book,1,fp)!= 0; i ++)/ *写入记录的record到临时文件以防止以前的记录* / {如果由于修改信息i == n){book [i] .turefalse = 1; fwrite(&book [i],sizeof(struct book),1,fp2); / *将本书的原始状态设置为无人借用* /继续; fwrite(结构书,1,fp2); fclose(fp); fclose(FP2); fp = fopen(“book.txt”,“w”); fp2 = fopen(“bookl.txt”,“r”); for(i = 0;欺诈(&book [i],sizeof(struct book,1,fp2)!= 0; i ++){fwrite(和书写[i],sizeof(struct book),1,fp) ; / *写一个临时文件* /} fclose(fp); fclose(fp2); fopen(“bookl.txt”,“w”); / * qing临时文件* / fclose(fp2); printf(“书完成,按任何键返回\ n“); getch();返回1;}} printf(”您没有借阅这本书,任何返回\ n的键); / *错误提示* / fclose( FP); getch();返回0; printf(“系统没有这样的卡片,以及管理员联系,按任意键返回\ n”); / *错误提示* / fclose fp); getch(); findbook(){file * fp; Char BookName [10]; int ture,我; fp = fopen(“book.txt”,“r”); printf(“请输入您想要查找标题\ n”); scanf(“%s”,bookname); for(i = 0;欺诈(&book [i],sizeof(struct book),1,fp)!= 0; i ++){if(strcmp(bookname,book [i] .bookname)== 0) {if(书[i] .turefalse == 1){printf(“本书详细信息是:%d%s%s现在没有人借用\ n按任何键返回\ n”,书[i] .booknum,书[i] .bookname,书[i] .bookcreat);} else {printf(“这本书借了\ n”); fclose(FP);返回0; fclose(FP);返回false;}} printf(没有你想要询问的“书\ ny); fclose(FP);返回false;} findbook1(){file * fp; Char Bookcreat [10]; int ture,我; fp = fopen(“book.txt”,“r”); printf(“请输入您想要查找的作者名称\ n”); scanf(“%s”,bookcreat); for(i = 0;欺诈(&book [i],sizeof(struct book),1,fp)!= 0; i ++){if(strcmp(书柜,书[i] .bookcreat)= = 0) {if(书[i] .turefalse == 1){printf(“本书详细信息是:%d%s%s.现在没有人借用\ n按任何键返回\ n”,书[i] .booknum ,书[i] .bookname,书[i] .bookcreat);} else {printf(“本书已经借来\ n”); fclose(FP);返回0; fclose(FP);返回false;}}} printf(“我要查询的书籍\ n”); fclose(FP); Returnaf false;} lendcount(){file * fp; int i,n = 0; fp = fopen(“Record.txt”,“R”); for(i = 0;欺诈(和学生[i],sizeof(struct学生),1,fp)! = 0; i ++){printf(“卡号:%d借书:%s \ n”,学生[i] .carnum,stuitent [i] .lendbook; n = n + 1;} fclose(fp); printf( “当前总共%d书\ n”,n); printf(“按任意键\ n”); getch();返回n; chabook(){char ch5; do {printf(“---- ----------欢迎来到图书馆查询系统!----------- \ n“); printf(”1: \ n“); printf( “2:<按书名查找> \ n”); printf(“0:<按作者查找> \ n”); printf(“请输入0--2,其他输入非法!\ n”); scanf(“%s”, &CH5);切换(CH5){案例'1':findbook()getch(); beaf; ub; case'2':findbook1(); getch(); betch();休息;案例'0':break;默认;默认;默认值:printf(“ nonwotes操作\ n“); getch();休息;}}} while(ch5!='0');返回false; leendbook(){file * fp,* fp2; int i,n; int carn嗯; printf(“请输入您的卡号\ n”); scanf(“%d”,&carnum); fp = fopen(“car.txt”,“r”); for(i = 0;欺诈(&car [i],sizeof(struct car),1,fp)!= 0; i ++){if(car [i] .carnum == carnum){n = i; fclose(FP); printf(“请输入您想要借用的书的名称”); Scanf(“%s”,student [n] .lendbook; fp = fopen(“book.txt”,“r”); for(i = 0;欺诈(和书写[i],sizeof(struct book),1 ,fp)!= 0; i ++){if(书[i] .bookname,学生[n] .lendbook)== 0){if(书[i] .turefalse == 0){printf(“抱歉这本书是借来的,请借用其他书籍\ n“); fclose(FP); getch();返回;}否则fclose(fp); fp = fopen(“Record.txt”,“A +”);学生[n] .carnum = carnum; FWRITE(&Student)[n],sizeof(struct学生),1,fp); fclose(FP); fp = fopen(“Book.txt“,”r“); fp2 = fopen(”bookl.txt“,”w“);对于(i = 0;欺诈(和书写[i],sizeof(struct book,1,fp)!= 0; i ++){if(strcmp(书[i] .bookname,student [n] .lendbook)== 0){book [i] .turefalse = 0; fwrite(和书籍[i],sizefof(struct书籍),1,FP2);继续; FWRITE(和书籍[i],sizeof(结构书),1,fp2)fclose(fp); fclose(fp2); fp = fopen(“book.txt”,“ w“); fp2 = fopen(”bookl.txt“,”r“);对于(i = 0; read)和书[i],sizeof(struct book),1,fp2)!= 0; I ++ ){fwrite(和书籍[i],sizeof(结构书),1,fp); fclose(fp); fclose(fp2)fopen(“bookl.txt”,“w”); fclose(fp2); printf (“借阅书后,按任意键返回\ n”); getch();返回;}} printf(“没有这样的书,任意键返回\ n”); fclose(fp); getch() ;返回;}} printf(“您的卡NuMBER不存在,请申请新卡,按任意键返回\ n“); fclose(fp); getch();} carcount(){file * fp; int i,n = 0; fp = fopen (“car.txt”,“r”);对于(i = 0;欺诈(&car),1,fp)!= 0; i ++){printf(“%d纸张<返回> \ n” ,i + 1,汽车[i] .carnum,汽车[i] .sudentname,汽车[i] .sudentclass; n = n + 1;} fclose(fp); printf(“当前总数为%d,prict%d \ n“,n); printf(”按任意键\ n“); getch();} delcar()}} delcar(){file * fp,* fp2; int i; int carnum; charn选择; fp = fopen (“car.txt”,“r”); fp2 = fopen(“bookl.txt”,“w”); printf(“请输入您想要删除的卡号\ n”); printf(“如果您输入的卡号存在,系统会自动删除此信息!如果没有存在,系统没有任何陈ges \ n“); scanf(”%d“,&carnum); for(i = 0;欺诈(&car [i],sizeof(struct car),1,fp)!= 0; i ++){如果(汽车[i] .carnum!= carnum){fwrite(&car [i],sizeof(struct car),1,fp2); fclose(fp); fclose(fp2); printf(“你真的吗?想要删除卡?删除后,本书的所有信息都无法恢复“y / n”\ n“); scanf(”%s“,和选择);如果(选择=='y'| |选择=='y'){fp = fopen(“car.txt”,“w”); fp2 = fopen(“bookl.txt”,“r”); for(i = 0;欺诈(&car [ i],sizeof(struct car),1,fp2)!= 0; i ++){fwrite(&car),1,fp); fclose(fp); fclose(fp2); fp2 = fopen(“bookl .txt“w”); fclose(fp2); printf(“按任意键返回\ n”); getch();返回;否则{printf(“按任意键返回\ n”); getch ();返回;}} addcar){file * fp; int我= 0; fp = fopen(“car.txt”,“a +”); printf(“请输入卡号\ n”); scanf(“%d”,&car [i]。carnum); printf(“请输入学生名称\ n”); scanf(“%s”,汽车[i] .studentname); printf(“请输入class \ n”); Scanf(“%d”,&car [i] .studentclass; fwrite(&car),1,fp); fclose(FP); printf(“输入,任何键返回\ n”); getch();}来源
- 2021-09-14 22:13:17

- 萨满祭司
- / ************************************************* * ************************************************* ************ /#包括 #include #include #include //使用命名空间std输入/输出文件流; const int maxr = 100; //大多数读者const int maxb = 100; // Upli Book Const金额= 5 //每个读者借用了五本书//阅读器类,实现了读者信息类阅读器的描述{私有:int标签; //删除标签1:已删除0:未选择的INT NO; //阅读器号char名[10]; //读者int borbook [maxbor]的名称; //公共由书籍:e69da5e887aa62616964757a686964616f31333335333666Reader(){}字符*的getName(){返回名称;} //获取名称int gettag(){返回标签; } //获取删除标记int getno(){返回否;} //获取读者号void setName(char na [])//设置您的姓名{struch(name,na); void delbook(){tag = 1; } //设置删除标签1:删除0:没有void addreader(int n,char * na)//增加读者{tag = 0; no = n; Strcpy(名称,na); for(int i = 0 i >选择;切换(选择){案例'1':cout << "输入读者编号:";cin >>阅读器; cout << "输入读者姓名:";cin >> rname; addreader(ReaderID,Rname);休息;案例'2' :cout << "输入读者编号:";cin >>阅读器; r =查询(readerID);如果(r == null){cout << " 该读者不存在 "<> rname; r-> setname(rname);休息;案例'3':cout << " 输入读者编号:"; cin >>阅读器; r =查询(readerID);如果(r == null){cout <<" 该读者不存在" << endl; break;}r-> delbook();休息;案例'4':cout << "读入读者编号:";cin >>阅读器; r =查询(readerID);如果(r = = null){cout <<"该读者不存在"<< endl;break;}r-> disp();休息;案例'5':disp();休息;案例'6':clear();休息;休息;默认:cout <<"输入错误,请从新输入:";break;}}}//图书类,实现对图书的描述,图书的编号,书名,借出,还入等class Book{private: int tag;//删除标记 1:已删 0:未删int no;//图书编号char name[20];//书名int onshelf;//是否再架 1:再架 2:已借public:Book(){}char *getname() { return name; }//获取姓名int getno(){ return no; }//获取图书编号int gettag(){ return tag; }//获取删除标记void setname(char na[])//设置书名{strcpy(name,na);}void delbook(){ tag=1;}//删除图书void addbook(int n,char *na)//增加图书{tag=0;no=n;strcpy(name,na);onshelf=1;}int borrowbook()//借书操作{if (onshelf==1){onshelf=0;return 1;}return 0;}void retbook()//还书操作{onshelf=1;}void disp()//输出图书{cout << setw(6) << no << setw(18) << name << setw(10)<<(onshelf==1? "在架":"已借") <>选择;开关(CONCHe){案例'1':cout << "输入图书编号:"<>书签; cout << "输入图书书名:"<> bname;附加册(Bookid,Bname);休息;案例'2':COUT << "输入图书编号:"<>书签; b =查询(Bookid); if(b == null){cout << " 该图书不存在 "<> bname; b-> setname(bname);休息;案例'3':cout <<" 读入图书编号:"<>书签; b =查询(Bookid); if(b == null){cout <<" 该图书不存在" << endl; break;}b-> delbook();休息;案例'4':cout << " 读入图书编号:"<>书签; b =查询(Bookid); if(b == null){cout <<" 该图书不存在"<< endl;break;}b-> disp();休息;案例'5':DISP();休息;案例'6':clear();休息;默认值:cout <<"输入错误,请从新输入:";}}}//main() 函数的实现,程序的主界面的引导int main(void){ char choice;int bookid,readerid;RDatabase ReaderDB;Reader *r;BDatabase BookDB;Book *b;while(choice!='0'){ cout <>选择;切换(选择){COPY'1':COUT <<" 借书 读者编号:";cin >>阅读器; cout <<" 图书编号: ";cin >>书签; r = readerdb.query(ReaderID); //查找if(null == r){cout <<" 不存在该读者,不能借书"<< endl;break;}b=BookDB.query(bookid);if (b==NULL){cout <<" 不存在该图书,不能借书"<< endl;break;}if (b->借款()== 0){cout << " 该图书已借出,不能借书"<< endl;break;}r->借贷(b-> getno());休息;案例'2':cout <<"还书\n 读者编号:";cin >>阅读器; cout << " 图书编号:";cin >>书签; r = readerdb.query(ReaderID); if(r == null){cout <<" 不存在该读者,不能还书" << endl;break;}b=BookDB.query(bookid);if (b==NULL){cout <<" 不存在该图书,不能还书" < Retby(); R-> RET.书(B-> getno());休息;案例'3':BookdB.BookData();休息;案例'4':ReaderDB.ReaderData();休息;默认值:COUT <<“输入错误,请从新输入:”}}返回0;我希望解决您的问题。
- 2021-09-14 22:15:43