I need to add is that some string information - it must display all the names an
ID: 664774 • Letter: I
Question
I need to add is that some string information - it must display all the names and addresses. I need it in c++ please post acurate answers.
please help below is my code.
#include <iostream>
#include <string.h>
using namespace std;
class Package
{
protected:
//sender properities
char sname[10],saddress[50],scity[20],sstate[20];
long int szip;
//Receiver properities
char rname[10],raddress[50],rcity[20],rstate[20];
long int rzip;
//additonal datamembers
float weight,cost;
public:
Package() //Default constructor
{
strcpy(sname,"");strcpy(saddress,"");strcpy(scity,"");
strcpy(sstate,"");szip=0;
strcpy(rname,"");strcpy(raddress,"");strcpy(rcity,"");
strcpy(rstate,"");rzip=0;
weight=cost=0;
}
Package(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c) //Constructor with parameter
{
strcpy(sname,sn);strcpy(saddress,sa);strcpy(scity,sc); //copying each parameter value to data member
strcpy(sstate,ss);szip=0;
strcpy(rname,rn);strcpy(raddress,ra);strcpy(rcity,rc);
strcpy(rstate,rs);rzip=0;
weight=w;cost=c;
}
float calculateCost() //calculating cost
{
return weight*cost;
}
};
class TwoDayPackage:public Package //Inheritance
{
float flatfee;
public:
TwoDayPackage(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c,float ff) //Constructor with parameter
{
Package(sn,sa,sc,ss,sz,rn,ra,rc,rs,rz,w,c); //calling super class constructor
flatfee=ff; //copy last parameter
}
float calculateCost() //redefined calculateCost function
{
return (weight*cost)+flatfee; //return total cost
}
};
class OverNightPackage:public Package //Inheritance
{
float addfee;
public:
OverNightPackage(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c,float af) //constructor with parameter
{
Package(sn,sa,sc,ss,sz,rn,ra,rc,rs,rz,w,c); //calling super class constructor
addfee=af; //copy last parameter
}
float calculateCost() //redefined calculateCost function
{
return (weight*cost)+addfee; //calculating total cost
}
};
int main()
{
Package package1("lou brown","1 main st","boston","ma",11111,"mary smith","7 elm st","new york","ny",22222,8.5,0.5); //creating objects
TwoDayPackage package2("lisa klein", "5 broadway", "somerville", "ma", 33333, "bob george", "21 pine rd", "cambridge", "ma", 44444, 10.5, .65, 2.0 );
OverNightPackage package3 ("ed lewis", "2 oak st", "boston", "ma", 55555, "don kelly", "9 main st", "denver", "co", 66666, 12.25, .7, .25 );
cout<<" Package Cost : "<<package1.calculateCost(); //calling each cost
cout<<" TwoDay Package Cost : "<<package2.calculateCost();
cout<<" Overnight Package Cost : "<<package3.calculateCost();
return 0;
}
Explanation / Answer
Program code:
Note: The added code is highlighted in bold letters hope the code is help full.
// PackageClass-usingStrings.cpp
#include "stdafx.h" //optional
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
class Package
{
protected:
//sender properities
char sname[10],saddress[50],scity[20],sstate[20];
long int szip;
//Receiver properities
char rname[10],raddress[50],rcity[20],rstate[20];
long int rzip;
//additonal datamembers
float weight,cost;
public:
Package() //Default constructor
{
strcpy(sname,"");strcpy(saddress,"");strcpy(scity,"");
strcpy(sstate,"");szip=0;
strcpy(rname,"");strcpy(raddress,"");strcpy(rcity,"");
strcpy(rstate,"");rzip=0;
weight=cost=0;
}
Package(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c) //Constructor with parameter
{
strcpy(sname,sn);strcpy(saddress,sa);strcpy(scity,sc); //copying each parameter value to data member
strcpy(sstate,ss);szip=sz;
strcpy(rname,rn);strcpy(raddress,ra);strcpy(rcity,rc);
strcpy(rstate,rs);
rzip=rz;
weight=w;cost=c;
}
float calculateCost() //calculating cost
{
return weight*cost;
}
string printString()
{
string str ="";
str+="Sender's Name: ";
str+=sname;
str+=" Sender's Address: ";
str+= saddress;
str+=" Sender's City: ";
str+= scity;
str+=" Sender's State: ";
str+= sstate;
str+=" Sender's Zip: ";
stringstream ss;
ss<<szip;
str+=ss.str();
str+=" Receiver's Name: ";
str+=rname;
str+=" Receiver's Address: ";
str+=raddress;
str+=" Receiver's City: ";
str+=rcity;
str+=" Receiver's State: ";
str+= rstate;
str+=" Receiver's Zip: ";
stringstream sr;
sr<<rzip;
str+=sr.str();
str+=" Package weight: ";
stringstream si;
si<<weight;
str+= si.str();
str+=" Cost: ";
stringstream sa;
sa<<cost;
str+= sa.str();
str+=" ";
return str;
}
};
class TwoDayPackage:public Package //Inheritance
{
float flatfee;
public:
TwoDayPackage(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c,float ff):Package(sn,sa,sc,ss,sz,rn,ra,rc,rs,rz,w,c)//Constructor with parameter
{
flatfee=ff; //copy last parameter
}
float calculateCost() //redefined calculateCost function
{
return (weight*cost)+flatfee; //return total cost
}
string printString()
{
stringstream ss;
string s;
s+=Package::printString();
s+=" Total cost: ";
ss<<calculateCost();
s+= ss.str();
s+=" ";
return s;
}
};
class OverNightPackage:public Package //Inheritance
{
float addfee;
public:
OverNightPackage(char sn[10],char sa[50],char sc[20],char ss[20],long int sz,char rn[10],char ra[50],char rc[20],char rs[20],long int rz,float w,float c,float af):Package(sn,sa,sc,ss,sz,rn,ra,rc,rs,rz,w,c) //constructor with parameter
{
addfee=af; //copy last parameter
}
float calculateCost() //redefined calculateCost function
{
return (weight*cost)+addfee; //calculating total cost
}
string printString()
{
stringstream ss;
string s;
s+=Package::printString();
s+=" Total cost: ";
ss<<calculateCost();
s+= ss.str();
return s;
}
};
int main()
{
Package package1("lou brown","1 main st","boston","ma",11111,"mary smith","7 elm st","new york","ny",22222,8.5,0.5); //creating objects
TwoDayPackage package2("lisa klein", "5 broadway", "somerville", "ma", 33333, "bob george", "21 pine rd", "cambridge", "ma", 44444, 10.5, .65, 2.0 );
OverNightPackage package3("ed lewis", "2 oak st", "boston", "ma", 55555, "don kelly", "9 main st", "denver", "co", 66666, 12.25, .7, .25 );
cout<<" Package Cost : "<<package1.calculateCost(); //calling each cost
cout<<" TwoDay Package Cost : "<<package2.calculateCost();
cout<<" Overnight Package Cost : "<<package3.calculateCost();
cout<<endl;
cout<<endl;
cout<<"Details of package 1: "<<endl;
cout<<package1.printString();
cout<<endl;
cout<<"Details of package 2: "<<endl;
cout<<package2.printString();
cout<<endl;
cout<<"Details of package 3: "<<endl;
cout<<package3.printString();
cout<<endl;
system("pause");
return 0;
}
Sample Output:
Package Cost : 4.25
TwoDay Package Cost : 8.825
Overnight Package Cost : 8.825
Details of package 1:
Sender's Name: lou brown
Sender's Address: 1 main st
Sender's City: boston
Sender's State: ma
Sender's Zip: 11111
Receiver's Name: mary smith7 elm st
Receiver's Address: 7 elm st
Receiver's City: new york
Receiver's State: ny
Receiver's Zip: 22222
Package weight: 8.5
Cost: 0.5
Details of package 2:
Sender's Name: lisa klein5 broadway
Sender's Address: 5 broadway
Sender's City: somerville
Sender's State: ma
Sender's Zip: 33333
Receiver's Name: bob george21 pine rd
Receiver's Address: 21 pine rd
Receiver's City: cambridge
Receiver's State: ma
Receiver's Zip: 44444
Package weight: 10.5
Cost: 0.65
Total cost: 8.825
Details of package 3:
Sender's Name: ed lewis
Sender's Address: 2 oak st
Sender's City: boston
Sender's State: ma
Sender's Zip: 55555
Receiver's Name: don kelly
Receiver's Address: 9 main st
Receiver's City: denver
Receiver's State: co
Receiver's Zip: 66666
Package weight: 12.25
Cost: 0.7
Total cost: 8.825
Press any key to continue . . .
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.