Hi guys!
Here's one that won't compile out of the box (student file from the text). Can anyone tell me why I'm getting:
Data Structs error LNK2019: unresolved external symbol _main referenced in function _mainCRTStartup
Code:#include <iostream> #include <fstream> #include <cstring> using namespace std; class Personal { public: Personal(); Personal(char*,char*,char*,int,long); void writeToFile(fstream&) const; void readFromFile(fstream&); void readKey(); int size() const { return 9 + nameLen + cityLen + sizeof(year) + sizeof(salary); } bool operator==(const Personal& pr) const { return strcmp(pr.SSN,SSN) == 0; } protected: const int nameLen, cityLen; char SSN[10], *name, *city; int year; long salary; ostream& writeLegibly(ostream&); friend ostream& operator<<(ostream& out, Personal& pr) { return pr.writeLegibly(out); } istream& readFromConsole(istream&); friend istream& operator>>(istream& in, Personal& pr) { return pr.readFromConsole(in); } }; Personal::Personal() : nameLen(10), cityLen(10) { name = new char[nameLen+1]; city = new char[cityLen+1]; } Personal::Personal(char ........n, char *n, char *c, int y, long s) : nameLen(10), cityLen(10) { name = new char[nameLen+1]; city = new char[cityLen+1]; strcpy(SSN,ssn); strcpy(name,n); strcpy(city,c); year = y; salary = s; } void Personal::writeToFile(fstream& out) const { out.write(SSN,9); out.write(name,nameLen); out.write(city,cityLen); out.write(reinterpret_cast<const char*>(&year),sizeof(int)); out.write(reinterpret_cast<const char*>(&salary),sizeof(int)); } void Personal::readFromFile(fstream& in) { in.read(SSN,9); in.read(name,nameLen); in.read(city,cityLen); in.read(reinterpret_cast<char*>(&year),sizeof(int)); in.read(reinterpret_cast<char*>(&salary),sizeof(int)); } void Personal::readKey() { char s[80]; cout << "Enter SSN: "; cin.getline(s,80); strncpy(SSN,s,9); } ostream& Personal::writeLegibly(ostream& out) { SSN[9] = name[nameLen] = city[cityLen] = '\0'; out << "SSN = " << SSN << ", name = " << name << ", city = " << city << ", year = " << year << ", salary = " << salary; return out; } istream& Personal::readFromConsole(istream& in) { char s[80]; cout << "SSN: "; in.getline(s,80); strncpy(SSN,s,9); cout<<'['<<SSN<<']'; cout << "Name: "; in.getline(s,80); strncpy(name,s,nameLen); cout<<'['<<name<<']'; cout << "City: "; in.getline(s,80); strncpy(city,s,cityLen); cout<<'['<<city<<']'; cout << "Birthyear: "; in >> year; cout<<'['<<year<<']'; cout << "Salary: "; in >> salary; cout<<'['<<salary<<']'; cin.ignore(); return in; }



LinkBack URL
About LinkBacks



