c++找零问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 03:39:25
当找零有0.1元时会出现没有统计的问题,例如找零为0.3元时,按理应该找零为1张0.2元和1张0.1元,但是程序只会输出1张0.2元
问题出现的原因不是很清楚
#include<iostream>
using namespace std;
void zhaoling();
void pingfen();
void count(double a[],double b);
void max(double a[],int amount);
void min(double a[],int amount);
void average(double[],int amount);
void count2(double balance);

void main(){
int x;
cout<<"请输入要测试程序的代码,1进入找零程序,2进入评分程序。"<<endl;
cout<<endl;
cin>>x;
switch(x){
case 1:zhaoling(); break;
case 2:pingfen();

}
system("pause");
}
void zhaoling(){
double cash[10] ={100,50,20,10,5,2,1,0.5,0.2,0.1};
double cost,balance,value;
cout<<"顾客支付金额:"<<endl;
cin>>value;
cout<<"顾客花费金额:"<<endl;
cin>>cost;
balance = value-cost;
count(cash,balance);
}

v

#include<iostream>
using namespace std;
void zhaoling();
void pingfen();
void count(double a[],double b);
void max(double a[],int amount);
void min(double a[],int amount);
void average(double[],int amount);
void count2(double balance);
#define EP 0.0000001

int main(){
int x;
cout<<"请输入要测试程序的代码,1进入找零程序,2进入评分程序。"<<endl;
cout<<endl;
cin>>x;
switch(x){
case 1:zhaoling(); break;
case 2:pingfen();

}
return 0;
//system("pause");
}
void zhaoling(){
double cash[10] ={100,50,20,10,5,2,1,0.5,0.2,0.1};
double cost,balance,value;
cout<<"顾客支付金额:"<<endl;
cin>>value;
cout<<"顾客花费金额:"<<endl;
cin>>cost;
if(cost>value)
{
cout<<"金额不够支付!"<<endl;
return;
}
bala