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