28.10.2018, 18:12 | #1 (permalink) |
Новичок
Регистрация: 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; } } } } |
28.10.2018, 18:12 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вы можете найти ответ в похожих обсуждениях Некорректная работа кулеров Некорректная работа микрофона. Некорректная работа Windows 7 Некорректная работа usb-крнтроллеров |
30.10.2018, 12:07 | #2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
В указанном вами месте вы сравниваете делимое и частное от деления, естественно, что такое условие будет ложным в большинстве случаев, так как при делении частное почти всегда меньше делимого (кроме случая, когда делитель равен 1).
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|