【发布时间】:2020-10-26 15:31:31
【问题描述】:
这是我在这里的第一个问题。我刚刚开始学习 C++,我被困在这个练习中:
您的程序应该向用户显示一个菜单选项,如下所示:
P--打印矢量
A--添加一个号码
M--显示数字的平均值
S--显示最小的数字
L--显示最大数字
Q--退出输入您的选择:
基本上,我需要为这些操作做一个菜单。我在打印矢量的部分卡住了。我已经尝试使用(for auto:....)并尝试使用普通索引(int i = 0...),但是向量中的内容没有出现,只有消息"This is your list of numbers:"。我还尝试创建一个函数来确保用户在A 情况下输入了一个整数,但不知道该怎么做:(
这是我的代码:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
bool control_end = false;
do
{
cout << "Please enter your desired function within the menu: " << endl;
cout << endl;
cout << "P--Print list of numbers" << endl;
cout << "A--Add a number"<< endl;
cout << "M--Display mean of the number"<< endl;
cout << "S--Display the smallest number"<< endl;
cout << "L--Display the largest number"<< endl;
cout << "Q--Quit "<< endl;
cout << endl;
cout << "Enter your choice: ";
char letra{};
cin >> letra;
vector<int> vector{};
switch(letra)
{
case 'A':
case 'a':
{
cout << "Please enter the value (integer) to be added to vector: ";
int value_add;
cin >> value_add;
cout << endl;
vector.push_back(value_add);
//(later do it) create a function to ensure that the value is an integer
break;
}
case 'p':
case 'P':
{
cout << "This is your list of numbers: \n";
for (unsigned int i=0 ;i < vector.size(); i++)
cout << vector[i] << " ";
break;
}
case 'm':
case 'M':
cout << "test M";
break;
case 's':
case 'S':
cout << "test S";
break;
case 'L':
case 'l':
cout << "test L";
break;
case 'q':
case 'Q':
cout << "Thank you for using the program" << endl;
control_end = true;
break;
default:
cout << "Invalid char. " << endl;
cout << endl;
break;
}
for(auto vec: vector)
cout << vec << endl;
}
while (control_end !=true);
return 0;
}
【问题讨论】:
-
你可能想给变量一个不同的名字,因为“vector”是类。您是否从编译器收到任何警告?注意他们。如果向量为空,这也是您所期望的。你检查过你的调试器了吗?
-
是的,我会重命名它。但是不,我没有收到任何警告
标签: c++ vector printing switch-statement