所以我使用了void函数并在其中放入了5个参数; 1.提示用户输入,2。提示正确的输入范围,3。用于存储用户输入的整数变量,4。输入应小于或等于此值,5。输入应大于或等于此值。
我对这个功能没有很好的理解,但这是我到目前为止所得到的。
#include <iostream>
#include <string>
#include <cmath>
#include <iomanip>
#include<limits>
using namespace std;
// function declaration
void get_data(string, string, int&, int, int);
int main()
{
int year;
string input_prompt;
string range_prompt;
get_data(input_prompt, range_prompt, year, 1970, 2020);
cout << "\nYour inputs are:\n";
cout << "..." << year << "\n";
int month;
string input_prompt;
string range_prompt;
get_data(input_prompt, range_prompt, month, 1, 12);
cout << "..." << month << "\n";
....
return 0;
}
// function definition
void get_data(string input_prompt, string range_prompt, int& input, int
criteria_1, int criteria_2){
input_prompt = "Please enter the year: ";
range_prompt = "Invalid input. 1970 <= year <= 2020!";
criteria_1 = 1970;
criteria_2 = 2020;
.....
}
每次尝试运行时都会收到错误消息。我知道这是因为void函数中的值不断变化,并且在main函数中没有引用它们......或类似的东西。我怎样才能解决这个问题?
更新:
我所说的是void函数用于从指定范围内的用户收集年,月,日,小时,分钟和秒。
main函数将在void函数中显示数据的集合。
输出应为:
Please enter the year: 2013
Please enter the month: 1
Please enter the day: 24
Please enter the hour: 13
Please enter the minute: 55
Please enter the second: 45
Your inputs are:
Year = 2013
Month = 1
Day = 24
Hour = 13
Minute = 55
Second = 45
我很高兴收到用户的意见。现在我需要收集所有这些输入并在屏幕上显示它们。那是我做错事的部分,但我不知道是什么。
答案 0 :(得分:-1)
#include <iostream>
using namespace std;
/*Acode for swaping two values using void function*/
int z=0, x, y;
void func(int& x, int& y){
cout<<"Enter the value of x: ";
cin>>x;
cout<<"Enter the value of y: ";
cin>>y;
z=x;
x=y;
y=z;
}
int main()
{
func(x,y);
cout<<"The value of x after swaping is: "<<x<<endl;
cout<<"The value of y after swaping is: "<<y<<endl;
return 0;
}