C++ почему не работает 3 case?
Условие:
В массиве хранится информация о количестве жильцов каждой квартиры пятиэтажного дома (на каждом этаже по 2 квартиры).
а) по выбранному номеру квартиры определить количество жильцов, а также их соседей проживающих на одном этаже;
б) определить суммарное количество жильцов для каждого этажа;
в) определить номера квартир, где живут многодетные семьи. Условно будем считать таковыми, у которых количество членов семьи превышает пять человек.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
#include <iostream>
#include <random>
#include <time.h>
#include <windows.h>
using namespace std;
int main()
{//1
srand(time(NULL));
const int etaji = 5;
const int kvartiri = 2;
int userChoice;
int sumJiltsov = 0, jilVKvartire = 0;
int ar[etaji][kvartiri];
for (int i = 0; i < etaji; i++)
{
for (size_t j = 0; j < kvartiri; j++)
{
ar[i][j] = 1 + rand() % 7;//jiltsi v odnoy kvartire
jilVKvartire = ar[i][j];
}
}
enum options { exit, showKolJilSosedey, showSumJ, showMnogodet };
enum ShowEtaji { Perviy, Vtoroy, Tretiy, Cetvertiy, Pyatiy };
bool isActive = true;
while (isActive)
{
cout << "=========OPTIONS=========\n"
<< "1 -> Show kolicestvo jiltsov po kvartire i sosedey\n"
<< "2 -> Show sum jilt dla kajdogo podyezda\n"
<< "3 -> Show mnogodetnie semyi\n"
<< "0 -> exit\n";
cout << "Enter option: ";
cin >> userChoice;
switch (userChoice)
{
case exit:
system("cls");
for (size_t i = 0; i < 3; i++)
{
cout << ". ";
Sleep(800);
}
isActive = false;
break;
case showKolJilSosedey:
break;
case showSumJ:
system("cls");
for (size_t i = 0; i < etaji; i++)
{
switch (i)
{
case Perviy:
cout << "Firat floor:\t";
break;
case Vtoroy:
cout << "Second floor:\t";
break;
case Tretiy:
cout << "Third floor:\t";
break;
case Cetvertiy:
cout << "Fourth floor:\t";
break;
case Pyatiy:
cout << "Fifth floor:\t";
break;
default:
break;
}
for (size_t j = 0; j < kvartiri; j++)
{
sumJiltsov += ar[i][j];
}
cout << sumJiltsov << "\t";
cout << '\n';
}
break;
case showMnogodet:
for (int i = 0; i < etaji; i++)
{
for (size_t j = 0; j < kvartiri; j++)
{
if (jilVKvartire > 5) cout << "Family is Multi-children";
}
}
}
}
}
По дате
По рейтингу
Забыли обнулять сумму жильцов sumJiltsov = 0; после
cout << sumJiltsov << "\t";
cout << '\n';
поэтому для каждого этажа показывается сумма этого этажа + сумма всех нижележащих.