1

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

Стара помилка була ліквідована, але з'явилась ще одна нова.
Потрібно визначити напрямок вітрі по заданій місцевості на задану дату. Визначення напрямку вітру починається з 111 строки. Можливо, я щось не те прирівнюю?
Не працює ні виведення інформації, ні помилка.

#include "pch.h"
#include <string>
#include <iostream>
#include <cstdlib> 
 
using namespace std;

struct Weather //cтруктура "Погода"
{
    string local; //район місцевості
    string data; //дата
    int day; //день
    int count; //кількість опадів
    double intensity; //інтенсивність опадів
    double speed; //швидкість вітру
    int temp; //середня температура 
    string direction; //напрямок вітру
    string afternoon; //температура вдень
    string night;//температура вночі
} s[100];
int add(int n) //додавання інформації в базу
{
    cout << "local: " << endl;
    cin >> s[n].local;
    cout << "data: " << endl;
    cin >> s[n].data;
    cout << "day: " << endl;
    cin >> s[n].day;
    cout << "precipitation: \n" << endl;
    cout << "count: ";
    cin >> s[n].count;
    cout << " intensiv: " << endl;
    cin >> s[n].intensity;
    cout << "wind \n";
    cout << "speed: " << endl;
    cin >> s[n].speed;
    cout << "direction: " << endl;
    cin >> s[n].direction;
    cout << " average  temperature: " << endl;
    cin >> s[n].temp;
    cout << "afternoon: " << endl;
    cin >> s[n].afternoon;
    cout << "night: " << endl;
    cin >> s[n].night;
    return ++n;
}
void Out(int n) //виведення бази
{
    cout << "INFORM PRO BAZU: " << endl;
    for (int i = 0; i < n; i++)
    {
        cout << "local: " << s[i].local << endl;
        cout << "data: " << s[i].data << endl;
        cout << "\n";
        cout << "precipitation: \n" << endl;
        cout << "count: " << s[i].count << endl;
        cout << "intensity" << s[i].intensity << endl;
        cout << "wind \n" << endl;
        cout << "speed: " << s[i].speed << endl;
        cout << "direction: " << s[i].direction << endl;
        cout << "\n";
        cout << "average  temperature: " << s[i].temp << endl;
        cout << "afternoon: " << s[i].afternoon<< endl;
        cout << "night:  " << s[i].night << endl;
    }

}
void t(int n) // температура в місцевості +10 
{

    string dat = 0;

    cout << " add  dat: ";
    cin >> dat;
    bool present = false;
    for (int i = 0; i < n; i++)
    {
        cout << "vivod inform \n" << endl;
        if (s[i].data == dat && s[i].temp == 10)
        {
            cout << "local  " << s[i].local << endl;
            present = true;
        }
    }
    if (!present)
        cout << dat << " there was no temperature of 10 degrees " << endl;
}
void average(int n) //середня кількість опадів 
{
    string loc;
    cout << " add local \n" << endl;
    cin >> loc;

    for (int i = 0; i < n; i++)
    {
        if (s[i].local == loc)
        {

            if (s[i].day != 0) // якщо виконується умова
            {
                double precipitation = (double)s[i].count / s[i].day;
                cout << "average precipitation " << precipitation << endl;
            }
            
        }
        else
            cout << "average precipitation = 0 " << endl; // якщо не виконується умова
    }

}
void wind(int n) //визначення напрямку вітру в заданий день та в заданій місцевості
{
    string locaal;
    string date;
    cout << " add local " << endl;
    cin >> locaal;
    cout << " date " << endl;
    cin >> date;
    for (int i = 0; i < n; i++)
    {
        if (s[i].local == locaal)
        {
            if (s[i].direction == s[i].data)
            {
                cout << "direction was " << s[i].direction << endl;
                cout << " date " << s[i].data << endl;
            }
        }
        else 
            cout << "error! " << endl;
    }
}
int main()
{
    cout << "menu" << endl;
    int n = 0;
    while (1)
    {
        cout << "1 - add;" << endl <<
            "2 - all baza" << endl <<
            "3 - local 10" << endl <<
            "4 - average precipitation " << endl<<
            "5 - direction wind" <<endl;
        int a; cin >> a;
        switch (a)
        {
        case 1:
            system("cls");
            n = add(n);
            system("cls");
            break;
        case 2:
            Out(n);
            break;
        case 3:
            t(n);
            break;
        case 4:
            average(n);
        break;
        case 5:
        wind(n);
        break;
        }
        
    }
    system("pause");
    return 0;
}

2

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

Мені ніхто не допоможе?