用C语言编写一个“图书信息管理系统
换了一个,你看看:
#include
#include
#include
#include
usingnamespacestd;
constintMaxr=100;//最多的读者
constintMaxb=100;//最多的图书
constintMaxbor=5;//每位读者最多借五本书
//读者类,实现对读者的信息的描述
classReader
{
private:
inttag;//删除标记1:已删0:未删
intno;//读者编号
charname[10];//读者姓名
intborbook[Maxbor];//所借图书
public:
Reader(){}
char*getname(){returnname;}//获取姓名
intgettag(){returntag;}//获取删除标记
intgetno(){returnno;}//获取读者编号
voidsetname(charna[])//设置姓名
{
strcpy(name,na);
}
voiddelbook(){tag=1;}//设置删除标记1:已删0:未删
voidaddreader(intn,char*na)//增加读者
{
tag=0;
no=n;
strcpy(name,na);
for(inti=0;i borbook[i]=0; } voidborrowbook(intbookid)//借书操作 { for(inti=0;i { if(borbook[i]==0) { borbook[i]=bookid; return; } } } intretbook(intbookid)//还书操作 { for(inti=0;i { if(borbook[i]==bookid) { borbook[i]=0; return1; } } return0; } voiddisp()//读出读者信息 { cout< for(inti=0;i if(borbook[i]!=0) cout< cout<<"]"< } }; //读者类库,实现建立读者的个人资料 classRDatabase { private: inttop;//读者记录指针 Readerread[Maxr];//读者记录 public: RDatabase()//构造函数,将reader.txt读到read[]中 { Readers; top=-1; fstreamfile("reader.txt",ios::in);//打开一个输入文件 while(1) { file.read((char*)&s,sizeof(s)); if(!file)break; top; read[top]=s; } file.close();//关闭reader.txt } voidclear()//删除所有读者信息 { top=-1; } intaddreader(intn,char*na)//添加读者时先查找是否存在 { Reader*p=query(n); if(p==NULL) { top; read[top].addreader(n,na); return1; } return0; } Reader*query(intreaderid)//按编号查找 { for(inti=0;i<=top;i) if(read[i].getno()==readerid&& read[i].gettag()==0) { return&read[i]; } returnNULL; } voiddisp()//输出所有读者信息 { for(inti=0;i<=top;i) read[i].disp(); } voidreaderdata();//读者库维护 ~RDatabase()//析构函数,将read[]写到reader.txt文件中 { fstreamfile("reader.txt",ios::out); for(inti=0;i<=top;i) if(read[i].gettag()==0) file.write((char*)&read[i],sizeof(read[i])); file.close(); } }; voidRDatabase::readerdata() { charchoice; charrname[20]; intreaderid; Reader*r; while(choice!='0') { cout<<" cin>>choice; switch(choice) { case'1': cout<<"输入读者编号:"; cin>>readerid; cout<<"输入读者姓名:"; cin>>rname; addreader(readerid,rname); break; case'2': cout<<"输入读者编号:"; cin>>readerid; r=query(readerid); if(r==NULL) { cout<<"该读者不存在"< break; } cout<<"输入新的姓名:"; cin>>rname; r->setname(rname); break; case'3': cout<<"输入读者编号:"; cin>>readerid; r=query(readerid); if(r==NULL) { cout<<"该读者不存在"< break; } r->delbook(); break; case'4': cout<<"读入读者编号:"; cin>>readerid; r=query(readerid); if(r==NULL) { cout<<"该读者不存在"< break; } r->disp(); break; case'5': disp(); break; case'6': clear(); break; default:cout<<"输入错误,请从新输入:";break; } } } //图书类,实现对图书的描述,图书的编号,书名,借出,还入等 classBook { private: inttag;//删除标记1:已删0:未删 intno;//图书编号 charname[20];//书名 intonshelf;//是否再架1:再架2:已借 public: Book(){} char*getname(){returnname;}//获取姓名 intgetno(){returnno;}//获取图书编号 intgettag(){returntag;}//获取删除标记 voidsetname(charna[])//设置书名 { strcpy(name,na); } voiddelbook(){tag=1;}//删除图书 voidaddbook(intn,char*na)//增加图书 { tag=0; no=n; strcpy(name,na); onshelf=1; } intborrowbook()//借书操作 { if(onshelf==1) { onshelf=0; return1; } return0; } voidretbook()//还书操作 { onshelf=1; } voiddisp()//输出图书 { cout< <<(onshelf==1?"在架":"已借")< } }; //图书库类,实现对图书的维护,查找,删除等 classBDatabase { private: inttop;//图书记录指针 Bookbook[Maxb];//图书记录 public: BDatabase()//构造函数,将book.txt读到book[]中 { Bookb; top=-1; fstreamfile("book.txt",ios::in); while(1) { file.read((char*)&b,sizeof(b)); if(!file)break; top; book[top]=b; } file.close(); } voidclear()//全删 { top=-1; } intaddbook(intn,char*na)//增加图书 { Book*p=query(n); if(NULL==p) { top; book[top].addbook(n,na); return1; } return0; } Book*query(intbookid)//查找图书 { for(inti=0;i<=top;i) if(book[i].getno()==bookid&&book[i].gettag()==0) { return&book[i]; } returnNULL; } voidbookdata();//图书库维护 voiddisp() { for(inti=0;i<=top;i) if(book[i].gettag()==0) book[i].disp(); } ~BDatabase()//析构函数,将book[]写到book.txt文件中 { fstreamfile("book.txt",ios::out); for(inti=0;i<=top;i) if(book[i].gettag()==0) file.write((char*)&book[i],sizeof(book[i])); file.close(); } }; voidBDatabase::bookdata() { charchoice; charbname[40]; intbookid; Book*b; while(choice!='0') { cout<<" cout<<"1新增 cin>>choice; switch(choice) { case'1': cout<<"输入图书编号:"< cin>>bookid; cout<<"输入图书书名:"< cin>>bname; addbook(bookid,bname); break; case'2': cout<<"输入图书编号:"< cin>>bookid; b=query(bookid); if(b==NULL) { cout<<"该图书不存在"< break; } cout<<"输入新的书名:"< cin>>bname; b->setname(bname); break; case'3': cout<<"读入图书编号:"< cin>>bookid; b=query(bookid); if(b==NULL) { cout<<"该图书不存在"< break; } b->delbook(); break; case'4': cout<<"读入图书编号:"< cin>>bookid; b=query(bookid); if(b==NULL) { cout<<"该图书不存在"< break; } b->disp(); break; case'5': disp(); break; case'6': clear(); break; default:cout<<"输入错误,请从新输入:"; } } } //main()函数的实现,程序的主界面的引导 voidmain() { charchoice; intbookid,readerid; RDatabaseReaderDB; Reader*r; BDatabaseBookDB; Book*b; while(choice!='0') { cout< cout<<"1借书 cin>>choice; switch(choice) { case'1': cout<<"借书读者编号:"; cin>>readerid; cout<<"图书编号:"; cin>>bookid; r=ReaderDB.query(readerid);//按编号查找 if(NULL==r) { cout<<"不存在该读者,不能借书"< break; } b=BookDB.query(bookid); if(b==NULL) { cout<<"不存在该图书,不能借书"< break; } if(b->borrowbook()==0) { cout<<"该图书已借出,不能借书"< break; } r->borrowbook(b->getno()); break; case'2': cout<<"还书 cin>>readerid; cout<<"图书编号:"; cin>>bookid; r=ReaderDB.query(readerid); if(r==NULL) { cout<<"不存在该读者,不能还书"< break; } b=BookDB.query(bookid); if(b==NULL) { cout<<"不存在该图书,不能还书"< break; } b->retbook(); r->retbook(b->getno()); break; case'3': BookDB.bookdata(); break; case'4': ReaderDB.readerdata(); break; default:cout<<"输入错误,请从新输入:"; } } } 如何编写C语言图形程序? 编写C语言程序输出以下图案 ### *** ### ** #,要有详细过程,悬赏秒结... 如何用C语言编写流程图? 怎样用C语言编写个爱心图象 怎样用c语言编写一个输出“苹果图案”的程序 用C语言输出一个五角星图案 C语言设计一个简单的图形动画,用turboc2运行,怎样编写使图形动起来的... 怎样用c语言写一个图形界面 C语言编写程序输出一下图形(程序用循环实现) 用c语言编写一个程序,输出以下图形。
读者维护
1新增
2更改
3删除
4查找
5显示
6全删
0退出"<
图书维护"<
2更改
3删除
4查找
5显示
6全删
0退出"<
";
2还书
3图书维护
4读者维护
0离开"<
读者编号:";
图 1 打开文件 方法2 在Turbo C for Windows 集成实验与学习环境中的“我的程序”下用鼠标双击你要打开的C程序即可(此处列出最近使用的8个文件)图 2 在“我的程序”中打开程序 方法3在Turbo C for Windows 集成实验与学习环境中,依次用鼠标单击“文件\/我的程序”菜单,打开“我的程序”对话框...
这个程序非常简单。它包括一个main函数,该函数使用printf函数来输出指定的图案。printf函数是C语言中用于输出文本的函数。在上面的程序中,我们调用printf函数并将所需的文本作为参数传递。要输出多个字符串,只需在每个字符串之间添加适当的空格或其他分隔符即可。在本例中,我们将所有字符串组合成一个大字...
1、传统流程图:2、思路:比大小,10个数,标上标签,依次为1,2,3...10。然后第1个跟第二个比较大小,如果第1个大于第二个,那么交换下1跟2的标签,如果第1个不大于2第二个,不交换标签,接着比较第二个跟第三个,比完最后一个为止。10标签的就是最大的那个数。3、用C语言方法:读入a[...
创建一个心形图案需要的最长字符串,充分利用printf函数输出字符串的丰富控制功能,按心形图案每行所需长度和位置,对所创建的字符串进行截断并在所需位置上输出,最后在屏幕上形成由字符组成的心形图案。\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include "stdio.h"int main(void)...
输出苹果图案程序如下:include<stdio.h> int t;\/\/定义全局变量,用于循环 char tab[] = {\/\/储存用于输出图形的数组 0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,0,0,1,0,0,1,0,0,};void main(){ for (t ...
1、获得五个外顶点的坐标:int m_xw[5]; \/\/5个X外顶点坐标 int m_yw[5]; \/\/5个Y外顶点坐标 void CMyTestView::getCoord(){ int c = 360 \/ 5; \/\/角度 int r = 150;for (int i = 0; i < 5; i++){ m_xw[i] = (int) (cos(i * c * PI \/ 30 - PI \/ 2...
1、首先,打开vc6.0,建立程序编写页面,建立C语言环境,声明两个整数型变量。2、随后,打出新的前三行,由于规律不明显,就用printf语句手动输入,要仔细观察模版。3、观察可得,中间三行相同,就可以使用for循环,循环三行,每行的个数要仔细计算,模版很重要。4、随后的七列逐渐减少,同样使用for...
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow ){ static TCHAR szAppName[] = TEXT("MyWindow") ;HWND hwnd ;MSG msg ;WNDCLASS wndclass ; \/\/声明一个窗口类对象 \/\/以下为窗口类对象wndclass的属性 wndclass.style = CS_HREDRAW | CS_VR...
-每行星号前面没有前导空格,不处理 -每行输出星号个数:5,4,3,2,1,这个用i来算就是:5-i,for ( j=0;j<5-i;j++ )那么程序就是:int i,j;for ( i=0;i<5;i++ ) \/\/每一次循环实现输出一行 { for ( j=0;j<5-i,j++ ) \/\/每执行一次循环输出一个星号,循环次数就是...
include<stdio.h>main(){ int i,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++) printf("%d",i); printf("\\n");}}如图所示,望采纳。。。
墨昏朝阳: #include using namespace std; class controlloer //图书管理员 { private: int number; int age; char name[20]; public: controlloer(); controlloer(int c,int a,char b[20] ); int getnumber(); int getage(); char *getname(); void reworkage(int i); void reworkname(...
霍山县13547886908:
一个简单的图书管理系统,C语言 - ?
墨昏朝阳: #include#include int function1(); int function2(); int function3(); int function4(); int function5(); int function6(); int function7(); int function8(); int main(void) { int choice; printf("======大学信息管理系统=====\n"); printf("---------------------------\n"); ...
霍山县13547886908:
用C语言编写一个图书管理系统 - ?
墨昏朝阳: #include<stdio.h> #include<string.h> struct sale/*商品名的定义*/ {int number; char name[20]; float price; long count; long time; long date;}; /*各个函数*/ void input(struct sale s[7]);/*输入函数*/ void output(struct sale s[7]);/*输出函数*/ void seek(...
霍山县13547886908:
求用C语言编写的图书信息管理系统?
墨昏朝阳: (2) #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> void ReadBookRecord(BookRecord*, FILE*); void FillRecord(char* line, BookRecord*); FILE* open_file(const char* file_name); void GetNumber(const char* file_name...
霍山县13547886908:
用C语言编一个简单的图书管理系统(包括借阅查询还书三部分)(学生作业用) - ?
墨昏朝阳: 展开全部#include#include struct sale/*商品名的定义*/ {int number; char name[20]; float price; long count; long time; long date;}; /*各个函数*/ void input(struct sale s[7]);/*输入函数*/ void output(struct sale s[7]);/*输出函数*/ void seek(struct sale s[...
霍山县13547886908:
求C语言编译的图书管理系统?
墨昏朝阳: #include<iostream.h> #include<fstream.H> #include<stdlib.h> #include<string.h> struct bookData { int booknumber; char bookname[30]; int store; }; struct Person { char name[20]; char studynumber[10]; int count; bookData Rbook[2]; //bookData ...
霍山县13547886908:
图书信息管理系统设计 c语言 - ?
墨昏朝阳: 高级语言程序设计(2)课程设计 一程序设计说明书【设计题目】图书馆借阅管理【问题描述】图书馆,适合用C++面向对象的功能来描述.图书馆管理系统分为借书、还书、图书管理和读者服务等四个部分.设计一个读者类Reader,记录每个...
霍山县13547886908:
如何使用C语言编写图书管理系统? - ?
墨昏朝阳: 图书管理系统是运行于Windows系统下的应用软件,主要用于对图书馆中的图书信息进行增、删、改、查等操作,并且还可对使用该系统的用户进行登录名和密码的管理等.系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作...
霍山县13547886908:
求一图书管理系统C语言程序 - ?
墨昏朝阳: #includestruct BOOK { int id,usr[10],total,store,days[10]; char name[31],author[21]; }books[100]; /*上面是结构体的定义,用于存放书籍及借书的信息.*/ void page_title(char *menu_item) { clrscr(); printf(">>> 图 书 管 理 系 统 } /*上面是打印页...
霍山县13547886908:
求图书管理系统C语言源程序?
墨昏朝阳: c++实训--图书管理系统程序这个程序适合c++实训使用,在ODBC数据源内添加Microsoft Access数据库 b,并将数据源名设定为Library即可实现数据库和应用程序的正常连接,程序才能正常实现数据库的访问