Почему вылетает программа после ввода name

211
23 января 2018, 12:15

Друзья,вылетает программа после ввода поля 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;
}
Answer 1

Вот Вы сначала создаете динамический массив с размером value, который еще пока равен 0 (как явно не инициализированная глобальная переменная), а на следующей строке только задаете это самое value. Вы думаете, после этого и размер массива должен измениться? Или Вы считаете, что компилятор должен прочитать Ваши мысли и, найдя у Вас ошибку, сам должен поменять местами эти 2 строчки? ;-)

int main()
{
    tablica * tabl = new tablica[value];
    cin >> value;
 ...
}
READ ALSO
Java, почему не работает код, буфер обмена

Java, почему не работает код, буфер обмена

Помогите, пожалуйста, исправить код моей первой программыОна должна анализировать буфер обмена на наличие в нём 5-ти значного числа начинающегося...

318
Создание AutoCompleteTextView внутри кастомного Menu

Создание AutoCompleteTextView внутри кастомного Menu

Как создать AutoCompleteTextView внутри кастомного меню?

213
В книге Шилда опечатка или нет?

В книге Шилда опечатка или нет?

Читаю книгу Шилда Java 8Ссылки на статические методы

216