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

C++ c++;:如何将用户输入作为函数参数?,c++,string,input,C++,String,Input,我不知道这个代码怎么了=/ 这是一个简单的代码,但是 不输出结果 似乎没有将用户输入作为参数 似乎是字符串有问题 给出了很长的错误评论,我不理解,真的很长 #include <iostream> #include <string> using namespace std; int marks; string result; string gpa(marks){ if (marks >= 0 && marks <= 49){ res

我不知道这个代码怎么了=/

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

不输出结果

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

似乎是字符串有问题

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

#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;
}
#包括
#包括
使用名称空间std;
整数标记;
字符串结果;
字符串gpa(马克){
如果(标记>=0&&marks=50&&marks=55&&marks=60&&marks=65&&marks=70&&marks=75&&marks=80&&marks=85&&marks 100&&marks<0){
result=“错误,请重新输入。\n\n”;
}
返回结果;
}
int main(){
cin>>标记;
gpa(分数);
返回0;
}

您的变量
标记
是在文件范围内声明的,因此将其声明为
gpa
的输入参数是多余的


编辑:您可以使用
cout
标记打印结果,
result
可以在块范围内,参数使用与变量声明相同的语法表示,即删除

int marks;
string result;
stringgpa(marks){
更改为
stringgpa(int marks){stringresult;
,并将主过程更改为

int main(){

    int marks;
    cin >> marks;
    cout << gpa (marks); //cout is totally optional, it will just print the result from gpa

    return 0;
}
intmain(){
整数标记;
cin>>标记;
cout
int标记;
字符串结果;
字符串gpa(int标记){函数定义}//如果传递int,则将内容字符串修改为int。
int main(){
cin>>标记;

首先,您需要将函数签名赋予
string gpa(int marks)
。其次,函数
gpa
有一个
std::string
返回值。您将其称为
void
函数。因此,我将其从字符串改为void函数,但仍然有一个小错误:变量或字段“gpa”声明void void gpa(marks){这是否也意味着,对于int以外的任何return_类型,我应该将其置为void?您似乎在四处游荡,寻找越来越不可能的解决方案。我建议您在继续之前停止并刷新您的文本中有关编写函数的部分的记忆。从basics开始,这是一个以标记为参数并将其打印到屏幕。作为参考,如果有“你不理解的长错误消息”,编译器仍在试图告诉你一些事情,其他人可能会理解。将它们放入问题中,至少尝试阅读它们,最终它们会有意义。欢迎这样做。请添加一些解释!
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;
}