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;
cin>>code;
cout<<"输入名称:"<<endl;
cin>>name;
cout<<"输入价格:"<<endl;
cin>>price;
while(cin.fail())
{
cout<<"请输入正确的格式:"<<endl;
cin.clear();
fflush(stdin);
cin>>price;
}
cout<<"输入数量:"<<endl;
cin>>quantity;
while(cin.fail())
{
cout<<"请输入正确的格式:"<<endl;
cin.clear();
fflush(stdin);
cin>>quantity;
}
//----数据域-----
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) ";
cin>>GoOn;
}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)
{
cout<<setw(15)<<left<<ptr->m_code
<<setw(15)<<left<<ptr->m_name
<<setw(15)<<left<<ptr->m_price
<<setw(15)<<left<<ptr->m_quantity<<endl;
ptr=ptr->next;
}
}
void Display_One(Link Head,string& code,unsigned quantity)
{
Link ptr;
ptr=Search(Head,code);//,不要头节点,只输出数据节点。
cout<<"货品代码=======货品名称======货品价格======货品数量======小计(元)===="<<endl;
cout<<setw(15)<<left<<ptr->m_code
<<setw(15)<<left<<ptr->m_name
<<setw(15)<<left<<ptr->m_price
<<setw(15)<<left<<quantity
<<setw(15)<<left<<quantity*ptr->m_price<<endl;
}
//单个商品小结。
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;
cin>>GoOn;
if(GoOn=='N'||GoOn=='n')
break;
else
{
string code;
unsigned int quantity;
cout<<"输入要购买的商品代码:"<<endl;
cin>>code;
cout<<"输入要购买的数量:"<<endl;
cin>>quantity;
sum+=CheckOut(ptr,code,quantity);
cout<<"你购买的商品为:"<<endl;
Display_One(ptr,code,quantity);
}
}
cout<<"----------------------------------------------------"<<endl;
cout<<"你应该付 "<<sum<<"元!"<<endl;
cout<<"你实际付(元): ";
cin>>factly;
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;
cin>>menu;
if(cin.fail())
{
cout<<"请按菜单对应的数字选择合适的操作,谢谢合作!"<<endl;
cin.clear();
fflush(stdin);
cin>>menu;
}
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
温馨提示:内容为网友见解,仅供参考
...使用面向对象的系统分析和设计,开发基于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;\/...
C++课程设计的目录
1.3 消息框2.2 创建第一个基于对话框的mfc程序2.2.1 对话框项目的生成2.2.2 visualc++项目文件说明2.2.3 对话框的绘制2.2.4 插入对话框控件2.2.5 对话框程序架构2.2.6 工程编译2.3 按钮2.4.edit控件2.4.1 edit控件属性2.4.2 edit控件与变量间的映射2.5 radio控件2.6 成绩管理...
C++和VisualC++有什么区别?
1、 C ++是面向对象的编程语言,而Visual C ++是集成开发环境(IDE)和C和C ++语言的编译器。2、在C ++中,编译器将C ++程序代码转换为计算机可以理解和执行的机器代码。而Visual C ++有助于编写代码,编译和调试C ++源代码。3、C ++编程语言可以作为库中的库来移植,以便在C ++应用程序中使...
有哪些优秀的 C\/C++ 开源代码框架?这些框架的设计思路是怎样的
Reason :跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求。ROOT :具备所有功能的一系列面向对象的框架,能够非常高效地处理和分析大量的数据,为欧洲原子能研究机构所用。STLport:是STL具有代表性的版本。STXXL:用于额外的大型数据集的标准模板库。Ult...
电脑程序编程怎么学怎样在电脑里学编程
3、掌握操作系统、程序设计语言的基础知识;4、熟练掌握计算机常用办公软件的基本操作方法;5、熟练掌握基本数据结构和常用算法;6、熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;7、熟悉数据库、网络和多媒体的基础知识;8、掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的...
C语言和C++语言编程思想的区别
C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C++的时候,学会用面向对象的方式思考和编程。现在在开发大项目的时候,都是应用面向对象的分析和设计的技术。C语言与C++的区别有很多:1,全新的程序程序思维,C语言是面向过程的,...
vc是什么语言 跟c语言 c++的区别
一、性质不同 1、Visual C++:Microsoft Visual C++(简称Visual C++、MSVC、VC++6.0或VC6.0)是Microsoft公司推出的以C++语言为基础的开发Windows环境程序,面向对象的可视化集成编程系统。2、C++:C++是C语言的继承,进行C语言的过程化程序设计。二、作用不同 1、Visual C++:适合用来编写各种复杂软件...
编程语言有几种,分别都是编什么程序的?
(1)VisualBasic不是真正的面向对象的开发文具。 (2)VisualBasic的数据类型太少,而且不支持指针,这使得它的表达能力很有限。 (3)VisualBasic不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得VisualBasic的编译速度大大变慢。 综述:方案一适合初涉编程的朋...
C++ 有什么优点,详细
C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C++。代码性能 人们一般认为,使用Java或C#的开发成本比C++低。但是,如果充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较...
django的mvc是什么(django mvt)
C++语言的QT、MFC、gtk,Java语言的SSH,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等 设计模式有哪些?工厂模式、适配器模式、策略模式等等 简而言之:框架模式是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率、降低耦合度。编辑本段MVC框架模式的优点大部分...