1

Тема: Неккоректно працює программа. Не виконується 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;
        }
        }
    }
}

2 Востаннє редагувалося koala (28.10.2018 16:34:02)

Re: Неккоректно працює программа. Не виконується if else

0. Коментарі казна-які. Як і слова, які воно виводить.
1. Програма виконується коректно. Принаймні, те завдання, що ви навели, вона виконує.
2. if else виконується.

Подякували: PRY1

3

Re: Неккоректно працює программа. Не виконується if else

Ви не зрозуміли, я про те, що коли виконується 4 пункт программа просто проскочує, тобто одразу повертається у меню.
Завдання: Створити структуру: Район місцевості, дата, опади(кількість/інтенсивність), вітер(швидкість/напрямок) температура (вдень та вночі).
Визначити середню кількість опадів у місцевості, яка вказана з клавіатуру у задану дату.- ось це в мене і не виходить.

4

Re: Неккоректно працює программа. Не виконується if else

koala написав:

1. Програма виконується коректно. Принаймні, те завдання, що ви навели, вона виконує.

Я вам кажу про те що не робиться 4 дія.

5 Востаннє редагувалося koala (28.10.2018 16:46:40)

Re: Неккоректно працює программа. Не виконується if else

Ось вам формула: https://uk.wikipedia.org/wiki/Середнє_арифметичне
Ви її явно не використовуєте.

6

Re: Неккоректно працює программа. Не виконується if else

koala написав:

Ось вам формула: https://uk.wikipedia.org/wiki/Середнє_арифметичне
Ви її явно не використовуєте.

мені пришло на думку, що потрібно ділити кількість опадів на кількість днів.
Тобто це неправильно?

7

Re: Неккоректно працює программа. Не виконується if else

Очевидно, що ні. Дата - це один день.