Друзья,вылетает программа после ввода поля tabl[i].name; Не могу понять в чём проблема.
// ConsoleApplication1.cpp : Defines the entry point for the console
application.
//
#define _CRT_SECURE_NO_WARNINGS
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int value;
struct tablica {
int number;
string name;
double P, H, V, Z, O;
};
void CreatingStruct(tablica*tabl);
void FindMax(tablica*tabl);
int main()
{
tablica * tabl = new tablica[value];
cin >> value;
CreatingStruct(tabl);
FindMax(tabl);
return 0;
}
void CreatingStruct(tablica*tabl) {
for (int i = 0; i < value; i++) {
cout << "write nubmber" << endl;
cin >> tabl[i].number;
cout << "write name" << endl;
cin >> tabl[i].name;
cout << "write P" << endl;
cin >> tabl[i].P;
cout << "write H" << endl;
cin >> tabl[i].H;
cout << "write V" << endl;
cin >> tabl[i].V;
cout << "write Z" << endl;
cin >> tabl[i].Z;
tabl[i].O = tabl[i].V * tabl[i].Z;
cout << "Your O = " << tabl[i].O << endl;
}
}
void FindMax(tablica*tabl) {
double max = tabl[0].O;
for (int i = 0; i < value; i++) {
if (tabl[i].O >= max) {
max = tabl[i].O;
}
}
cout << "Max is - " << " " << max;
}
Вот Вы сначала создаете динамический массив с размером value
, который еще пока равен 0 (как явно не инициализированная глобальная переменная), а на следующей строке только задаете это самое value
. Вы думаете, после этого и размер массива должен измениться? Или Вы считаете, что компилятор должен прочитать Ваши мысли и, найдя у Вас ошибку, сам должен поменять местами эти 2 строчки? ;-)
int main()
{
tablica * tabl = new tablica[value];
cin >> value;
...
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите, пожалуйста, исправить код моей первой программыОна должна анализировать буфер обмена на наличие в нём 5-ти значного числа начинающегося...
Как создать AutoCompleteTextView внутри кастомного меню?