免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8993 | 回复: 4
打印 上一主题 下一主题

[C++] 所有调用的子函数都出现这种错误function does not take 2 parameters [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-30 16:44 |只看该作者 |倒序浏览
5可用积分
刚开始学习c++,正在一边学习一边做课后题,遇到一道题,内容是:读入学生的姓名以及测验成绩,输出学生的姓名策划年国际以及等级在另外一个文件,还要打印最高分学生的姓名和成绩。程序还没有完善,只是把最基本的写了,但是编译之后老出现这种错误,希望各位高手帮忙解读一下,下面是源代码。
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
struct studenttype//声明结构体变量

string studentfname;
string studentlname;
int testscore;
char grade;
};
const int shumu=20;
int readinformation();
char Givegrade();
int gethighest();
void printhighest();
int main()
{
ifstream infile;
ofstream outfile;
infile.open("D:\\111in.txt";
outfile.open("D:\\111out.dat";
char level;
string name;

studenttype student[shumu];
readinformation(infile,student,shumu);
gethighest(shumu, student);
level=Givegrade(student,shumu);
printhighest(outfile, student);
return 0;
}
int readinformation(ifstream& indata,studenttype list[],int maxsize)//读入学生的信息

int index=0;
for(index=0;index<maxsize;index++)
{
  indata>>list[index].studentfname
     >>list[index].studentlname
     >>list[index].testscore;
  
}
}
char Givegrade(studenttype list[ ],int maxsize)//根据学生的成绩判断等级

char dengji;
int fenshu,i=0;
for(i=0;i<maxsize;i++)

{
  fenshu=list.testscore;
if(fenshu<60)
  dengji='E';
if(fenshu>=60&&fenshu<70)
  dengji='D';
if(fenshu>=70&&fenshu<80)
  dengji='C';
if(fenshu>=80&&fenshu<90)
  dengji='B';
if(fenshu>=90&&fenshu<=100)
  dengji='A';
return dengji;
}
}
int gethighest(int size,studenttype list[])//选出成绩最高的学生
{
int i,j=list[0].testscore,k=0;
for(i=1;i<size;i++)
{
  if(list.testscore>j)
  {
   j=list.testscore;
   k=i;
  }
}
return k;
}
void printhighest(ofstream& outdata,studenttype list[])//输出成绩最高学生的姓名
{
nt m;
m=gethighest();
outdata<<"输出最高分数学生姓名"<<list[m].studentfname<<list[m].studentlname<<endl;
}



但是编译之后四个错误全是一样的,真的搞不懂
D:\Program Files\MSDev98\MyProjects\111\111.cpp(2 : error C2660: 'readinformation' : function does not take 3 parameters
D:\Program Files\MSDev98\MyProjects\111\111.cpp(29) : error C2660: 'gethighest' : function does not take 2 parameters
D:\Program Files\MSDev98\MyProjects\111\111.cpp(30) : error C2660: 'Givegrade' : function does not take 2 parameters
D:\Program Files\MSDev98\MyProjects\111\111.cpp(32) : error C2660: 'printhighest' : function does not take 2 parameters
Error executing cl.exe.
111.obj - 4 error(s), 0 warning(s)


希望高手解答,不胜感激。。。

论坛徽章:
0
2 [报告]
发表于 2008-10-30 16:47 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2008-10-30 16:49 |只看该作者
int readinformation();
char Givegrade();
int gethighest();
void printhighest();

这些函数的声明不是都是没有参数的吗?

论坛徽章:
0
4 [报告]
发表于 2008-10-30 17:03 |只看该作者
谢谢

论坛徽章:
0
5 [报告]
发表于 2008-10-30 17:09 |只看该作者
今天第二次碰到为问这种问题而来CU注册一个号的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP