面向对象分析与设计项目源码_面向对象系统分析与设计

hacker|
108

文章目录:

【100分】求一个面向对象的实际项目源代码,大家踊跃发言

我给两个例子,不是复制粘贴的,自己曾经写过的

工资管理系统

//cpp

#includeiostream

#includestring

using namespace std;

class Employee

{//定义Employee类

protected:

string name,number;

public:

Employee(){};//构造函数

virtual void show()//显示姓名与编号的虚函数

{

cout"姓名:"nameendl;

cout"编号:"numberendl;

}

~Employee(){}//析构函数

};

class Manager:public Employee

{//定义Manager类,公有继承Employee类

private:

double salary;

public:

static int m;

Manager(){};//构造函数

void show()//显示经理详细情况函数

{

cout"姓名:"nameendl;

cout"编号:"numberendl;

cout"月工资:"salaryendl;

}

Manager operator=(const Manager );//声明重载赋值函数

void put(string na,string nu,double sa)//给成员赋值函数

{

name=na;

number=nu;

salary=sa;

}

};

Manager Manager::operator=(const Manager p)//定义重载赋值函数

{

name=p.name;

number=p.number;

salary=p.salary;

return *this;

}

class HourlyWorker:public Employee

{//定义HourlyWorker类,公有继承Employee类

private:

double hour,wage;

public:

static int n;

HourlyWorker(){};//构造函数

void show()//显示钟点工详细情况函数

{

cout"姓名:"nameendl;

cout"编号:"numberendl;

cout"小时工资:"wageendl;

cout"月工作小时:"hourendl;

}

HourlyWorker operator=(const HourlyWorker );//声明重载赋值函数

void put(string na,string nu,double ho,double wa)//给成员赋值函数

{

name=na;

number=nu;

hour=ho;

wage=wa;

}

};

HourlyWorker HourlyWorker::operator=(const HourlyWorker p)//定义重载赋值函数

{

name=p.name;

number=p.number;

hour=p.hour;

wage=p.wage;

return *this;

}

int HourlyWorker::n=0;

int Manager::m=0;

void main()

{

Manager x[5];//建立5个Manager类

HourlyWorker y[5];//建立5个HourlyWorker类

int i;

string name,number,sort;

double wage,hour,salary;

bool flags=true;

while(flags)

{

cout"[1]增加一个职工"endl;

cout"[2]显示数组中所有的职工以及他们的工资"endl;

cout"[3]显示数组中所有的经理以及他们的工资"endl;

cout"[4]显示数组中钟点工以及他们的工资"endl;

cout"[5]退出"endl;

int num;

cinnum;

switch(num)

{

case 1:

cout"输入职工信息:"endl"姓名:";

cinname;

cout"编号:";

cinnumber;

cout"类别:(输入“经理”或“钟点工”)";

cinsort;

if(sort=="经理")

{

cout"月工资:";

cinsalary;

Manager::m++;

x[Manager::m-1].put(name,number,salary);

cout"***增加一个职工***"endl;

x[Manager::m-1].show();

}

else if(sort=="钟点工")

{

cout"小时工资:";

cinwage;

cout"月工作小时数:";

cinhour;

HourlyWorker::n++;

y[HourlyWorker::n-1].put(name,number,hour,wage);

cout"***增加一个职工***"endl;

y[HourlyWorker::n-1].show();

}

else cout"输入有误,请重新输入!"endl;

break;

case 2:

cout"***职工工资表***"endl;

for(i=0;iManager::m;i++)

x[i].show();

for(i=0;iHourlyWorker::n;i++)

y[i].show();

break;

case 3:

cout"***经理工资表***"endl;

for(i=0;iManager::m;i++)

x[i].show();

break;

case 4:

cout"***钟点工工资表***"endl;

for(i=0;iHourlyWorker::n;i++)

y[i].show();

break;

case 5:flags=false;

exit(0);

}

}

}

面向对象实例6

#includeiostream.h

#includemath.h

class xy;

//**********************************************

//*********************ra类*********************

//**********************************************

class ra

{

public:

double r,a;

ra(double rr=20,double aa=10){r=rr;a=aa;}//ra构造函数

ra(const ra p){r=p.r;a=p.a;}//ra拷贝构造函数

friend istream operator(istream in,ra ob);//ra""

friend ostream operator(ostream out,ra ob);//ra""

operator double(){return r;}//double转换

operator xy();//xy类转换,函数体必须放到类外面

};

istream operator(istream in,ra ob)//ra""

{

cout"输入r、a的值:"endl;

cout"r:";

inob.r;

cout"a:";

inob.a;

return in;

}

ostream operator(ostream out,ra ob)//ra""

{

cout"r=";

outob.r;

cout",a=";

outob.a;

return out;

}

//**********************************************

//*********************xy类*********************

//**********************************************

class xy

{

public:

double x,y;

xy(double xx=20,double yy=10){x=xx;y=yy;}//xy构造函数

xy(const xy p){x=p.x;y=p.y;}//xy拷贝构造函数

friend istream operator(istream in,xy ob);//xy""

friend ostream operator(ostream out,xy ob);//xy""

operator int(){return int(x);}//int转换

operator double(){return x;}//double转换

operator ra()//ra类转换

{

ra ra3;

ra3.r=sqrt(x*x+y*y);

ra3.a=atan(y/x);

return ra3;

}

double friend operator +(ra ra1,double d1);//友元函数xy"+"

double operator +(double d1)//成员函数xy"+"

{

double d=x+d1+8;

return d;

}

double operator *(ra ra1)//成员函数xy"*"

{

double m=x*double(ra1);

return m;

}

};

istream operator(istream in,xy ob)//xy""

{

cout"输入x、y的值:"endl;

cout"x:";

inob.x;

cout"y:";

inob.y;

return in;

}

ostream operator(ostream out,xy ob)//xy""

{

cout"x=";

outob.x;

cout",y=";

outob.y;

return out;

}

double operator +(ra ra1,double d1)//友元函数xy"+"

{

double d=ra1.r+d1+5;

return d;

}

ra::operator xy()

{

xy xy3;

xy3.x=r*cos(a);

xy3.y=r*sin(a);

return xy3;

}

//**********************************************

//*********************主函数*******************

//**********************************************

void main()

{

ra ra_3=30;//系统类型转换为类类型

ra ra_31=ra(31);

xy xy_3=33;

xy xy_31=xy(31);

ra ra_4(40,44);//类类型转换为系统类型

double d1=ra_4;

double d11=double(ra_4);

xy xy_4(40.,48);

int i=xy_4;

double d2=xy_4;

xy xy_1(10,11);//xy与ra类的相互转换

ra ra_1;

ra_1=xy_1;

ra ra_2(20,22);

xy xy_2;

xy_2=ra_2;

xy xy_7;//系统类型与类类型的运算

ra ra_7(60,66);

xy_7=ra_7+3.4;

xy xy_71;

xy_71=double(ra_7)+3.4;

xy xy_9(90,93),xy_10;//系统类型与类类型混合运算

ra ra_9(92,95),ra_10(101,104);

xy_10=xy_9*ra_9-5.6*ra_10+3.3;

xy_10=double(xy_9)*double(ra_9)-5.6*double(ra_10)+3.3;

}

c++课程设计商场招商管理系统源代码 使用面向对象的系统分析和设计,开发基于mfc对话框的c++语言应用软件。

wewasdsjgklnasdm zsd;thdz

zfsegxfjt#include iostream

#include string

#include iomanip

#include stdio.h

using namespace std;

struct Sale

{

//数据域。

string m_code;

string m_name;

float m_price;

unsigned int m_quantity;

//指针域。

struct Sale* next;

};

typedef struct Sale Node;//取外别名,Node.

typedef Node* Link;//取个别名,Link.

//创建链表。

Link Create(Link Head)

{

//-----初始化头节点 Head-------

Head=(Link)new Node;//每次动态分配一个Node内存大小。

Head-m_code="";

Head-m_name="";

Head-m_price=0.0;

Head-m_quantity=0;

Head-next=NULL;

//-----

Link ptr;//定义一个用来运算的指针 ptr。

ptr=Head;//指到首节点。

Link DNode;//定义数据节点,用来存放数据。

char GoOn;

do

{

cout"商品信息录入! "endl;

string code,name;

float price;

unsigned int quantity;

cout"输入代码:"endl;

cincode;

cout"输入名称:"endl;

cinname;

cout"输入价格:"endl;

cinprice;

while(cin.fail())

{

cout"请输入正确的格式:"endl;

cin.clear();

fflush(stdin);

cinprice;

}

cout"输入数量:"endl;

cinquantity;

while(cin.fail())

{

cout"请输入正确的格式:"endl;

cin.clear();

fflush(stdin);

cinquantity;

}

//----数据域-----

DNode=(Link)new Node;//每次动态分配一个Node内存大小。

DNode-m_code=code;

DNode-m_name=name;

DNode-m_price=price;

DNode-m_quantity=quantity;

//----指针域-----

DNode-next=NULL;//作为尾节点加入。

ptr-next=DNode;//链入链表中。

ptr=DNode;//使新节点成为下一次的前驱。

cout"商品信息录入成功! 是否继续录入?(Y/N) ";

cinGoOn;

}while(GoOn=='Y'||GoOn=='y');

return Head;

}

//释放链表。

void Release(Link Head)

{

Link ptr;

while(Head!=NULL)

{

ptr=Head;

Head=Head-next;

delete ptr;

}

}

//查询。

Link Search(Link Head,string code)

{

Link ptr;

//Link front;

ptr=Head;//定义一个用于操作的指针ptr。

//ptr=fornt-next;

while(ptr!=NULL)

{

if(ptr-m_code==code)

return ptr;

else

ptr=ptr-next;

}

cout"无此商品!"endl;

return ptr;//此时的ptr为NULL了。

}

//打印链表。

void Display(Link Head)

{

Link ptr;

ptr=Head-next;//,不要头节点,只输出数据节点。

cout"==========================================================="endl;

cout"===============所有商品信息清单============================"endl;

cout"==========================================================="endl;

cout"货品代码=======货品名称======货品价格======货品数量===="endl;

while(ptr!=NULL)

{

coutsetw(15)leftptr-m_code

setw(15)leftptr-m_name

setw(15)leftptr-m_price

setw(15)leftptr-m_quantityendl;

ptr=ptr-next;

}

}

void Display_One(Link Head,string code,unsigned quantity)

{

Link ptr;

ptr=Search(Head,code);//,不要头节点,只输出数据节点。

cout"货品代码=======货品名称======货品价格======货品数量======小计(元)===="endl;

coutsetw(15)leftptr-m_code

setw(15)leftptr-m_name

setw(15)leftptr-m_price

setw(15)leftquantity

setw(15)leftquantity*ptr-m_priceendl;

}

//单个商品小结。

float CheckOut(Link Head,string code,unsigned quantity)

{

Link ptr;

float sum(0);

ptr=Search(Head,code);

sum=(ptr-m_price*quantity);

return sum;

}

//总结帐。

void Total(Link Head)

{

Link ptr;

ptr=Head;

float sum(0);

float factly;

char GoOn;

while(1)

{

cout"要结束商品买入请按\'N\',其它任意键表示继续买入! "endl;

cinGoOn;

if(GoOn=='N'||GoOn=='n')

break;

else

{

string code;

unsigned int quantity;

cout"输入要购买的商品代码:"endl;

cincode;

cout"输入要购买的数量:"endl;

cinquantity;

sum+=CheckOut(ptr,code,quantity);

cout"你购买的商品为:"endl;

Display_One(ptr,code,quantity);

}

}

cout"----------------------------------------------------"endl;

cout"你应该付 "sum"元!"endl;

cout"你实际付(元): ";

cinfactly;

cout"应该找回你 "factly-sum"元!"endl;//找零。

}

int main()

{

//---------菜单选项----------------

Link Head=NULL;

//Head=Create(Head);

int loop=1;

while(loop)

{

cout"***************************************************"endl;

cout"*---------------------菜单选项--------------------*"endl;

cout"*-------------------------------------------------*"endl;

cout"* 1.输入数据 2.买入商品 3.显示数据 0.退出系统 *"endl;

cout"***************************************************"endl;

int menu;

cinmenu;

if(cin.fail())

{

cout"请按菜单对应的数字选择合适的操作,谢谢合作!"endl;

cin.clear();

fflush(stdin);

cinmenu;

}

switch(menu)

{

case 0:

cout"已退出系统!"endl;

loop=0;

break;

case 1:

Head=Create(Head);

break;

case 2:

Total(Head);

break;

case 3:

Display(Head);

break;

}//switch(menu)

}//while(loop)

//Display(Head);

//Total(Head);

Release(Head);

return 0;

}

zdxgduifukjfdxg

求《深入浅出面向对象分析与设计》全文免费下载百度网盘资源,谢谢~

《深入浅出面向对象分析与设计》百度网盘pdf最新全集下载:

链接:

?pwd=dxqt 提取码: dxqt

简介:《深入浅出面向对象分析与设计》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到:使用诸如封装(encapsulation)与委派(delegation)之类的OO原则建立灵活的应用程序;使用开闭原则(Open-Closed Principle)与单一职责原则(Single-Responsibilitv Principle)提升程序的重用性;学习如何将OO原则、设计模式及各种开发方法通通整合到OOAD项目的生命周期里;运用UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。

求经典的php面向对象编程的源码(100分)

你想学习的话,建议你去买本书吧。

《symfony权威指南》,这是个PHP的框架做大项目的。全是OOP编写的。

讲的很详细很系统,新手都可以看懂。比在网上学习轻量级的还好。

3条大神的评论

  • avatar
    访客 2022-07-08 下午 11:12:27

    uantity; cout"输入代码:"endl; cincode; cout"输入名称:"endl; cinname; cout"输入价格:"endl; cinprice; while(cin.fail()) { cou

  • avatar
    访客 2022-07-08 下午 06:30:16

    -----------------------------------------*"endl; cout"* 1.输入数据 2.买入商品 3.显示数据 0.退出系统 *"endl; cout"********************

  • avatar
    访客 2022-07-08 下午 08:25:25

    ); cout"你购买的商品为:"endl; Display_One(ptr,code,quantity); } } cout"----------------------------------------------------"endl; cout"你应该付 "sum

发表评论