用c语言编写一个衣服打折的程序,一件打九折,两件七点五折,三件或三件以上五折,有会的的神吗,求指导

用c语言编写一个衣服打折的程序,一件打九折,两件七点五折,三件或三件以上五折,有会的的神吗,求指导,第1张

#include<咐汪stdio.h>

int main()

{

int x

float price,money

printf("请输入购买件数:")

scanf("%d",&x)

printf("铅坦请输入槐简桐单价:")

scanf("%f",&price)

if(x==1)

money=0.9*price

else if(x==2)

money=0.75*2*price

else if(x>=3)

money=0.5*x*price

printf("打折后总金额是:%f",money);

return 0

}

敲代码不容易,望采纳。对了临时写的有可能会有中文字符,稍微注意下,有问题请追问

#include<iostream>

#include<cstring>

#include<fstream>

#include<stdlib.h>//system("cls")//清屏

#include<conio.h>//getche()

using namespace std

//全局变量

int i=0//已录入商品总局裤个数

char ch//cin>>ch

int n//case(n)

char code[10]

char name[10]

char unit[10]

int amount

float unitprice

float total=0//总价

ofstream f1("./test.txt")

ofstream f2("./sell.txt")//构建输出流,没有文件就建立

class Goods

{

private:

char code[10]//代码

char name[10]//名称

char unit[10]//单位

int amount//总数

float unitprice//单价

public:

Goods()

Goods(char co[10],char na[10],char un[10],int am,float unpr)//构造函数

void f_write()// 录入

void f_change()//改变

void f_delete()//删除

void display()//显示全部商品信息

void s_buy()//买入

}

//构造函数

Goods::Goods(){}

Goods::Goods(char co[10],char na[10],char un[10],int am,float unpr)

{

strcpy(code,co)

strcpy(name,na)

strcpy(unit,un)

amount=am

unitprice=unpr

}

Goods *g[50]

//商品信息录入

void Goods::f_write()

{

cout<<孝腊燃"请输入第"<<i+1<<"件商品代码:"<<endl

cin>>code

cout<<"请输入第"<<i+1<<"件商品名称:"<<endl

cin>>name

cout<<"请输入第"<<i+1<<"件商品计量单位:"<<endl

cin>>unit

cout<<"请输入第"<<i+1<<"件商品总数:"<<endl

cin>>amount

cout<<"请输入第"<<i+1<<"件商品单价:"<<endl

cin>>unitprice

g[i]=new Goods(code,name,unit,amount,unitprice)

i++

cout<<"信息录入成功!(继续录入按y,返回上一层按n)"<<endl

cin>>ch

if(ch=='y')

{

f_write()

}

}

//改变商品信息

void Goods::f_change()

{

cout<<"请输入要改变的商品代码:"

cin>>code

for(int h=0h<ih++)

{

if(0 == strcmp(g[h]->code,code))

{

cout<<"商品信息如下:"<<endl

cout<<"代码 名称 单价 总数 单位"<<endl

cout<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice

<<"\t"<<g[h]->amount<<"\t"<<g[h]->unit<<endl

char newco,newna,newun

int newam

float newunpr

cout<<"你想要修改:1、代码;2、名称;巧虚3、单价;4、总数;5、单位。"<<endl

cin>>n

switch(n)

{

case 1:

cout<<"请输入修改后的商品代码:"

cin>>newco

g[h]->code[10]=newco

cout<<"修改成功!"<<endl

break

case 2:

cout<<"请输入修改后的商品名称:"

cin>>newna

g[h]->name[10]=newna

cout<<"修改成功!"<<endl

break

case 3:

cout<<"请输入商品单价:"

cin>>newunpr

g[h]->unitprice=newunpr

cout<<"修改成功!"<<endl

break

case 4:

cout<<"请输入修改后的商品总数:"

cin>>newam

g[h]->amount=newam

cout<<"修改成功!"<<endl

break

case 5:

cout<<"请输入修改后的商品单位:"

cin>>newun

g[h]->unit[10]=newun

cout<<"修改成功!"<<endl

break

}

break

}//if

}//for循环

cout<<"是否继续修改?(y/n)"<<endl

cin>>ch

if(ch=='y')

{

f_change()

}

}

//删除信息

void Goods::f_delete()

{

cout<<"请输入要删除的商品代码:"

cin>>code

for(int h=0h<ih++)

{

if(0 == strcmp(g[h]->code,code))

{

for(int k=hk<ik++)

{

g[k]=g[k+1]

i--

}

}

}

cout<<"删除成功!"<<endl

cout<<"是否继续删除?(y/n)"<<endl

cin>>ch

if(ch=='y')

{

f_delete()

}

}

//打印信息

void Goods::display()

{

system("cls")

cout<<""<<endl

cout<<"-----------全部商品信息如下-------------------"<<endl

cout<<""<<endl

cout<<"代码 名称 单价 总数 单位"<<endl

f1<<""<<endl

f1<<"---------------全部商品信息如下--------------"<<endl

f1<<""<<endl

f1<<"代码 名称 单价 总数 单位"<<endl

if(i==0)

{

cout<<"系统未曾录入任何商品信息,或记录被删除!"

}

for(int k=0k<ik++)

{

cout<<g[k]->code<<"\t"<<g[k]->name<<"\t"<<g[k]->unitprice

<<"\t"<<g[k]->amount<<"\t"<<g[k]->unit<<endl

f1<<g[k]->code<<"\t"<<g[k]->name<<"\t"<<g[k]->unitprice

<<"\t"<<g[k]->amount<<"\t"<<g[k]->unit<<endl

}

cout<<endl

}

//买入

void Goods::s_buy()

{

float price=0//单个商品价格

cout<<"请输入想要买的商品代码:"

cin>>code

for(int h=0h<ih++)

{

if(0 == strcmp(g[h]->code,code))

{

cout<<"请输入想要购买的商品数量:"

cin>>amount//当前要购买的数量

price=amount*g[h]->unitprice

g[h]->amount=g[h]->amount-amount

cout<<endl

cout<<"代码 名称 单价 数量 小计"<<endl

cout<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice

<<"\t"<<g[h]->amount<<g[h]->unit<<"\t"<<price<<endl

f2<<"代码 名称 单价 数量 小计"<<endl

f2<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice

<<"\t"<<g[h]->amount<<g[h]->unit<<"\t"<<price<<endl

total=total+price

break

}

}

cout<<"按1继续购买,按2结束。"<<endl

cin>>n

if(n==2)

{

cout<<endl

cout<<"购买结束,总计:"<<total<<"元!"<<endl

}

else

{

s_buy()

}

}

//类外函数

//第一部分 *** 作显示

void f_screen()

{

system("cls")

Goods g

cout<<"按相应键 *** 作:"<<endl

cout<<"0.录入信息1.更改信息2.删除信息3.返回上一层"<<endl

cin>>n

switch(n)

{

case 0:

g.f_write()

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

f_screen()

break

case 1:

g.f_change()

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

f_screen()

break

case 2:

g.f_delete()

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

f_screen()

break

}

}

//第二部分 *** 作显示

void s_screen()

{

Goods g

g.display()

cout<<endl

g.s_buy()

}

//初始屏幕显示

void screen()

{

system("cls")

cout<<""<<endl

cout<<"-----------------商品销售统计系统---------------"<<endl

cout<<""<<endl

f2<<""<<endl

f2<<"----------------商品销售统计系统--------------"<<endl

f2<<""<<endl

cout<<"更改商品信息请按1,进行销售统计请按-1。"<<endl

cin>>ch

if(ch=='1')

{

f_screen()

if(n==3)

screen()

}

else if(ch=='-1')

{

s_screen()

}

else

{

cout<<"输入错误,系统重新启动!"

screen()

}

}

int main()

{

screen()

return 0

}

可以采用猜埋滑穷举法,也就是液启5元的从0--100,10元的也是从0--100,15元的也是从0--100,然后这三种商品的价格总数如果等于1000就输出一种 买法,这样就穗腊可以选出所有的买法了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12448824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存