Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2018, 22:56   #1
Evgeny_L
Пользователь
 
Регистрация: 27.10.2018
Сообщений: 31
По умолчанию Неправильно работает программа.

Не выводиться вся база. Выводятся только вторые введенные значения
Код:
#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 << "mestnost': " << endl;
        cin >> s[n].local;
        cout << "data: " << endl;
        cin >> s[n].data;
        cout << "\tosadki: \n" << endl;
        cout << "kol-vo: ";
        cin >> s[n].count;
        cout << " intensivnost': " << endl;
        cin >> s[n].intensity;
        cout << "\tveter \n";
        cout << "skorost': " << endl;
        cin >> s[n].speed;
        cout << "napravlenie: " << endl;
        cin >> s[n].direction;
        cout << " srednya temperatura v techenii dnya: " << endl;
        cin >> s[n].temp;
        cout << "den': " << endl;
        cin >> s[n].afternoon;
        cout << "noch': " << endl;
        cin >> s[n].night;
        system("cls");
        cout << "hotite prodoljit'?(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;
for(int i=0; i<n;i++)
    {
 
        cout << "\t\t|mestnost': " << s[i].local << "\t\t" << "|";
        cout << "\n\t\t|data: " << s[i].data << "\t\t \t |";
        cout << "\n\t\t|\tosadki: " << "\t         |";
        cout << "\n\t\t|kolichestvo: " << s[i].count << "\t\t" << " |";
        cout << "\n\t\t|intensivnost': " << s[i].intensity << "\t\t" << " |";
        cout << "\n\t\t| \tveter: " << "\t\t\t |" << "\t\t ";
        cout << "\n";
        cout << "\t\t|skorost': " << s[i].speed << "\t\t\t" << " |";
        cout << "\n\t\t|napravlenie: " << s[i].direction << "\t\t" << " |";
        cout << "\n\t\t|sredneya  temperatura: " << s[i].temp << "\t |";
        cout << "\n\t\t|den': " << s[i].afternoon << "\t\t\t |";
        cout << "\n\t\t|noch: " << s[i].night << "\t\t\t |" << endl;
        cout << "\t\t|________________________________|" << endl;
 
    } while (n > 0);
    
 
    system("pause");
    system("cls");
}
void t(int n) // Температура в местности с +10
{
    int dat = 0;
 
    cout << " vvedite daty: ";
    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].local << endl;
        }
        else
            cout << "zdes' ne bilo temperaturi +10 " << endl;
    }
 
    system("pause");
    system("cls");
}
void average(int n) //Среднее количество осадков
{
    string loc;
    int day;
    cout << " dobavit' mestnost': ";
    cin >> loc;
    cout << "vvedite den': ";
    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 << "srednee kol-vo osadkov: " << precipitation << endl;
            }
            else
                cout << "srednee kol-vo osadkov = 0" << endl; // якщо не виконується умова
        }
 
    }
    system("pause");
    system("cls");
}
void wind(int n) //Определение направления ветра
{
    string locaal;
    int date;
    cout << "mestnost': " << endl;
    cin >> locaal;
    cout << "data: " << endl;
    cin >> date;
    for (int i = 0; i < n; i++)
    {
        if (s[i].local == locaal)
        {
            if (s[i].data == date)
            {
                cout << "napravlenie bilo: " << s[i].direction << endl;
                cout << " data: " << s[i].data << endl;
            }
            else
                cout << "zdes' takogo net! " << endl;
        }
        else
            cout << "error! " << endl;
    }
    system("pause");
}
 
int main()
{
 
    int n = 0;
    while (1)
    {
        cout << "\t\t\t\tMenu" << endl;
        cout << "\t\t---------------------------------" << endl;
        cout << "\t\t|\t1 - dobavit'\t\t|" << endl <<
            "\t\t|\t2 - vlya baza\t\t|" << endl <<
            "\t\t|\t3 - mestnost' gde 10\t|" << endl <<
            "\t\t|\t4 - srednie osadki\t|" << endl <<
            "\t\t|\t5 - napravlenie vetra\t|" << endl <<
            "\t\t|\t6 - exit\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;
}
Проблемный участок:
Код:
void Out(int n) //Вывод базы
{
 
    cout << "\t\t ________________________________" << endl;
    cout << "\t\t|\tINFORM PRO BAZU:\t |";
    cout << "\n";
    cout << "\t\t|--------------------------------|" << endl;
for(int i=0; i<n;i++)
    {
 
        cout << "\t\t|mestnost': " << s[i].local << "\t\t" << "|";
        cout << "\n\t\t|data: " << s[i].data << "\t\t \t |";
        cout << "\n\t\t|\tosadki: " << "\t         |";
        cout << "\n\t\t|kolichestvo: " << s[i].count << "\t\t" << " |";
        cout << "\n\t\t|intensivnost': " << s[i].intensity << "\t\t" << " |";
        cout << "\n\t\t| \tveter: " << "\t\t\t |" << "\t\t ";
        cout << "\n";
        cout << "\t\t|skorost': " << s[i].speed << "\t\t\t" << " |";
        cout << "\n\t\t|napravlenie: " << s[i].direction << "\t\t" << " |";
        cout << "\n\t\t|sredneya  temperatura: " << s[i].temp << "\t |";
        cout << "\n\t\t|den': " << s[i].afternoon << "\t\t\t |";
        cout << "\n\t\t|noch: " << s[i].night << "\t\t\t |" << endl;
        cout << "\t\t|________________________________|" << endl;
 
    } while (n > 0);
    
 
    system("pause");
    system("cls");
}
Evgeny_L вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа неправильно работает HaKeRR Помощь студентам 1 05.12.2014 23:51
Неправильно работает программа (С#) julia9311 Помощь студентам 0 01.12.2014 02:10
неправильно работает программа CppForYou Общие вопросы C/C++ 0 26.04.2013 01:13
С++. Неправильно работает программа. Новенькая.. Помощь студентам 2 04.10.2012 00:01
Программа работает неправильно. Настюня Помощь студентам 2 16.06.2012 18:34