Вся база не выводится, выводятся только вторые введенные значения
#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 << "najmite lubuu klavishy chtobi prodolgit' krome y \n";
cin >> ch;
} while (ch != 'y');
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;
}
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:
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;
}
Ваша функция add
позволяет ввести инфоpмацию для нескольких объектов, но счетчик увеличивает только один раз.
int add(int n) //Добавление информации в базу
{
char ch;
do {
cout << "mestnost': " << endl;
cin >> s[n].local;
...
cout << "noch': " << endl;
cin >> s[n].night;
n++;
system("cls");
cout << "najmite lubuu klavishy chtobi prodolgit' krome y \n";
cin >> ch;
} while (ch != 'y');
return n;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь изменить символ в строке на \0, чтобы выводить её не полностью (тк
q2 главное стартовое окноУ него есть кнопка QButton pushButton