如何使用来自另一个函数的字符串



在我的程序中(我将在下面包含代码),我有一个函数来确定用户的姓名和身高。我首先使用名称函数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
}

相关内容

  • 没有找到相关文章

最新更新