Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 28.10.2018, 18:12   #1 (permalink)
nicknameyr
Новичок
 
Регистрация: 28.10.2018
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Некорректная работа программы if else

Когда выполяется программа она просто проскакивает, когда идет расчет среднего количества осадков
Код:
#include "pch.h"
#include <string>
#include <iostream>
#include <cstdlib> 

using namespace std;

struct pogoda
{
	string mestnost;
	int data;
	int kol;
	int intens;
	char skorost[100];
	string napravl;
	int temp;
	char den[20];
	char night[20];
} s[100];
int add(int n)
{
	cout << "mestnost: " << endl;
	cin >> s[n].mestnost;
	cout << "data: " << endl;
	cin >> s[n].data;
	cout << "osadki \n" << endl;
	cout << "kol: ";
	cin >> s[n].kol;
	cout << " intensiv: " << endl;
	cin >> s[n].intens;
	cout << "veter \n";
	cout << "skorost: " << endl;
	cin >> s[n].skorost;
	cout << "napravl: " << endl;
	cin >> s[n].napravl;
	cout << " sr_ temperatyra \n" << endl;
	cin >> s[n].temp;
	cout << "den " << endl;
	cin >> s[n].den;
	cout << "night " << endl;
	cin >> s[n].night;
	return ++n;
}
void Out(int n)
{
	cout << "INFORM O BAZE: " << endl;
	for (int i = 0; i < n; i++)
	{
		cout << "mestnost: " << s[i].mestnost << endl;
		cout << "data:" << s[i].data << endl;
		cout << "\n";
		cout << "osadki \n" << endl;
		cout << "kol: " << s[i].kol << endl;
		cout << "intens " << s[i].intens << endl;
		cout << "veter \n" << endl;
		cout << "skorost: " << s[i].skorost << endl;
		cout << "napravl: " << s[i].napravl << endl;
		cout << "\n";
		cout << "sr_temperatyra: " << s[i].temp << endl;
		cout << "den " << s[i].den << endl;
		cout << "night " << s[i].night << endl;
	}

}
int t(int n) // температура где +10 гр
{

	int dat = 0;

	cout << " vvod dati ";
	cin >> dat;
	for (int i = 0; i < n; i++)
	{
		cout << "vivod inform \n" << endl;
		if (s[i].data == dat && s[i].temp == 10)
		{
			cout << "mestnost: " << s[i].mestnost << endl;
		}
		else
			cout << "v etot den' ne bilo temperaturi 10 " << endl;
	}
	return ++n;
}
int sred(int n) //среднее количество осадков  //не работает
{
    double osad;
	string mest;
	int dni;
	cout << "vvod mestnosti\n" << endl;
	cin >> mest;
	cout << "vvod dni " << endl;
	cin >> dni;
	for (int i = 1; i < n; i++)
	{
		osad = s[i].kol / dni;
		if (s[i].kol == osad)
		{
			cout << "sred osad " <<osad<< endl;
		}
		else

			cout << "error; net takoi mestonsti !" << endl;

	}
	return ++n;
}
int napravlenie(int n)  // направление ветра в заданой местности и за заданую дату
{
	return ++n;
}
int main()
{
	int i = 0, a, n = 0;
	cout << "menu" << endl;
	while (1)
	{
		cout << "1 - vvod;" << endl <<
			"2 - all baza" << endl <<
			"3 - mestonst gde 10" << endl <<
			"4 -sr kol-vo ocadkov" << endl;
		cin >> a;
		switch (a)
		{
		case 1:
		{
			system("cls");
			n = add(n);
			system("cls");
			break;
		}
		case 2:
		{
			Out(n);
			break;
		}
		case 3:
		{	n = t(n);
		break;
		}
		case 4:
		{ n = sred(n);
		break;
		}
		case 5:
		{
			n = napravlenie(n);
			break;
		}
		}
	}
}
nicknameyr вне форума   Ответить с цитированием

Старый 28.10.2018, 18:12
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вы можете найти ответ в похожих обсуждениях

Некорректная работа кулеров
Некорректная работа микрофона.
Некорректная работа Windows 7
Некорректная работа usb-крнтроллеров

Старый 30.10.2018, 12:07   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

В указанном вами месте вы сравниваете делимое и частное от деления, естественно, что такое условие будет ложным в большинстве случаев, так как при делении частное почти всегда меньше делимого (кроме случая, когда делитель равен 1).
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 04:09.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.