C++ 通过参考程序c++;
我只写了几个月的代码,但我的一项任务遇到了障碍。描述是 重写给定的钱包程序,并使用函数执行插入和删除操作 删除操作。函数初始化(int&p、int&n、int&d、, int&q)将便士、镍币、一角硬币和四分之一硬币初始化为零。 函数insert(int&p、int&n、int&d、int&q)将添加便士, 镍币、一角硬币和四分之一硬币。函数dollars()将返回 函数remove(int&p,int&n,int&d,int&q)将 减去便士、镍币、一角硬币和四分之一硬币。函数显示() 返回一个新字符串,以打印钱包中剩余的内容 便士、五分镍币、一角硬币和四分之一硬币。” 这就是我到目前为止所能想到的C++ 通过参考程序c++;,c++,C++,我只写了几个月的代码,但我的一项任务遇到了障碍。描述是 重写给定的钱包程序,并使用函数执行插入和删除操作 删除操作。函数初始化(int&p、int&n、int&d、, int&q)将便士、镍币、一角硬币和四分之一硬币初始化为零。 函数insert(int&p、int&n、int&d、int&q)将添加便士, 镍币、一角硬币和四分之一硬币。函数dollars()将返回 函数remove(int&p,int&n,int&d,int&q)将 减去便士、镍币、一角硬币和四分之一硬币。函数显示() 返回一
#include <iostream>
using namespace std;
int main()
{
int pennies, nickels, dimes, quarters, p, n, d, q;
float total;
void initialize(int&, int&, int&, int&);
void insert(int&, int&, int&, int&);
void remove(int&, int&, int&, int&);
float dollars(int, int, int, int);
void print(int, int, int, int, float);
initialize(pennies, nickels, dimes, quarters);
total = dollars(pennies, nickels, dimes, quarters);
print(pennies, nickels, dimes, quarters, total);
insert(pennies, nickels, dimes, quarters);
total = dollars(pennies, nickels, dimes, quarters);
print(pennies, nickels, dimes, quarters, total);
remove(pennies, nickels, dimes, quarters);
total = dollars(pennies, nickels, dimes, quarters);
print(pennies, nickels, dimes, quarters, total);
}
void initialize(int& pennies, int& nickels, int& dimes, int& quarters)
{
pennies=0;
nickels=0;
dimes=0;
quarters=0;
}
void insert(int& pennies, int& nickels, int& dimes, int& quarters)
{
int p, n, d, q;
cout << "Insert pennies, nickels, dimes, and quarters:";
cin >> p, n, d, q;
pennies +=p;
nickels +=n;
dimes +=d;
quarters +=q;
}
void remove(int& pennies, int& nickels, int& dimes, int& quarters)
{
int p, n, d, q;
cout << "Remove pennies, nickels, dimes, and quarters:";
cin >> p, n, d, q;
pennies -=p;
nickels -=n;
dimes -=d;
quarters -=q;
}
float dollars(int pennies, int nickels, int dimes, int quarters, float total)
{
total= pennies + 5*nickels + 10*dimes + 25*quarters;
total=(float)total/100;
return total;
}
void print(int pennies, int nickels, int dimes, int quarters, float total)
{
cout << quarters << "quarters+ " << dimes << " dimes+" << nickels << " nickels+" << pennies << " pennies= $" << total <<"\n";
}
有人知道我能做些什么来编译和运行这个程序吗?非常感谢你
这就是我如何改变它以使其工作的。谢谢你的建议
int main()
{
int pennies, nickels, dimes, quarters, p, n, d, q;
float total;
void initialize(int&, int&, int&, int&);
void insert(int&, int&, int&, int&);
void remove(int&, int&, int&, int&);
float dollars(int, int, int, int);
void print(int, int, int, int, float);
initialize(pennies, nickels, dimes, quarters);
total = dollars(pennies, nickels, dimes, quarters);
print(pennies, nickels, dimes, quarters, total);
insert(pennies, nickels, dimes, quarters);
total = dollars(pennies, nickels, dimes, quarters);
print(pennies, nickels, dimes, quarters, total);
remove(pennies, nickels, dimes, quarters);
total = dollars(pennies, nickels, dimes, quarters);
print(pennies, nickels, dimes, quarters, total);
}
void initialize(int& pennies, int& nickels, int& dimes, int& quarters)
{
pennies=0;
nickels=0;
dimes=0;
quarters=0;
}
void insert(int& pennies, int& nickels, int& dimes, int& quarters)
{
int p, n, d, q;
cout << "Insert pennies, nickels, dimes, and quarters:";
cin >> p>>n>>d>>q;
pennies +=p;
nickels +=n;
dimes +=d;
quarters +=q;
}
void remove(int& pennies, int& nickels, int& dimes, int& quarters)
{
int p, n, d, q;
cout << "Remove pennies, nickels, dimes, and quarters:";
cin >> p>>n>>d>>q;
pennies -=p;
nickels -=n;
dimes -=d;
quarters -=q;
}
float dollars(int pennies, int nickels, int dimes, int quarters)
{
float total;
total= pennies + 5*nickels + 10*dimes + 25*quarters;
total=(float)total/100;
return total;
}
void print(int pennies, int nickels, int dimes, int quarters, float total)
{
cout << quarters << "quarters+ " << dimes << " dimes+" << nickels << " nickels+" << pennies << " pennies= $" << total <<"\n";
}
intmain()
{
整数便士、五分镍币、一角硬币、四分之一硬币、p、n、d、q;
浮动总额;
无效初始化(int&,int&,int&,int&);
无效插入(int&,int&,int&,int&);
无效删除(int&,int&,int&,int&);
浮动美元(整数,整数,整数,整数);
无效打印(int,int,int,int,int,float);
初始化(便士、镍币、一角硬币、四分之一硬币);
总计=美元(便士、镍币、一角硬币、四分之一硬币);
印刷品(便士、镍币、一角硬币、四分之一硬币、总计);
插入(便士、镍币、一角硬币、四分之一硬币);
总计=美元(便士、镍币、一角硬币、四分之一硬币);
印刷品(便士、镍币、一角硬币、四分之一硬币、总计);
除去(便士、镍币、一角硬币、四分之一硬币);
总计=美元(便士、镍币、一角硬币、四分之一硬币);
印刷品(便士、镍币、一角硬币、四分之一硬币、总计);
}
无效初始化(整数和便士、整数和镍币、整数和一角、整数和四分之一)
{
便士=0;
镍币=0;
十美分=0;
四分之一=0;
}
空白插入(整数和便士、整数和镍币、整数和一角、整数和四分之一)
{
int p,n,d,q;
cout>p>>n>>d>>q;
便士+=便士;
镍币+=n;
十美分+=d;
季度+=q;
}
无效清除(整数和便士、整数和镍币、整数和一角、整数和四分之一)
{
int p,n,d,q;
cout>p>>n>>d>>q;
便士-=p;
镍币-=n;
一角硬币-=d;
季度-=q;
}
浮动美元(整数便士、整数镍币、整数一角硬币、整数四分之一硬币)
{
浮动总额;
总数=便士+5*镍币+10*一角硬币+25*四分之一硬币;
总计=(浮动)总计/100;
返回总数;
}
空白打印(整数便士、整数镍币、整数一角硬币、整数四分之一硬币、浮点数)
{
cout以下是声明:
float dollars(int, int, int, int);
// 1 2 3 4
您已经声明了4个参数
下面是函数调用:
total = dollars(pennies, nickels, dimes, quarters);
// 1 2 3 4
你通过了4个论点。到目前为止还不错
定义如下:
float dollars(int pennies, int nickels, int dimes, int quarters, float total)
// 1 2 3 4 5
{ ...
您已经为5参数函数美元(int,int,int,int,int,float)
给出了一个定义。链接器错误是因为您调用的美元(int,int,int,int,int)
缺少定义,但没有定义
解决方案:定义函数美元(int,int,int,int)
您的方法声明在main中。将它们移出。为什么要将float total
添加到美元的参数列表中
?它应该是一个局部变量,取决于您如何使用它。不是一个参数。@DanielA.White-这是合法的,尽管很奇怪。任何将其所有参数作为非常量引用的函数几乎都是无效的完全错误。main()
中的dollars()
声明接受4个参数。dollars()
的定义有5个参数。它们不匹配。请使它们匹配。不必将声明移到main()
之外,但建议这样做(例如,如果你想让你的函数互相调用的话)。谢谢你的帮助。在你的帮助下,我成功地让程序运行起来。
float dollars(int pennies, int nickels, int dimes, int quarters, float total)
// 1 2 3 4 5
{ ...