Computer Networking: A Top-Down Approach (7th Edition)
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
Bartleby Related Questions Icon

Related questions

Question

//main.cpp

#include "Person.h"
#include "Seller.h"
#include "Powerseller.h"
#include <iostream>
#include <list>
#include <fstream>
#include <string>

using namespace std;

void printMenu();
void printSellers(list<Seller*> sellers);
void checkSeller(list<Seller*> sellers);
void addSeller(list<Seller*> sellers);
void deleteSeller(list<Seller*> &sellers);

int main() {
list<Seller*> sellers;
ifstream infile;
infile.open("sellers.dat");
if (!infile) {
cerr << "File could not be opened." << endl;
exit(1);
}
char type;
while (!infile.eof())
{
infile >> type;
if (type == 'S')
{
Seller* newseller = new Seller;
newseller -> read(infile);
sellers.push_back(newseller);
}

if (type == 'P')
{
Powerseller* newpowerseller = new Powerseller;
newpowerseller -> read(infile);
sellers.push_back(newpowerseller);
}
}
infile.close();
bool done = false;
int choice;
while (!done) {
printMenu();
cin >> choice;
switch (choice) {
case 1:
printSellers(sellers);
break;
case 2:
checkSeller(sellers);
break;
case 3:
addSeller(sellers);
break;
case 4:
deleteSeller(sellers);
break;
case 5:
done = true;
break;
}
}
return 0;
}

void printMenu() {
cout << endl;
cout << "Menu" << endl;
cout << "1. Print information of all sellers" << endl;
cout << "2. Check information of a particular seller" << endl;
cout << "3. Add a seller to the list" << endl;
cout << "4. Remove a seller from the list" << endl;
cout << "5. Quit" << endl;
cout << "Enter your choice: ";
}

void printSellers(list<Seller*> sellers) {
for (list<Seller*>::iterator i = sellers.begin(); i != sellers.end(); i++)
{
(*i)->print();
}
}

void checkSeller(list<Seller*> sellers) {
string fname, lname;
cout << "Enter the seller's first name: " ;
cin >> fname;
cout << "Enter the seller's last name: " ;
cin >> lname;
bool found = false;
for (list<Seller*>::iterator i = sellers.begin(); i != sellers.end(); i++) {
if ((*i)->getFirstName() == fname && (*i)->getLastName() == lname)
{
found = true;
cout << "\n" << endl;
(*i)->print();
}
}
if (!found)
{
cout << "Seller not found." << endl;
}
}

void addSeller(list<Seller*> sellers)
{
string fname, lname, info, web, em, id;
int sold, item;
float rating;
cout << "Please enter the following information (enter invalid type to quit): " << "\n";
cout << "Is the seller a (S)eller or (P)ower Seller? ";
cin >> info;
if (info == "S")
{
cout << "first name: " << endl;
cin >> fname;
cout << "last name: " << endl;
cin >> lname;

cout << "User ID: " << endl;
cin >> id;

cout << "Email Address: " << endl;
cin >> em;
//Email Address:
cout << "Average Star Rating: " << endl;
cin >> rating;

cout << "Total Items sold: " << endl;
cin >> item;

cout << "The new Power Seller has been added. Returning to Seller Management..." << endl;
Seller* newseller = new Seller;
newseller -> read(cin);
sellers.push_back(newseller);
}

if (info == "P")
{
cout << "first name: " << endl;
cin >> fname;
cout << "last name: " << endl;
cin >> lname;
cout << "User ID: " << endl;
cin >> id;

cout << "Email Address:" << endl;
cin >> em;
//Email Address:
cout << "Average Star Rating: " << endl;
cin >> rating;

cout << "Total Items sold: " << endl;
cin >> item;
cout << "Website Address: " << endl;
cin >> web;
cout << "Current year products Sold: " << endl;
cin >> sold;
Powerseller* newpowerseller = new Powerseller;
newpowerseller -> read(cin);
sellers.push_back(newpowerseller);
//for (list<Seller*>::iterator i = sellers.begin(); i != sellers.end(); i++)
//{
//Powerseller* newpowerseller = new Powerseller;
//newpowerseller -> read(cin);
//sellers.push_back(newpowerseller);
//break;
//}
}
}

void deleteSeller(list<Seller*> &sellers) {
string fname, lname;
cout << "Enter the seller's first name: ";
cin >> fname;
cout << "Enter the seller's last name: ";
cin >> lname;
bool found = false;
for (list<Seller*>::iterator i = sellers.begin(); i != sellers.end(); i++) {
if ((*i)->getFirstName() == fname && (*i)->getLastName() == lname) {
found = true;
sellers.erase(i);
break;
}
}
if (!found)
{
cout << "Seller not found." << endl;
}
}

My add function doesn't return to the menu. Can you help me out?

Transcribed Image Text:Menu 1. Print information of all sellers 2. Check information of a particular seller 3. Add a seller to the list 4. Remove a seller from the list 5. Quit Enter your choice: 3 Please enter the following information (enter invalid type to qui t): Is the seller a (S)eller or (P)ower Seller? S first name: Luke last name: River User ID: LR89 Email Address: LR89@goggle.com Average Star Rating: 5 Total Items sold: 455 The new Power Seller has been added. Returning to Seller Managem ent... 0
Transcribed Image Text:Please choose from the following menu: 1. Print all seller information 2. Check information of one seller 3. Add a seller 4. Remove a seller 5. Quit Enter your choice: 3 Please enter the following information (enter invalid type to quit): Is the seller a (S)eller or (P)ower Seller? S First name: Angela Last name: Thomas User ID: angthomas Email Address: angela.thomas@bellsouth.com Average Star Rating: 3.7 Total Items sold: 380 The new Seller has been added. Returning to Seller management... Please choose from the following menu: 1. Print all seller information 2. Check information of one seller 3. Add a seller 4. Remove a seller 5. Quit
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Similar questions
    Recommended textbooks for you
    Text book image
    Computer Networking: A Top-Down Approach (7th Edi...
    Computer Engineering
    ISBN:9780133594140
    Author:James Kurose, Keith Ross
    Publisher:PEARSON
    Text book image
    Computer Organization and Design MIPS Edition, Fi...
    Computer Engineering
    ISBN:9780124077263
    Author:David A. Patterson, John L. Hennessy
    Publisher:Elsevier Science
    Text book image
    Network+ Guide to Networks (MindTap Course List)
    Computer Engineering
    ISBN:9781337569330
    Author:Jill West, Tamara Dean, Jean Andrews
    Publisher:Cengage Learning
    Text book image
    Concepts of Database Management
    Computer Engineering
    ISBN:9781337093422
    Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
    Publisher:Cengage Learning
    Text book image
    Prelude to Programming
    Computer Engineering
    ISBN:9780133750423
    Author:VENIT, Stewart
    Publisher:Pearson Education
    Text book image
    Sc Business Data Communications and Networking, T...
    Computer Engineering
    ISBN:9781119368830
    Author:FITZGERALD
    Publisher:WILEY