用C++编一个程序

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:02:28
麻烦会的人给编一下下面这个程序,必须用到类和对象!!
好的会加到顶分!!

课程设计题目1:菜单程序
设计目的:
使用菜单程序,学习类的综合使用
设计要求:
1.菜单内容
程序运行后,给出3个菜单的内容和输入提示。
界面如下:
1. 求方程ax2+bx+c=0的根
2. 商品排序
3. 结束程序运行
选择1-3
2.菜单项设计要求
(1) 解方程设计要求
要求编制一个求方程ax2+bx+c=0的根的程序。要求a,b,c系数由键盘输入。
(2)商品排序
要求编制n个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符
型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数
量计算得出。要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列
, 将最终排列结果显示在屏幕上。

附商品数据供参考:
产品代码产品名称单价数量
1001软件世界 5 100
1002计算机用户 6 120
1003网上生活 27 1
1004网络互连 45 10
1005威宝3.5 5 100
10063M3.5 3 150
1007办公自动化 90 100
1008JAVA 48 15
1009中文WORD97 68 10
1010EXCLE97 98 103
1011OFFICE97 108 18
1012ACCESS 64 78
1013二级BASIC 65 66
1014二级PASCAL 66 89
1015二级C 67 99
1016二级FOR 66 12
1017二级FOX 66 100
1018AUTO CAD 98 171
1019PhotoShop 68 64
1020一级 78 101
1021一级B类 98 100
1022三级A类 7

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列, 若产品名称相同, 则按金额从小到大进行排列.最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
----------------------------------
void SortDat() /*标准答案*/
{int I,j;
PRO xy;
for(I=0;I<99;I++)
for(j=I+1;j<100;j++)
if(strcmp(sell[I].dm,sell[j].dm)<0)
{xy=sell[I];sell[I]=sell[j];sell[j]=xy;}
else if(strcmp(sell[I].dm,sell[j].dm)==0)
if(sell[I].je {xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;}
}

PROG1.C
#include
#include
#include
#include
#include

#define MAX 100
typedef struct{
char dm[5]; /*产品代码*/
char mc[11]; /*产品名称*/
int dj; /*单价*/
int sl; /*数量*/
long je; /*金额*/
}PRO;
PRO sell[MAX];
void Re