c ++

时间:2018-03-26 14:40:36

标签: c++

所以我使用了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   

我很高兴收到用户的意见。现在我需要收集所有这些输入并在屏幕上显示它们。那是我做错事的部分,但我不知道是什么。

1 个答案:

答案 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;
}