C++中的程序为什么提示调用参数过多?

#include"stdafx.h"#include<iostream>#include<iomanip>#include<cmath>usingnamespacestd... #include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
const double PI=3.141593;

void area() {
double a;
double s;
s = PI * a * a;
}

void area() {
double a;
double b;
double c;
double s;
double d;
d = (a+b+c) / 2.0;
s = sqrt(d*(d-a)*(d-b)*(d-c)) ;
}
void area() {
double a;
double b;
double s;
s = a * b;
}

void showmenu()
{
cout<<"choice a:circle"<<endl;
cout<<"choice b:triangle"<<endl;
cout<<"choice c:rectangle"<<endl;
cout<<"input your choice:"<<endl;
}

int main()
{
int a,b,c;
char choice;
double s;
showmenu();
cin>>choice;
while (choice!='0')
{switch (choice)
{case 'a':cout<<"输入半径:"<<endl;
cin>>a;
area(a,b,c,s);//提示调用参数太多
break;
case 'b':cout<<"输入底边长和高:"<<endl;
cin>>a>>b>>c;
area(a,b,s);//也有提示
break;
case 'c':cout<<"输入长、宽:"<<endl;
cin>>a>>b;
area(a,s);//同上也提示
}

cout<<"area="<<s<<endl;
showmenu();
cin>>choice;
}
return 0;
}
展开
 我来答
晒白的黑马
2012-04-09 · TA获得超过363个赞
知道答主
回答量:194
采纳率:0%
帮助的人:165万
展开全部
你的每个area()函数里都没有参数所以你怎么传递参数进这个函数?怎么进行重载呢?
比如第一个函数有一个参数:注意箭头的地方 函数体内 去掉double a 而且你这里有个问题,s是在函数体内定义的变量,在执行完这个函数以后s会被销毁,这样你并不能得到正确的s的值

void area(double a) {
double s;
s = PI * a * a;
}
其他的道理一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风云舰客
2012-04-11 · 学习与传播知识的人,用双手创造幸福!
风云舰客
采纳数:66 获赞数:165

向TA提问 私信TA
展开全部
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
const double PI=3.141593;

void area(const double &a,double &s) {
s = PI * a * a;
}

void area(const double &a,const double &b,const double &c,double &s)
{
double tempd = (a+b+c) / 2.0;
s = sqrt(tempd*(tempd-a)*(tempd-b)*(tempd-c)) ;
}
void area(const double &a,const double &b,double &s) {
s = a * b;
}

void showmenu()
{
cout<<"choice a:circle"<<endl;
cout<<"choice b:triangle"<<endl;
cout<<"choice c:rectangle"<<endl;
cout<<"input your choice:"<<endl;
}

int main()
{
int a,b,c;
char choice;
double s;
showmenu();
cin>>choice;
while (choice!='0')
{
switch (choice)
{
case 'a':cout<<"输入半径:"<<endl;
cin>>a;
area(a,s);//提示调用参数太多
break;
case 'b':cout<<"输入三角形边长:"<<endl;
cin>>a>>b>>c;
area(a,b,c,s);//也有提示
break;
case 'c':cout<<"输入长、宽:"<<endl;
cin>>a>>b;
area(a,b,s);//同上也提示
}

cout<<"area="<<s<<endl;
showmenu();
cin>>choice;
}
return 0;
}
修改了一下,测试可以了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ac1ff0c
2012-04-09 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:74.4万
展开全部
area()没有参数, 你怎么传进去?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式