📄 c++.cpp
字号:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include <string.h>
#include <process.h>
#include <stdlib.h>
#include<dos.h>
#include<iomanip.h>
#define NORMAL 7
class library
{
private:
FILE *fp,*ft,*fe;
int sl;
long int recsize;
char another,choice;
struct LateFine
{
int roll,sno;
char name[30];
char code[15];
float amt;
}f;
struct student
{
int roll,sno,sl,dt,mn,yr;
char name[30];
char code[15];
}i,r,q;
struct book
{
int sno;
char name[30];
char auth[30];
char pub[25];
float price;
}b;
public:
void boxb(int r,int c,int r1,int c1,char m[]);
int menu(int col,int r,int c,int npara,char *pop[]);
void about();
void bookpurchage();
void booklist();
void bookissue();
void issuelist();
void bookreturn();
void returnlist();
void querybystd();
void querybybook();
void latefine();
void delreturn();
void modifyentry();
void flash();
};
// Function to get overview of project
void library::bookpurchage()
{
int temp=0;
fp = fopen ("RECORD.DAT","rb+");
if(fp == NULL)
{
fp = fopen ("RECORD.DAT","wb+");
if(fp == NULL)
{
puts("Can not open file");
exit(0);
}
}
recsize=sizeof(b);
fseek(fp,0,SEEK_END);
another='y';
rewind(fp);
while(fread(&b,recsize,1,fp)==1)
{
temp=b.sno;
}
while(another=='y')
{
textbackground(9);
clrscr();
flash();
textattr(697);
textcolor(692);
gotoxy(3,4);cprintf(" [ BOOKS
S ] ");
textattr(7);
b.sno=temp+1;
temp++;
gotoxy(10,10);cout<<"BOOK_NO : "<<b.sno;
flushall();
gotoxy(10,11);cout<<"BOOK_NAME : ";
gets(b.name);
flushall();
gotoxy(10,12);cout<<"AUTHOR_NAME : ";
gets(b.auth);
flushall();
gotoxy(10,13);cout<<"PUBLICATION : ";
gets(b.pub);
flushall();
gotoxy(10,14);cout<<"PRICE : ";
cin>>b.price;
flushall();
gotoxy(10,16);cout<<"Do you want to save(y/n): ";
another=getche();
if(another!='y')
temp--;
else
fwrite(&b,recsize,1,fp);
gotoxy(10,17);cout<<"Add another records(Y/N): ";
fflush(stdin);
another=getche();
}
clrscr();
return;
}
void library::booklist()
{
int c=1;
fp = fopen ("RECORD.DAT","rb+");
recsize=sizeof(b);
rewind(fp);
textbackground(9);
clrscr();
flash();
textattr(697);
textcolor(692);
gotoxy(3,4);cprintf(" [ BOOKS
S ] ");
textattr(7);
gotoxy(2,7);cout<<"BOOK_NO. BOOKS_NAME AUTHOR
PUBLICATION PRICE ";
gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
while (fread (&b,recsize,1,fp) == 1)
{
flash();
textattr(697);
textcolor(692);
gotoxy(3,4);cprintf(" [ BOOKS
S ] ");
textattr(7);
gotoxy(2,8+c);
cprintf(" %-6d ",b.sno);
cprintf(" %-20.20s ",b.name);
cprintf(" %-18.18s ",b.auth);
cprintf(" %-15.15s",b.pub);
cprintf(" %9.2f ",b.price);
c++;
if(c>11)
{
c=1;
gotoxy(55,20);
cout<<"Press key to next";
getch();
textbackground(9);
clrscr();
flash();
textattr(697);
textcolor(692);
gotoxy(3,4);cprintf(" [ BOOKS
S ] ");
textattr(7);
gotoxy(2,7);cout<<"BOOK_NO. BOOKS_NAME AUTHOR
PUBLICATION PRICE ";
gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
}
}
gotoxy(60,20);cout<<"End of List";
getch();
clrscr();
return;
}
int library::menu(int color,int r,int c,int npara,char *popup[])
{
int r1=r+(npara-1),k=0,i=0,j=1,r2=r;
textattr(color);gotoxy(c,r2);cprintf(popup[0]);
r2++;
textattr(919);
textcolor(7);
for(j=1;j<npara;j++,r2++)
{
gotoxy(c,r2);cprintf(popup[j]);
}
do
{
k=getch();
switch(k)
{
case 80 :
gotoxy(c,r);textattr(919);textcolor(7);cprintf(popup[i]);
r++;
i++;
if(r>r1)
{
r=r1-(npara-1);
i=0;
gotoxy(c,r);textattr(color);cprintf(popup[i]);
}
gotoxy(c,r);textattr(color);cprintf(popup[i]);
break;
case 72 :
gotoxy(c,r);textattr(919);textcolor(7);cprintf(popup[i]);
r--;
i--;
if(r<r1 -(npara-1))
{
r=r1;
i=npara-1;
gotoxy(c,r);textattr(color);cprintf(popup[i]);
}
gotoxy(c,r);textattr(color);cprintf(popup[i]);
break;
}
}while(k!=13);
return i+1;
}
void library::boxb(int r,int c,int r1,int c1,char m[])
{
int i;
if(m=="S")
{
gotoxy(c,r);printf("%c",218);
gotoxy(c1,r);printf("%c",191);
gotoxy(c,r1);printf("%c",192);
gotoxy(c1,r1);printf("%c",217);
for(i=c+1;i<c1;i++)
{
gotoxy(i,r);printf("%c",196);
gotoxy(i,r1);printf("%c",196);
}
for(i=r+1;i<r1;i++)
{
gotoxy(c,i);printf("%c",179);
gotoxy(c1,i);printf("%c",179);
}
}
else
{
gotoxy(c,r);printf("%c",201);
gotoxy(c1,r);printf("%c",187);
gotoxy(c,r1);printf("%c",200);
gotoxy(c1,r1);printf("%c",188);
for(i=c+1;i<c1;i++)
{
gotoxy(i,r);printf("%c",205);
gotoxy(i,r1);printf("%c",205);
}
for(i=r+1;i<r1;i++)
{
gotoxy(c,i);printf("%c",186);
gotoxy(c1,i);printf("%c",186);
}
}
return;
}
void library::flash()
{
boxb(2,1,5,79, "S");
boxb(6,1,20,79, "D");
boxb(21,1,24,79,"D");
textattr(697);
textcolor(692);
gotoxy(3,3);cprintf(" [LIBRARY INFORMATION
SYSTEM] ");
textattr(697);textattr(693);
gotoxy(3,22);cprintf(" Designed By :- KRISHNA BIHARI
");
gotoxy(3,23);cprintf(" M.C.A., A.N.College, Patna
");
textattr(7);
}
void library::about()
{
textbackground(9);
clrscr();
flash();
textattr(697);
textcolor(692);
gotoxy(3,4);cprintf(" [
ERVIEW ] ");
textattr(919);
gotoxy(10,7) ;textcolor(4);cprintf("This L.I.S. Package has been
designed to maintain computerised ");
gotoxy(10,8) ;textcolor(2);cprintf("Library work very easily by a
librarian. It can run under DOS/ ");
gotoxy(10,9) ;textcolor(5);cprintf("Windows Environment.
");
gotoxy(10,10);textcolor(3);cprintf("......................................
....................... ");
gotoxy(10,11);textcolor(6);cprintf("
Krishna
Bihari ");
gotoxy(10,12);cprintf(" M.C.A.
");
gotoxy(10,13);cprintf(" A.N.College, Patna
");
gotoxy(10,14);puts(" *******************
");
textcolor(2);
gotoxy(10,15);cprintf(" Email kb_pat@yahoo.com
");
gotoxy(10,16);textcolor(3);cprintf("......................................
....................... ");
textattr(7);textbackground(3);textcolor(5);
gotoxy(55,20);textcolor(804);cprintf("Press any key to Next ");
// sound(2100);
// delay(1000);
getch();
// nosound();
textattr(7);
clrscr();
}
void library::bookissue()
{
int temp=0,tem=0;
fp = fopen ("BISSUE.DAT","rb+");
if(fp == NULL)
{
fp = fopen ("BISSUE.DAT","wb+");
if(fp == NULL)
{
puts("Can not open file");
exit(0);
}
}
ft=fopen("RECORD.DAT","rb");
recsize=sizeof(i);
fseek(fp,0,SEEK_END);
another='y';
choice='y';
rewind(fp);
while(fread(&i,recsize,1,fp)==1)
temp=sl;
while(another=='y')
{
textbackground(9);
clrscr();
flash();
textattr(697);
textcolor(692);
gotoxy(3,4);cprintf(" [ BOOKS
] ");
textattr(7);
sl=temp+1;
temp++;
flushall();
gotoxy(10,11);cout<<"BOOK_NO : ";
cin>>i.sno;
flushall();
rewind(ft);
while(fread(&b,sizeof(b),1,ft)==1)
{
if (i.sno==b.sno)
{
tem=i.sno;
rewind(fp);
while(fread(&i,recsize,1,fp)==1)
{
if(tem==i.sno)
{
gotoxy(2,7);cout<<"-------------------------------------------------------
----------------------";
gotoxy(2,8);cout<<"BOOK_NO: "<<i.sno<<" IS NOT PRESENT ! PLEASE
ENTRER
NEW BOOK NUMBER";
gotoxy(2,9);cout<<"-------------------------------------------------------
----------------------";
goto a;
}
}
i.sno=tem;
gotoxy(2,7);cout<<"BOOK NO. BOOK's NAME AUTHOR
PUBLICATION PRICE ";
gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
gotoxy(2,9);printf(" %-6d %-20.20s %-18.18s %-15.15s
%9.2f",b.sno,b.name,b.auth,b.pub,b.price);
gotoxy(2,10);cout<<"------------------------------------------------------
-----------------------";
gotoxy(10,12);cout<<"STUDENT_ROLL : ";
cin>>i.roll;
flushall();
gotoxy(10,13);cout<<"STUDENT_NAME : ";
gets(i.name);
flushall();
gotoxy(10,14);cout<<"COURSE_CODE : ";
gets(i.code);
flushall();
gotoxy(10,15);cout<<"ISSUE_DATE : ";
cin>>i.dt;
gotoxy(28,15);cout<<"-";cin>>i.mn;
gotoxy(31,15);cout<<"-";cin>>i.yr;
flushall();
gotoxy(10,17);cout<<"Do you want to save(Y/N): ";
choice=getche();
if(choice=='y')
fwrite(&i,recsize,1,fp);
goto a;
}
}
gotoxy(2,7);cout<<"-------------------------------------------------------
----------------------";
gotoxy(2,8);cout<<"BOOK_NO: "<<i.sno<<" IS NOT IN LIBRARY ! ";
gotoxy(2,9);cout<<"-------------------------------------------------------
----------------------";
a:
gotoxy(10,18);cout<<"Issue Another Book (Y/N): ";
fflush(stdin);
another=getche();
}
clrscr();
fclose(ft);
fclose(fp);
return;
}
void library::bookreturn()
{
int temp=0;
FILE *fm,*ff;
fp = fopen ("BRETURN.DAT","rb+");
if(fp == NULL)
{
fp = fopen ("BRETURN.DAT","wb+");
if(fp == NULL)
{
puts("Can not open file");
exit(0);
}
}
ft=fopen("RECORD.DAT","rb");
fe=fopen ("BISSUE.DAT","rb+");
recsize=sizeof(r);
fseek(fp,0,SEEK_END);
another='y';
choice='y';
rewind(fp);
while(fread(&r,recsize,1,fp)==1)
{
temp=r.sl;
}
while(another=='y')
{
textbackground(9);
clrscr();
flash();
textattr(697);
textcolor(692);
gotoxy(3,4);cprintf(" [ BOOKS
] ");
textattr(7);
r.sl=temp+1;
temp++;
gotoxy(10,11);cout<<"BOOK_NO : ";
cin>>r.sno;
flushall();
rewind(ft);
while(fread(&b,sizeof(b),1,ft)==1)
{
if (r.sno==b.sno)
{
rewind(fe);
while(fread(&i,sizeof(i),1,fe)==1)
{
if(r.sno==i.sno)
{
gotoxy(2,7);cout<<"BOOK_NO BOOKS_NAME ISSUED TO ROLL
C_CODE ISSUE_DATE ";
gotoxy(2,8);cout<<"-------------------------------------------------------
----------------------";
gotoxy(2,9);cprintf(" %-6d %-17.17s %-16.16s %-5d %-8.8s
%02d-%02d-%02d ",i.sno,b.name,i.name,i.roll,i.code,i.dt,i.mn,i.yr);
gotoxy(2,10);cout<<"------------------------------------------------------
-----------------------";
gotoxy(10,12);cout<<"STUDENT_ROLL : ";
cin>>r.roll;
flushall();
gotoxy(10,13);cout<<"STUDENT_NAME : ";
gets(r.name);
flushall();
gotoxy(10,14);cout<<"COURSE_CODE : ";
gets(r.code);
flushall();
gotoxy(10,15);cout<<"RETURN_DATE : ";
cin>>r.dt;
gotoxy(28,15);cout<<"-";cin>>r.mn;
gotoxy(31,15);cout<<"-";cin>>r.yr;
flushall();
/*
int total,tmp=0,d=0,m=0,y=0;
float fine;
ff = fopen ("FINE.DAT","rb+");
if(ff == NULL)
{
ff = fopen ("FINE.DAT","wb+");
if(ff == NULL)
{
puts("File Not Found");
exit(0);
}
}
if (r.dt>=i.dt)
{
d=r.dt-i.dt;
if(r.mn>=i.mn)
{
m=r.mn-i.mn;
y=r.yr-i.yr;
}
else
{
r.yr=r.yr-1;
r.mn=r.mn+12;
m=r.mn-i.mn;
y=r.yr-i.yr;
}
}
else
{
r.mn=r.mn-1;
r.dt=r.dt+30;
d =r.dt-i.dt;
if(r.mn>=i.mn)
{
m=r.mn-i.mn;
y=r.yr-i.yr;
}
else
{
r.yr=r.yr-1;
r.mn=r.mn+12;
m=r.mn-i.mn;
y=r.yr-i.yr;
}
}
total=d+(m*30)+(y*12*30);
if (total>=7)
{
total=total-7;
fine=total*1.00;
recsize=sizeof(f);
fseek(ff,0,SEEK_END);
rewind(ff);
while(fread(&f,recsize,1,ff)==1)
{
tmp=f.sno;
}
f.sno=tmp+1;
f.roll=i.roll;
strcpy(f.name,i.name);
strcpy(f.code,i.code);
f.amt=fine;
fwrite(&f,recsize,1,ff);
}
*/
gotoxy(10,16);cout<<"Do you want to save(Y/N): ";
choice=getche();
if(choice=='y')
{
fwrite(&r,recsize,1,fp);
fm=fopen("TEMP.DAT","wb");
rewind(fe);
while(fread(&i,sizeof(i),1,fe)==1)
{
if(r.sno!=i.sno)
fwrite(&i,sizeof(i),1,fm);
}
fclose(fe);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -