在我的程序中(我将在下面包含代码),我有一个函数来确定用户的姓名和身高。我首先使用名称函数void name()
,然后使用其后的函数void height()
(当然main是最后一个)。
我要做的是在整个程序中显示用户名。在我的第二个函数中,void height()
是问用户他们有多高:
cout << " How tall are you?" << endl;
我想问"你有多高,name1?",但是字符串name1
没有在作用域中声明。你知道如何使它工作/我做错了什么吗?谢谢你!此外,如果您看到任何其他问题或我可以做的事情,使事情变得更容易/替代方法,请让我知道!(我新的!)
#include <iostream>
#include <string>
using namespace std;
void name()
{
cout << "Welcome ________ ... uhmmmm, what was your name again? ";
string name1;
cin >> name1;
cout << " " << endl;
cout << " Oh that's right! Your name was " << name1 << ", how could I forget that?!" << endl;
}
void height()
{
//feet and inches to inches
cout << " How tall are you?" << name1 << endl;
cout << " " << endl;
cout << " " << endl;
cout << " Enter feet: ";
int feet;
cin >> feet;
cout << " " << endl;
cout << " Enter inches: ";
int inches;
cin >> inches;
int inchesheight;
inchesheight = (feet * 12) + inches;
cout << " " << endl;
cout << " Your height is equal to " << inchesheight << " inches total." << endl;
if (inchesheight < 65 )
{
cout << " You are shorter than the average male." << endl;
}
else if (inchesheight > 66 && inchesheight < 72)
{
cout << " You are of average height." << endl;
}
else
{
cout << " You are taller than average." << endl;
}
}
int main()
{
name();
height();
return 0;
}
返回string
而不是void
。
string name()
{
cout << "Welcome ________ ... uhmmmm, what was your name again? ";
string name1;
cin >> name1;
cout << " " << endl;
cout << " Oh that's right! Your name was " << name1 << ", how could I forget that?!" << endl;
return name1;
}
与height()
相同,例如,它应该返回int
。另外,要在height
函数中获取名称,您可以这样做。
int height(string name1)
{
// cout stuff about name
return userHeight;
}
那么你可以这样调用它:
int main()
{
string userName = name(); // takes the return from name and assigns to userName
int userHeight = height(userName); // passes that string into height()
return 0;
}
使用函数和返回东西的更多例子:
int add(int a, int b)
{
int total = a + b; // the variable total only exists in here
return total;
}
int add4Numbers(int w, int x, int y, int z)
{
int firstTwo = add(w, x); // I am caling the add function
int secondTwo = add(y,z); // Calling it again, with different inputs
int allFour = add(firstTwo, secondTwo); // Calling it with new inputs
return allFour;
} // As soon as I leave this function, firstTwo, secondTwo, and allFour no longer exist
// but the answer allFour will be returned to whoever calls this function
int main()
{
int userA = 1;
int userB = 7;
int userC = 3;
int userD = 2;
int answer = add4Numbers( userA, userB, userC, userD ) // this grabs the value from allFour from inside the add4Numbers function and assigns it to my new variable answer
return answer; // now equals 13
}