[code=C++]
#include "pch.h"
#include <string>
#include <iostream>
#include <cstdlib>
#include <conio.h>

using namespace std;

struct Weather // cтруктура "Погода"
{
    string local;     // район місцевості
    int data;         // дата
    int count;        // кількість опадів
    double intensity; // інтенсивність опадів
    double speed;     // швидкість вітру
    int temp;         // середня температура
    string direction; // напрямок вітру
    string afternoon; // температура вдень
    string night;     // температура вночі
} s[100];

int add(int n) //додавання інформації в базу
{
    char ch;
    do {
        cout << "Місцевість: " << endl;
        cin >> s[n].local;
        cout << "Дата: " << endl;
        cin >> s[n].data;
        cout << "\tОпади: \n" << endl;
        cout << "Кількість: ";
        cin >> s[n].count;
        cout << "Інтенсивність: " << endl;
        cin >> s[n].intensity;
        cout << "\Вітер \n";
        cout << "Швидкість: " << endl;
        cin >> s[n].speed;
        cout << "Напрямок: " << endl;
        cin >> s[n].direction;
        cout << "Середня температура протягом дня: " << endl;
        cin >> s[n].temp;
        cout << "День: " << endl;
        cin >> s[n].afternoon;
        cout << "Вночі: " << endl;
        cin >> s[n].night;
        system("cls");
        cout << "Бажаєте продовжити?(y/n)"; // поки ви не натисните на n після введення бази програма буде виконуваться, якщо ви натискатимете y
        cin >> ch;
        system("cls");
    } while (toupper(ch) != 'N'); // перетворює рядкові літери в заглавні для роботи з вихідом
    return ++n;
}
void Out(int n) //виведення бази
{
    cout << "\t\t ________________________________" << endl;
    cout << "\t\t|\tINFORM PRO BAZU:\t |";
    cout << "\n";
    cout << "\t\t|--------------------------------|" << endl;

    do
    {
        cout << "\t\t|Місцевість: " << s[i].local << "\t\t" << "|";
        cout << "\n\t\t|Дата: " << s[i].data << "\t\t \t |";
        cout << "\n\t\t|\tОпади: " << "\t         |";
        cout << "\n\t\t|Кількість: " << s[i].count << "\t\t" << " |";
        cout << "\n\t\t|Інтенсивність: " << s[i].intensity << "\t\t" << " |";
        cout << "\n\t\t| \tВітер: " << "\t\t\t |" << "\t\t ";
        cout << "\n";
        cout << "\t\t|Швидкість: " << s[i].speed << "\t\t\t" << " |";
        cout << "\n\t\t|Напрямок: " << s[i].direction << "\t\t" << " |";
        cout << "\n\t\t|Середня температура: " << s[i].temp << "\t |";
        cout << "\n\t\t|День: " << s[i].afternoon << "\t\t\t |";
        cout << "\n\t\t|Вночі: " << s[i].night << "\t\t\t |" << endl;
        cout << "\t\t|________________________________|" << endl;

    } while (false)
    {

    }

    system("pause");
    system("cls");
}
void t(int n) // температура в місцевості +10
{
    int dat = 0;

    cout << "Уведіть дату: ";
    cin >> dat;
    for (int i = 0; i < n; i++)
    {
        cout << "Виведення інформації \n" << endl;
        if (s[i].data == dat && s[i].temp == +10)
        {
            cout << "Місцевість:  " << s[i].local << endl;
        }
        else
            cout << "Тут не було температури +10 " << endl;
    }

    system("pause");
    system("cls");
}
void average(int n) //середня кількість опадів
{
    string loc;
    int day;
    cout << "Ввести місцевість: ";
    cin >> loc;
    cout << "Вводимо діапазон днів: ";
    cin >> day;
    for (int i = 0; i < n; i++)
    {
        if (s[i].local == loc)
        {

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

    }
    system("pause");
    system("cls");
}
void wind(int n) //Визначення напрямку вітру у вказаний день та вказану дату
{
    string locaal;
    int date;
    cout << "Місцевість: " << endl;
    cin >> locaal;
    cout << "Дата: " << endl;
    cin >> date;
    for (int i = 0; i < n; i++)
    {
        if (s[i].local == locaal)
        {
            if (s[i].data == date)
            {
                cout << "Напрямок був: " << s[i].direction << endl;
                cout << "Дата: " << s[i].data << endl;
            }
            else
                cout << "Тут такого не було! " << endl;
        }
        else
            cout << "Помилка! " << endl;
    }
    system("pause");
}

int main()
{

    int n = 0;
    while (1)
    {
        cout << "\t\t\t\tМеню" << endl;
        cout << "\t\t---------------------------------" << endl;
        cout << "\t\t|\t1 - Додати\t\t|" << endl <<
            "\t\t|\t2 - Вся база\t\t|" << endl <<
            "\t\t|\t3 - Місцевість де +10\t|" << endl <<
            "\t\t|\t4 - Середня кількість опадів\t|" << endl <<
            "\t\t|\t5 - Напрямок вітру\t|" << endl <<
            "\t\t|\t6 - Вихід\t\t|" << endl;
        cout << "\t\t---------------------------------" << endl;
        int a; cin >> a;
        switch (a)
        {
            case 1:
                system("cls");
                n = add(n);
                system("cls");
                break;
            case 2:
                system("cls");
                Out(n);
                break;
            case 3:
                system("cls");
                t(n);
                break;
            case 4:
                system("cls");
                average(n);
                break;
            case 5:
                system("cls");
                wind(n);
                system("cls");
                break;
            case 6:
            {   exit(0);
                default:
                exit(0);
            }
        }
    }
    return 0;
}[/code]

82

(1 відповідей, залишених у C++)

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

83

(1 відповідей, залишених у C++)

Стара помилка була ліквідована, але з'явилась ще одна нова.
Потрібно визначити напрямок вітрі по заданій місцевості на задану дату. Визначення напрямку вітру починається з 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;
}

84

(6 відповідей, залишених у C++)

kerimov_e написав:
koala написав:
kerimov_e написав:

Припиню що?

1. Створювати зайві теми. Ви вже про цю задачу одну тему створили, годі.
2. Писати так, щоб треба було перепитувати. Який саме else "некоректно працює"? Чому ви вирішили, що він працює "некоректно"? Яка, на вашу думку, мала б бути його коректна робота?

Ця проблема була вирішена, але в мене виникла інша. Що мені писати в цій темі? чи як мені робити?

Добре, дякую, я виправлюсь!
Створю зараз останню тему і проблема вирішена!

85

(6 відповідей, залишених у C++)

koala написав:
kerimov_e написав:
koala написав:

А ви це припините?

Припиню що?

1. Створювати зайві теми. Ви вже про цю задачу одну тему створили, годі.
2. Писати так, щоб треба було перепитувати. Який саме else "некоректно працює"? Чому ви вирішили, що він працює "некоректно"? Яка, на вашу думку, мала б бути його коректна робота?

Ця проблема була вирішена, але в мене виникла інша. Що мені писати в цій темі? чи як мені робити?

86

(6 відповідей, залишених у C++)

koala написав:

А ви це припините?

Припиню що?

87

(1 відповідей, залишених у C++)

В мене є завдання в структурі, де потрібно визначити напрямок вітру в заданій місцевості на задану дату
Підскажіть, як його робити? Що з чим прирівнювати?

88

(4 відповідей, залишених у C++)

FakiNyan написав:

так і мені не смішно, а сумно

проблема вирішилась.:)

89

(6 відповідей, залишених у C++)

Неккоректно працює оператор else

#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 << "osadki: \n" << endl;
    cout << "kol: ";
    cin >> s[n].count;
    cout << " intensiv: " << endl;
    cin >> s[n].intensity;
    cout << "veter \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 << "veter \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 vet(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 if(s[i].local != loc)
                cout << "average precipitation 0 " << 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;
        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:
            vet(n);
            break;
        }
    }
    system("pause");
    return 0;
}

90

(4 відповідей, залишених у C++)

FakiNyan написав:

це може відбуватися тому, що ви використовується транслітеровану кацапійську, замість української, або англійської

Не смішно.

Коли виконується четвертий пункт відбувається нескінченна бігуча строка.

#include "pch.h"
#include <string>
#include <iostream>
#include <cstdlib> 

using namespace std;

struct pogoda
{
    string mestnost;
    int data;
    int kol;
    int dni;
    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 << "dni: " << endl;
    cin >> s[n].dni;
    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 << "dni " << s[i].dni << endl;
        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;
    int mest;
    cout << "vvod mestnosti\n" << endl;
    cin >> mest;

    for (int i = 0; i < n; i++)
    {
        osad = s[i].kol / 3;
        if (s[i].kol == osad&& osad == s[i].dni ) {

            cout << "sred osad " << osad<<endl;

        }
        else
        {
            cout << "error!" << 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;
        }
        }
    }
}

92

(6 відповідей, залишених у C++)

koala написав:

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

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

93

(6 відповідей, залишених у C++)

koala написав:

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

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

94

(6 відповідей, залишених у C++)

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

Код:

#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;
        }
        }
    }
}