哪位高手帮我看下这个C++程序,告诉我哪错了!

来源:百度知道 编辑:UC知道 时间:2024/06/16 20:17:56
#include <iostream.h>
void showgrade(char name[],float score);
main()
{
char studentname[10];
float studentscore;
cout<<"输入学生的分数:"<<endl;
cin>>studentname>>studentscore;
showgrade(studentname,studentscore);
return 0;
}
void showgrade(char name[],float score)
{
if((score>100)||(score<0))
cout<<"wrong score!"<<endl;
else if(score>=90)
cout<<"A"<<endl;
else if(score>=80)
cout<<"B"<<endl;
else if(score>=70)
cout<<"C"<<endl;
else if(score>=60)
cout<<"D"<<endl;
else
cout<<"E"<<endl;
}

这个程序没问题,这个地方改下就更好了

main()
{
char studentname[10];
float studentscore;
cout<<"输入学生的名字:";
cin>>studentname;
cout<<"输入学生的分数:";
cin>>studentscore;
showgrade(studentname,studentscore);
return 0;
}

结构有问题

严格声明主函数返回值为int
int main(){}
虽然在一些编译器中,void main 可以通过编译(如 vc6),但并非所有编译器都支持

在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
2. C++
C++98 中定义了如下两种 main 函数的定义方式: [Page]
int main( )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC 14882(1998-9-01)Programming languages — C++ 3.6 Start and termination)
综上所述 省略int是错误的主函数定义方式,这将使得c/c++程序并不总能成功编译
所以可能是你的编译器对main的声明要求比较严格。