c ++:如何将用户输入作为函数参数?

时间:2018-07-11 05:12:21

标签: c++ string input

我不知道这段代码有什么问题... = /

这是一个简单的代码,但是...

不输出结果。

似乎没有将用户输入作为参数。

似乎字符串有问题。

给出了我不理解的冗长的错误评论,真的很长。

#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;
}

3 个答案:

答案 0 :(得分:1)

marksresult可以在块范围内,并且使用与变量声明相同的语法来表示参数,即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;
}