gpt4 book ai didi

c++ - 函数不返回用户输入的值

转载 作者:太空宇宙 更新时间:2023-11-04 15:48:59 25 4
gpt4 key购买 nike

我正在为一项任务编写这个程序,所以我不想要答案...只是朝着正确的方向插入。

我编写了一个程序,用户将在其中输入一个 3 位数的 ID(必需)和当月使用的千瓦时数。输入该标准后,它将打印出一份简短的摘要 + 每个用户当月的费用。这包含在一个循环中,以询问是否还有要输入的 ID。

下面是我的开场代码和循环结构:

#include <iostream>
#include <string>
#include <iomanip>
#include <windows.h>

using namespace std;

//function prototypes
string get_user_ID();
int get_cust_kwh();
string display_cust_data();

int main()
{
string userID;
int userKWH;
char answer;

while ((answer !='N')&&(answer !='n')){
userID = get_user_ID();
userKWH =get_cust_kwh();

display_cust_data();

cout << "\n\nWould you like to add another utility ID? : (Y or N)";
cin >> answer;

}
}

system("pause")
return 0;

我可以让循环正常运行,但我的函数似乎没有返回用户输入的值。由于我是函数的新手,我确信这是一个愚蠢的错误,但一个让我发疯的错误。以下是函数:

**********function definitions**********
string get_user_ID(){
string usrID;
cout << "\n\nPlease enter in your 3-digit utility ID: ";
cin >> usrID;
return usrID;
}

int get_cust_kwh(){
int usrKWHs;
cout << "Please enter the total KWH used for the month: ";
cin >> usrKWHs;
return usrKWHs;
}

string display_cust_data(){
string usrID;
int usrKWHs;
double userCharge;

cout << "\n\nUSER ID KWHours Charge($)\n";
cout << fixed << setprecision(2);
cout << usrID << " " << usrKWHs << " " << userCharge << endl;
}

我在想一些与函数中变量的使用方式有关的事情。

感谢您给予的任何插入!

最佳答案

问题是 display_cust_data() 不知道主函数范围内的变量。您正在打印的只是具有垃圾值的局部变量。

string display_cust_data(){
string usrID; // This is a different variable and is not equivalent to the
// variable in main.

还有为什么函数的返回类型是string

关于c++ - 函数不返回用户输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11853498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com