【发布时间】:2020-05-02 21:58:59
【问题描述】:
完成后我意识到我需要循环它直到他们输入 q,但我不知道该怎么做。我正在寻找的是直到最后一个选项('q'或'Q')被选中,主程序回到 开头,要求用户插入一个字母。
#include <ctime> // For time()
#include <cstdlib> // For srand() and rand()
#include <iostream>
using namespace std;
int main()
{
int array[5];
int i, num, x;
char c;
float average = 0;
srand(time(0)); //This makes the set of numbers differnet every time
for (i = 1; i <= 5; i++)
{
array[i] = (rand() % 5) + 15;
}
cout << "Array elements are: \n";
for (i = 1; i <= 5; i++)
{
cout << array[i] << endl;
}
cout << "\nEnter your choice:\n MENU\n[P]osition\n[R]everse\n[A]verage\n[S]earch\n[Q]uit\n";
cin >> c;
cout << "\nYou chose option " << c << endl;
switch (c)
{
case 'P':
cout << "This is the array with each element's position" << endl;
for (i = 1; i <= 5; i++)
{
cout << "Value at position " << i << " is " << array[i] << endl;
}
break;
case 'R':
cout << "The array in reverse order is:" << endl;
for (i = 5; i >= 1; i--)
{
cout << array[i] << endl;
}
break;
case 'A':
cout << "The average of the array is:" << endl;
for (i = 1; i <= 5; i++)
{
average = average + array[i];
}
cout << average / 5;
break;
case 'S':
cout << "Enter a number to search the array:" << endl;
cin >> num;
x = 0;
for (i = 1; i <= 5; i++)
{
if (array[i] == num)
{
x = 1;
break;
}
}
if (x == 1)
{
cout << num << " is found at position " << i;
}
else
{
cout << "This number is not in the array";
}
break;
case 'Q':
exit(1);
return 0;
}
}
【问题讨论】:
-
请修正缩进,以便您的代码可读。
-
旁注由于这个函数是
main,你可以不用自己调用exit和return来代替。 -
@BessieTheCow 我不确定你的意思是什么,你能详细说明一下吗?
-
现在已修复,但如果您查看问题的早期版本,代码缩进不符合代码结构,因此难以阅读。
-
抱歉,您知道如何循环播放程序吗?