我不知道这段代码有什么问题... = /
这是一个简单的代码,但是...
不输出结果。
似乎没有将用户输入作为参数。
似乎字符串有问题。
给出了我不理解的冗长的错误评论,真的很长。
#include <iostream>
#include <string>
using namespace std;
int marks;
string result;
string gpa(marks){
if (marks >= 0 && marks <= 49){
result = "GPA: 0.00\n\n";
}
else if (marks >= 50 && marks <= 54){
result = "GPA: 1.00\n\n" ;
}
else if (marks >= 55 && marks <= 59){
result = "GPA: 2.00\n\n" ;
}
else if (marks >= 60 && marks <= 64){
result = "GPA: 2.30\n\n" ;
}
else if (marks >= 65 && marks <= 69){
result = "GPA: 2.70\n\n" ;
}
else if (marks >= 70 && marks <= 74){
result = "GPA: 3.00\n\n" ;
}
else if (marks >= 75 && marks <= 79){
result = "GPA: 3.30\n\n" ;
}
else if (marks >= 80 && marks <= 84){
result = "GPA: 3.70\n\n" ;
}
else if (marks >= 85 && marks <= 100){
result = "GPA: 4.00\n\n" ;
}
else if (marks > 100 && marks < 0){
result = "Error, please input again.\n\n" ;
}
return result;
}
int main(){
cin >> marks;
gpa (marks);
return 0;
}
答案 0 :(得分:1)
marks
和result
可以在块范围内,并且使用与变量声明相同的语法来表示参数,即remove
int marks;
string result;
将string gpa(marks){
更改为string gpa(int marks){ string result;
,并将您的主要过程更改为
int main(){
int marks;
cin >> marks;
cout << gpa (marks); //cout is totally optional, it will just print the result from gpa
return 0;
}
答案 1 :(得分:0)
您的变量marks
是在文件范围内声明的,因此将其声明为gpa
的输入参数是多余的。
编辑:您可以使用cout << gpa() << endl
打印结果。
答案 2 :(得分:-1)
int marks;
string result;
string gpa(int marks){definition of function}//modify content string to int if you passing int.
int main(){
cin >> marks;
cout<<gpa (marks);//return result is print
return 0;
}