Top.Mail.Ru
Ответы

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';

поэтому для каждого этажа показывается сумма этого этажа + сумма всех нижележащих.