Совершенно новый (по состоянию на десять минут go) переполнение стека и (около недели в) c ++, но я работаю над тем, чтобы найти систему управления библиотекой, которую я нашел в Интернете, чтобы посмотреть, как работают классы. Я нашел оригинальный код здесь: https://www.icbse.com/projects/c-project-on-library-management-2g и пытаюсь выяснить, как заставить его работать. Некоторые заголовки устарели, поэтому я обновил их и внес изменения по мере необходимости. Столкнулся с проблемой с get () и увидел, что кто-то здесь сказал, что это плохая практика / небезопасно, поэтому я изменил все эти ссылки на ' std :: getline '. Тем не менее, теперь у меня есть проблема, которую я не смог решить, почему мой отладчик имеет загогулину под std. Я получаю 'ни один экземпляр перегруженной функции "std :: getline" не соответствует списку аргументов - типы аргументов: (std :: istream, char [50])'. Я не уверен, как решить эту проблему. Любая помощь будет оценена.
#include<iostream>
#include<fstream>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<process.h>
#include<string.h>
#include<iomanip>
#include<string>
using namespace std;
using std::cout;
using std::getline;
class book
{
char bno[6];
char bname[50];
char aname[20];
public:
void create_book()
{
cout<<"\nNEW BOOK ENTRY...\n";
cout<<"\nEnter The book no.";
cin>>bno;
cout<<"\n\nEnter The Name of The Book ";
std::getline(std::cin, bname);
cout<<"\n\nEnter The Author's Name ";
std::getline(std::cin,aname);
cout<<"\n\n\nBook Created..";
}
void show_book()
{
cout<<"\nBook no. : "<<bno;
cout<<"\nBook Name : ";
puts(bname);
cout<<"Author Name : ";
puts(aname);
}
void modify_book()
{
cout<<"\nBook no. : "<<bno;
cout<<"\nModify Book Name : ";
std::getline(std::cin,bname);
cout<<"\nModify Author's Name of Book : ";
std::getline(std::cin,aname);
}
char* retbno()
{
return bno;
}
void report()
{cout<<bno<<setw(30)<<bname<<setw(30)<<aname<<endl;}
};