CSI 250L Lab 7 Solution, Spring 2012

American University of Science and Technology · Programming II Lab · 9 pages · Dr. Saeed Raheel · with solution

All CSI 250L files
CSI 250L Lab 7 Solution, Spring 2012, page 1

Stuck on a question? A tutor can walk you through it.

CSI 250L Lab 7 Solution, Spring 2012, page 2 CSI 250L Lab 7 Solution, Spring 2012, page 3 CSI 250L Lab 7 Solution, Spring 2012, page 4 CSI 250L Lab 7 Solution, Spring 2012, page 5 CSI 250L Lab 7 Solution, Spring 2012, page 6 CSI 250L Lab 7 Solution, Spring 2012, page 7 CSI 250L Lab 7 Solution, Spring 2012, page 8 CSI 250L Lab 7 Solution, Spring 2012, page 9

More CSI 250L files

Show the text of this lab
#include "Address.h" #include <string> #include <iostream> using namespace std; Address::~Address() { delete [] city; delete [] street; } Address::Address() { city = NULL; street = NULL; } Address::Address(char *city, char *street) { setCity(city); setStreet(street); } void Address::setCity(char *c) { //delete [] city; city = new char [ strlen(c) + 1 ]; strcpy(city, c); } void Address::setStreet(char *s) { //delete [] street; street = new char [ strlen(s) + 1 ]; strcpy(street, s); } char *Address::getCity() { return city; } char *Address::getStreet() { return street; } void Address::print() { cout << "City=" << city << " street=" << street << endl; } #ifndef __ADDRESS__ #define __ADDRESS__ class Address { private: char *city; char *street; public: Address(); ~Address(); Address(char *, char *); void setCity(char *); void setStreet(char *); char *getCity(); char *getStreet(); void print(); }; #endif #include "Manager.h" #include <string> #include <iostream> using namespace std; Manager::Manager(int i, char *f, char *l) { setFname(f); setLname(l); setId(i); } Manager::Manager() { //setFname(""); //setLname(""); setId(0); } char *Manager::getFname() { return fname; } char *Manager::getLname() { return lname; } void Manager::setFname(char *f) { //delete [] fname; fname = new char [ strlen(f) + 1 ]; strcpy(fname, f); } void Manager::setLname(char *l) { //delete [] lname; lname = new char [ strlen(l) + 1 ]; strcpy(lname, l); } void Manager::setId(int i) { id = i; } int Manager::getId() { return id; } #ifndef __MANAGER__ #define __MANAGER__ class Manager { private: int id; char *fname, *lname; public: Manager(int, char *, char *); Manager(); char *getFname(); char *getLname(); int getId(); void setFname(char *); void setLname(char *); void setId(int); }; #endif #include "Store.h" #include <cstring> #include <iostream> using namespace std; int Store::count = 0; char *Store::getName() { return name; } void Store::setNum(int num) { number = num; } void Store::setName(char *n) { //delete [] name; name = new char [ strlen(n) + 1 ]; strcpy(name, n); } Store::Store() { count++; } void Store::print() { cout << name << "-" << number << " has an address " << ad.getCity() << ", " << ad.getStreet() << endl; cout << "Manager: " << mn.getFname() << " " << mn.getLname() << endl; } Store::Store(int num, char *n, char *city, char *street):ad(city, street) { count++; setName(n); setNum(num); } Store::Store(int num, char *n, Address a) { count++; setName(n); setNum(num); ad = a; } void Store::setAddress(char *c1, char *sl) { ad.setCity(c1); ad.setStreet(sl); } void Store::setManager(int id, char *f, char *l) { mn.setId(id); mn.setFname(f); mn.setLname(l); } char *Store::getManFname() { return mn.getFname(); } char *Store::getManLname() { return mn.getLname(); } int Store::getManId() { return mn.getId(); } char *Store::getCity() { return ad.getCity(); } char *Store::getStreet() { return ad.getStreet(); } #include "Store.h" #include <string.h> #include <iostream> using namespace std; int main() { int n, i; cout << "How many stores. to create?"; cin >> n; Store *st = new Store[n]; for (i=0;i<n;i++) { char strname[100]; cout << "Enter store name:"; cin >> strname; int strnum; cout << "Enter store number:"; cin >> strnum; st[i].setNum(strnum); st[i].setName(strname); cout << "Enter street name:"; char str[100]; cin >> str; cout << "Enter city:"; char c[100]; cin >> c; st[i].setAddress(c, str); cout << "Enter manager name, lname, id:"; char mnname[100], mnlname[100]; int mnid; cin >> mnname >> mnlname >> mnid; st[i].setManager(mnid, mnname, mnlname); } int choice; do { cout << "1. List all store' addresses.\n" << "2. List the manager info for a specific store.\n" << "3. Change a specific store address\n" << "4. Exit\n"; cin >> choice; if (choice == 1) { for (i=0;i<n;i++) { cout << "Store #" << i << " - City:" << st[i].getCity() << " Street:" << st[i].getStreet() << endl; } } else if (choice == 2) { char strname[100]; cout << "What store to find its manager? Enter the store. name:"; cin >> strname; for (i=0;i<n;i++) { if (strcmp(st[i].getName(), strname)) { cout << "The manager's name: " << st[i].getManFname() << " " << st[i].getManLname()<<endl; } } } else if (choice == 3) { string strname; cout << "What store to change its address? Enter the store. name:"; cin >> strname; for (i=0;i<n;i++) { // did we find this store? if (st[i].getName() == strname) { // take new address information cout << "Enter city name:"; char c[100]; cin >> c; cout << "Enter street:"; char str[100]; cin >> str; st[i].setAddress(c, str); } } } } while(choice != 4); //delete [] st; return 0; }