Getting error message : error C2512: \'Membership\' : no appropriate default con
ID: 3767622 • Letter: G
Question
Getting error message : error C2512: 'Membership' : no appropriate default constructor available
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
class Membership
{
public:
string name;
int ID;
string gender;
double weight;
Membership (string name, int ID, string gender, double weight)
{
this->name = name;
this->ID = ID;
this->gender = gender;
this->weight = weight;
}
};
int main()
{
vector<Membership> member(10);
string name;
int ID;
string gender;
double weight;
int choice = 0;
vector<Membership>::iterator it;
do
{
cout << "MAIN MENU" << endl;
cout << "1. New Member" << endl;
cout << "2. View Member Info" << endl;
cout << "3. Browse All Members" << endl;
cout << "4. Edit a Member" << endl;
cout << "5. Delete Member" << endl;
cout << "6. Exit" << endl;
cout << "Select your option(1-6): ";
cin >> choice;
switch (choice)
{
case 1:
{
cout << "Enter name: ";
cin >> name;
cout << "Enter Id: ";
cin >> ID;
cout << "Enter gender: ";
cin >> gender;
cout << "Enter weight: ";
cin >> weight;
Membership mem(name, ID, gender, weight);
member.push_back(mem);
}
break;
case 2:
{
cout << "Enter an id: ";
cin >> ID;
for (it = member.begin(); it != member.end(); it++)
{
if (it->ID == ID)
{
cout << "Name: " << it->name << endl;
cout << "ID: " << it->ID << endl;
cout << "Gender: " << it->gender << endl;
cout << "Weight: " << it->weight << endl;
break;
}
}
}
break;
case 3:
{
ofstream file("Output.txt");
if (file)
{
for (it = member.begin(); it != member.end(); it++)
{
file << "Name: " << it->name << endl;
file << "ID: " << it->ID << endl;
file << "Gender: " << it->gender << endl;
file << "Weight: " << it->weight << endl;
cout << "Name: " << it->name << endl;
cout << "ID: " << it->ID << endl;
cout << "Gender: " << it->gender << endl;
cout << "Weight: " << it->weight << endl;
}
}
}
break;
case 4:
{
cout << "Enter an id: ";
cin >> ID;
for (it = member.begin(); it != member.end(); it++)
{
if (it->ID == ID)
{
cout << "Enter name: ";
cin >> it->name;
cout << "Enter gender: ";
cin >> it->gender;
cout << "Enter weight: ";
cin >> it->weight;
break;
}
}
}
break;
case 5:
{
}
break;
case 6:
{
system("pause");
return 0;
}
break;
default:
cout << "Enter your choice properly" << endl;
}
}
while (true);
system("pause");
return 0;
}
Explanation / Answer
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
class Membership
{
public:
string name;
int ID;
string gender;
double weight;
Membership()
{}
Membership (string name, int ID, string gender, double weight)
{
this->name = name;
this->ID = ID;
this->gender = gender;
this->weight = weight;
}
};
int main()
{
vector<Membership> member(10);
string name;
int ID;
string gender;
double weight;
int choice = 0;
vector<Membership>::iterator it;
do
{
cout << "MAIN MENU" << endl;
cout << "1. New Member" << endl;
cout << "2. View Member Info" << endl;
cout << "3. Browse All Members" << endl;
cout << "4. Edit a Member" << endl;
cout << "5. Delete Member" << endl;
cout << "6. Exit" << endl;
cout << "Select your option(1-6): ";
cin >> choice;
switch (choice)
{
case 1:
{
cout << "Enter name: ";
cin >> name;
cout << "Enter Id: ";
cin >> ID;
cout << "Enter gender: ";
cin >> gender;
cout << "Enter weight: ";
cin >> weight;
Membership mem(name, ID, gender, weight);
member.push_back(mem);
}
break;
case 2:
{
cout << "Enter an id: ";
cin >> ID;
for (it = member.begin(); it != member.end(); it++)
{
if (it->ID == ID)
{
cout << "Name: " << it->name << endl;
cout << "ID: " << it->ID << endl;
cout << "Gender: " << it->gender << endl;
cout << "Weight: " << it->weight << endl;
break;
}
}
}
break;
case 3:
{
ofstream file("Output.txt");
if (file)
{
for (it = member.begin(); it != member.end(); it++)
{
file << "Name: " << it->name << endl;
file << "ID: " << it->ID << endl;
file << "Gender: " << it->gender << endl;
file << "Weight: " << it->weight << endl;
cout << "Name: " << it->name << endl;
cout << "ID: " << it->ID << endl;
cout << "Gender: " << it->gender << endl;
cout << "Weight: " << it->weight << endl;
}
}
}
break;
case 4:
{
cout << "Enter an id: ";
cin >> ID;
for (it = member.begin(); it != member.end(); it++)
{
if (it->ID == ID)
{
cout << "Enter name: ";
cin >> it->name;
cout << "Enter gender: ";
cin >> it->gender;
cout << "Enter weight: ";
cin >> it->weight;
break;
}
}
}
break;
case 5:
{
}
break;
case 6:
{
system("pause");
return 0;
}
break;
default:
cout << "Enter your choice properly" << endl;
}
}
while (true);
system("pause");
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.