Red de conocimientos turísticos - Información de alquiler - ¿Puedo usar C++ para crear mi propio software de programación?

¿Puedo usar C++ para crear mi propio software de programación?

//main()

#ifndef LIBRARY_H

#includelt;iostreamgt;

#includelt;stringgt;

#includelt;iomanipgt;

#include lt;fstreamgt;

#include "book.h"

#define MAXSIZE 100 //Máximo de biblioteca número de libros

usando el espacio de nombres std;

clase Biblioteca

{

privado:

Libro Libros [ MAXSIZE];

int num; //El número actual de libros

public:

Library()

~Library( );

int In_Book(Libro c); //Insertar libro

int Out_BookN(char *b); //Eliminar libro

void Show_Book() ; //Mostrar todos los libros de la biblioteca

void Change_Book(int b, Libro B); //Modificar el libro

void BookSort() //Según el libro. número de grande a grande Ordenación pequeña

int Search_BookNo(char *b); //Buscar por número de libro

int Search_BookName(char *s); /p>

int Seach_BookWriter(char *s); //Buscar por autor

int Seach_Bookmoney(int a, int b); //Buscar por rango de precios

void; dataSave(); // Almacenar datos

void dataRead(); //Leer datos

};

Biblioteca:: Biblioteca()

{

dataRead();

}

Biblioteca::~Biblioteca()

{

dataSave() ;

}

int Biblioteca::In_Book(Libro c)

{

if(numgt;MAXSIZE -1)

{ coutlt;lt;"¡La biblioteca está llena! ";

devuelve 0;

}

if(Seach_BookNo(c.GetNo())==-1)

{ num;

Libros[num]=c;

dataSave();

devuelve 1;

{

coutlt;lt;"¡Este ISBN ya existe! "lt;lt;endl;

devuelve 0;<

/p>

}

}

int Biblioteca::Out_BookN(char *b)

{

int i, j;

i=Seach_BookNo(b);

if(i!=-1)

{

for(j= i;jlt;=num;j)

Libros[j]=Libros[j 1];

num--;

dataSave();

return 1;

}

else

{coutlt;lt;"¡No existe tal libro!"lt;lt;endl ;

return 0;}

}

void Library::Show_Book()

{

int i;

for(i=0;ilt;=num;i)

Libros[i].Print();

coutlt;lt;endl ;

}

int Biblioteca::Seach_BookNo(char *b)

{

int

for (i=0;ilt;=num;i)

if(Libros[i].ifLibroNo(b))

{Libros[i].Print();

p>

return i;}

return -1

}

int Biblioteca:: Search_BookName(char* s)

{

int i, count=0

for(i=0; ilt; =num; i )

if( Libros[i] .ifBName(s))

{Libros[i].Print()

recuento

}

recuento de retornos;

}

int Biblioteca:: Seach_BookWriter(char* s)

{

int i, recuento=0 ;

for(i=0;ilt;=num;i)

if(Libros[i].ifWriter(s))

{Libros[ i].Imprimir ();

recuento

}

devolver recuento

}

int; Biblioteca::Seach_Bookmoney (int a, int b)

{

int i, count=0

for(i=0; ilt; =num; ; i )

if(Libros[i].ifmoney(a, b))

{Libros[i].Print()

contar;

}

país de retorno

t;

}

void Library::Change_Book(int b, Libro B)

{

Libros[b]=B ;

dataSave();

}

void Library::dataSave() //Función de almacenamiento de datos, escribe read[] en el archivo Book.dat en

{

fstream file("Book.dat",ios::out);

for (int i=0; ilt;=num; i )

file.write((char *)&Books[i],sizeof(Books[i]));

file.close();

}

void Library::dataRead() //Constructor, lee Book.dat en read[]

{

Book s ;

num=-1;

fstream file("Book.dat", ios::in);

while (1)

{

file.read((char *)amp; s, sizeof(s));

if (!file) break

num; >

Libros[num]=s;

}

file.close();

}

void Biblioteca: :BookSort() //Clasificación de burbujas, de pequeña a grande

{

int i, j

Libro B

for(i=0;ilt;=num;i)

for(j=0;jlt;=num-i-1;j)

if(strcmp(Libros[ j].GetNo(), Libros[j 1].GetNo())gt 0)

{

B=Libros[j];

Libros[j]=Libros[j 1]

Libros[j 1]=B

}

dataSave() ;

}

#endif

//book.h

#ifndef BOOK_H

#includelt;

#includelt;stringgt;

#includelt;iomanipgt;

#include lt;fstreamgt;

usando el espacio de nombres std; >clase Libro

{

privado:

char Bname[20]; //Nombre del libro

char Writer[20]; //Autor

char BookNo[7]; //Número de libro

dinero flotante /

/precio

público:

Libro(char *N="*****", char *W="***", char *BN="000000", float M=0.00);

void Print(); //Mostrar

int ifBookNo(char *b); //Juzga si el número del libro es el mismo que b

char* GetNo(); //Obtener el número del libro

int ifBName(char* s); //Determinar si el título del libro es el mismo que s

int ifWriter(char* s); //Juzga si el autor es el mismo que s

int ifmoney(int a, int b); //Juzga si el precio está entre a y b

};

Libro::Libro(char *N, char *W, char *BN, float M)

{

strcpy (Bnombre, N);

strcpy(Escritor, W);

strcpy(LibroNo, BN

dinero=M; p>}

void Libro ::Print()

{

coutlt;lt;BookNolt;lt;setw(10)lt;lt;"Libro título: "lt;lt;Bnamelt;lt;setw (5)lt;lt;"Autor:"lt;lt;Writerlt;lt;"Precio:"lt;lt;moneylt;lt;endl;

}

int Libro :: ifLibroNo(char* b)

{

if(strcmp(LibroNo, b)==0)

devuelve 1;

else

devuelve 0

}

char* Libro::GetNo()

{

return LibroNo;

}

int Libro::ifBName(char* s)

{

if(strcmp(Bname, s)==0)

devuelve 1

si no, devuelve 0

}

int Libro::ifWriter(char* s)

{

if(strcmp(Writer, s)==0)

devuelve 1 ;

else devuelve 0

}

int Libro::ifmoney(int a, int b)

{

if(moneygt;=aamp;amp ;moneylt;=b)

devuelve 1;

si no, devuelve 0;

}

#endif

//library.h

#ifndef LIBRARY_H

#includelt;iostreamgt;

#includelt; cadenagt;

>#includelt;iomanipgt;

#include lt;fstreamgt;

#include "book.h"

#define MAXSIZE 100 //Número máximo de almacenamiento de la biblioteca de libros

usando el espacio de nombres std;

clase Biblioteca

{

privado:

Libro Libros[MAXSIZE ];

int num; //El número actual de libros

public:

Biblioteca()

~Biblioteca();

int In_Book(Libro c); //Insertar libro

int Out_BookN(char *b); //Eliminar libro

void Show_Book(); //Mostrar todos los libros de la biblioteca

void Change_Book(int b, Book B); //Modificar libros

void BookSort() //Ordenar por número de libro de grande a small

int Search_BookNo(char *b); //Buscar por número de libro

int Search_BookName(char *s); //Buscar por nombre de libro

int Seach_BookWriter (char *s); //Buscar por autor

int Seach_Bookmoney(int a, int b); //Buscar por rango de precios

void dataSave(); Datos de almacenamiento

void dataRead(); //Leer datos

};

Biblioteca::Biblioteca()

{

dataRead();

}

Biblioteca::~Biblioteca()

{

dataSave();

}

int Biblioteca::In_Book(Libro c)

{

if(numgt;MAXSIZE-1)

{ coutlt;lt;"¡La biblioteca está llena! ";

devuelve 0;

}

if(Seach_BookNo(c.GetNo())==-1)

{ num;

Libros[num]=c;

dataSave();

devuelve 1;

{

coutlt;lt;"¡Este ISBN ya existe! "lt;lt;endl;

return 0;

}

}

int Biblioteca::Out_BookN(char *b)

{

int i, j;

i=Seach_BookNo(b);

if(i!=-1)

{

for(j=i;jlt;=num;j)

Libros[j]=Libros[ j 1];

num--;

dataSave();

devuelve 1; > else

{coutlt;lt;"¡No existe tal libro!"lt;lt;endl;

return 0;}

}

void Library::Show_Book()

{

int i

for(i=0; ilt; =num; i)

Libros[i].Print();

coutlt;

}

int Biblioteca::Seach_BookNo(char; *b )

{

int i

for(i=0; ilt; =num; i )

si( Libros[ i].ifBookNo(b))

{Libros[i].Print();

return i;}

return -1; /p >

}

int Biblioteca:: Search_BookName(char* s)

{

int i, count=0;

for(i=0;ilt;=num;i)

if(Libros[i].ifBNombre(s))

{Libros[i].Print(

recuento;

}

retorno recuento

}

int Biblioteca:: Seach_BookWriter( char* s)

{

int i, count=0

for(i=0; ilt; =num; i )

if(Libros[i].ifWriter(s))

{Libros[i].Print()

recuento

}

recuento de retornos

}

int Biblioteca:: Search_Bookmoney(int a, int b)

{

int i, count=0;

for(i=0; ilt; =num; i )

if(Libros[i].ifmoney(a, b))

{Libros[i].Print();

recuento

}

retorno recuento

}

void Library::Change_Book(int b, Libro B)

{

Libros[b]=B;

dataSave () ;

}

vo

id Library::dataSave() // Función de almacenamiento de datos, escribe read[] en el archivo Book.dat

{

fstream file("Book.dat", ios: : out);

for (int i=0; ilt; =num; i)

file.write((char *)amp; Libros[i], tamaño de(Libros [ i]));

file.close();

}

void Library::dataRead() //Constructor, convierte Book.dat Read en leer[]

{

Libro s;

num=-1

fstream file("Book.dat ",ios ::in);

while (1)

{

file.read((char *)amp;s,sizeof(s) ); /p>

if (!file) break

num ;

Libros[num]=s

}

file.close();

}

void Library:: BookSort() //Clasificación de burbujas, de pequeña a grande

{

int i, j;

Libro B;

for(i=0; ilt; =num; i)

for (j=0 ;jlt;=num-i-1;j)

if(strcmp(Libros[j].GetNo(), Libros[j 1].GetNo())gt; 0)

{

B=Libros[j]

Libros[j]=Libros[j 1]

Libros[j 1]=B;

}

guardar datos();

}

#endif