⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 library-management.txt

📁 a library management code in cpp.
💻 TXT
字号:

#include<iostream.h>
#include<alloc.h>
#include<fstream.h>
#include<graphics.h>
#include<process.h>
#include<io.h>
#include<dos.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
class telephone
{
 char name[25];
 char address[40];
 char phoneno[15];
 public:
  telephone(){ }
  telephone(char nam[25], char add[40], char phone[15])
  {
   strcpy(name,nam);
   strcpy(address,add);
   strcpy(phoneno,phone);
  }
  void init();
  void button(int x1,int y1,int x2,int y2,char str[]);
  int press(int,int,int,int);
  int unpress(int,int,int,int);
  int mouseini();
  int showmp();
  int hidemp();
  int getmp(int *button,int *x,int *y);
  int setmp();
  int click(int x1,int y1,int x2,int y2,char str[]);
  int screen();
  int search1(char *name);
  void login();
  void search();
  void delete1();
  void insert();
  void update();
  void bar1();
  void exit1();
  void display()
  {
   textattr(7);
   textbackground(0);
   gotoxy(0,0);
   cout<<"
 Name          : "<<name;
   cout<<"
 Address       : "<<address;
   cout<<"
 Phone Number  : "<<phoneno;
  }
  int compare(char nam1[25])
  {
   if(strcmp(nam1,name)==0)
    return 1;
   else
    return 0;
  }
  int compare1(char num[25])
  {
   if(strcmp(num,phoneno)==0)
    return 1;
   else
    return 0;
  }
};
void telephone::login()
{
 setcolor(13);
 line (170,207,470,207);
 line (170,232,470,232);
 line (170,207,170,232);
 line (470,232,470,207);
 int s=30,w;
 gotoxy(33,18);
 cout<<"LOADING ";
 for (int x1=171,x2=171,y1=208,y2=231,y=1,S=0;x1<470;x1++,x2++,y++,S++)
 {
  setcolor(1);
  line (x1,y1,x2,y2);
  w=(x1-169)/3;
  gotoxy(40,15); cout<<w<<"%";
  if (x2>170) s=15;
  if (x2>270) s=10;
  if (w==89) delay(400);
  else
   delay(s);
  if((w/10)%2==0)
  {
	gotoxy(42+w/10,18);
	cout<<". ";
  }
 }
 delay(800);
}
void telephone::insert()
{
 telephone tel1;
 fstream file;
 file.open("Phone1.txt",ios::app);
 if(!file)
 file.open("Phone1.txt",ios::out);
 tel1.init();
 if(strlen(tel1.name)==0)
 goto a;
 file.write((char *) &tel1, sizeof(tel1));
 setcolor(7);
 outtextxy(250,250,"Inserting Record.....");
 file.close();
 delay(3000);
 a:
}
void telephone::init()
{
 textattr(7);
 textbackground(0);
 a:
 cout<<"
Enter Name        : "; cin.getline(name,25);
 if(strlen(name)==0)
 goto b;
 if(search1(name)==0)
 {
	cout<<"
"<<name<<" already exists
";
	cout<<"
Enter another name or add suffix(like 1,2,3..)";
	goto a;
 }
 cout<<"
Enter Address     : "; cin.getline(address,40);
 cout<<"
Enter Phone Number: "; cin.getline(phoneno,15);
 b:
}
void telephone::delete1()
{
 telephone tel1;
 fstream file ;
 fstream temp ;
 char nam[25],nam1[25];
 strcpy(nam1,"");
 textattr(7);
 textbackground(0);
 cout<<"
Enter the Name to be deleted: ";
 cin.getline(nam,25);
 if(strlen(nam)==0)
 goto a;
 file.open("Phone.txt", ios::in) ;
 temp.open("temp.txt", ios::out) ;
 file.seekg(0,ios::beg) ;
 while (file.read((char *) &tel1, sizeof(telephone)))
 {
  if(!tel1.compare(nam))
   temp.write((char *) &tel1, sizeof(telephone)) ;
  else
   strcpy(nam1,nam);
 }
 file.close() ;
 temp.close() ;
 setcolor(7);
 if(strlen(nam1)!=0)
 {
  file.open("Phone.txt", ios::out) ;
  temp.open("temp.txt", ios::in) ;
  temp.seekg(0,ios::beg) ;
  while (temp.read((char *) &tel1, sizeof(telephone)))
  {
   file.write((char *) &tel1, sizeof(telephone)) ;
  }
  file.close() ;
  temp.close() ;
  outtextxy(250,250,"Deleting Record.....");
 }
 else
  outtextxy(250,250,"Record not found");
  delay(3000);
 a:
}
void telephone::update()
{
 telephone tel1;
 fstream file ;
 fstream temp ;
 char nam[25],nam1[25];
 strcpy(nam1,"");
 textattr(7);
 textbackground(0);
 cout<<"
Enter the Name to be updated: ";
 cin.getline(nam,25);
 if(strlen(nam)==0)
 goto a;
 file.open("Phone.txt", ios::in) ;
 temp.open("temp.txt", ios::out) ;
 file.seekg(0,ios::beg) ;
 while (file.read((char *) &tel1, sizeof(telephone)))
 {
  if(!tel1.compare(nam))
   temp.write((char *) &tel1, sizeof(telephone)) ;
  else
   strcpy(nam1,nam);
 }
 file.close() ;
 temp.close() ;
 setcolor(7);
 if(strlen(nam1)!=0)
 {
  file.open("Phone.txt", ios::out) ;
  temp.open("temp.txt", ios::in) ;
  temp.seekg(0,ios::beg) ;
  while (temp.read((char *) &tel1, sizeof(telephone)))
  {
   file.write((char *) &tel1, sizeof(telephone)) ;
  }
  file.close() ;
  temp.close() ;
  char nam[25],add[40],ph[15];
  file.open("Phone.txt",ios::app);
  textattr(7);
  textbackground(0);
  cout<<"
Enter Name        : ";
  cin.getline(nam,25);
  cout<<"
Enter Address     : "; cin.getline(add,40);
  cout<<"
Enter Phone Number: "; cin.getline(ph,15);
  tel1=telephone(nam,add,ph);
  file.write((char *) &tel1, sizeof(tel1));
  file.close();
  outtextxy(250,250,"Updating Record.....");
 }
 else
  outtextxy(250,250,"Record not found");
  delay(3000);
  a:
}

int telephone::search1(char *nam)
{
 fstream file;
 telephone tel1;
 int i=1;
 file.open("Phone.txt",ios::in);
 textattr(7);
 textbackground(0);
 file.seekg(0,ios::beg);
 while(file.read((char *) &tel1, sizeof(telephone)))
 {
  if(tel1.compare(nam))
  {
   tel1.display();
   i=0;
   break ;
  }
 }
 file.close() ;
 if(i==1)
	return 1;
 else
	return 0;
}
void telephone::bar1()
{
    void   *buffer,*b;
    unsigned int size;

    cout<<"




























";

    line(230,230,370,230);
    line(230,250,370,250);

    line(226,235,226,245);

    line(226,235,230,230);
    line(226,245,230,250);

    line(374,235,374,245);
    line(374,235,370,230);
    line(374,245,370,250);

    int x=232,y=236,x1=236,y1=244;
    for(int i=1;i<5;i++)
    {
	setfillstyle(1,RED);
	bar(x,y,x1,y1);
	x=x1+2;
	x1=x1+6;
    }
    size=imagesize(232,236,256,244);
    buffer=malloc(size);
    getimage(232,236,256,244,buffer);
    x=232;
    int m=0;
    while(m!=5)
    {
	textcolor(random(20));
	outtextxy(276,265,"Searching");
	putimage(x,236,buffer,XOR_PUT);
	x=x+2;
	if(x>=350)
	{
		m++;
		x=232;
	}
	putimage(x,236,buffer,XOR_PUT);
	delay(20);
    }
    setfillstyle(1,BLACK);
    bar(0,0,400,350);
}
void telephone::search()
{
 fstream file;
 telephone tel1;
 int i=1,l,j;
 char c;
 char nam[25],num[15],nam1[25];
 file.open("Phone.txt",ios::in);
 textattr(7);
 textbackground(0);
 cout<<"
				SEARCH
";
 cout<<"
				1.By Name
";
 cout<<"
				2.By Number
";
 cout<<"

Enter your choice ... ";
 cin>>c;
 if(c==49||c==50)
 {
	 if(c==49)
	 {
		 cout<<"
Enter name to be Searched: ";
		 cin>>nam;
		 file.seekg(0,ios::beg);
		 bar1();
		 while(file.read((char *) &tel1, sizeof(telephone)))
		 {
		  for(j=0;j<strlen(nam);j++)
		  nam1[j]=tel1.name[j];
		  nam1[j]='

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -