0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 87
|
|||||||||||
1 | |||||||||||
При вводе данных в объект программа аварийно завершается26.12.2019, 09:03. Показов 1363. Ответов 12
Метки нет (Все метки)
Здравствуйте. В процессе выполения лаб.работы столкнулась с такой проблемой. Вот мое задание: создать файлы main.h и main.cpp. В файле main.h определить с помощью ключевого слова class объект Ship, описать конструктор объекта, аргументы которого будут инициализировать все данные объекта. Описать конструктор объекта по умолчанию (без аргументов), проинициализировав все данные. Описать в объекте функцию void Print() с открытым уровнем доступа (public), которая будет выводить данные на экран.
В main.cpp определить конструктор объекта, инициализирующий все данные объекта значениями аргументов. В теле конструктора используем функцию strcpy (стр1, стр2) для копирования строки наименования корабля. Затем определить функцию void SHIP::Print(). Далее создать главную функцию программы int main(). Внутри нее создать объект SHIP, указав все значения данных объекта. Вывести данные объекта на экран, вызвав функцию Print. Далее создать динамический объект SHIP с помощью обычного конструктора и оператора new. Вывести данные объекта на экран и удалить его с помощью оператора delete. Затем написать функцию ввода данных в объект с клавиатуры void Person::Input(). (у меня не получилось ее сразу написать в .cpp и я поступила с ней аналогично Print). И затем создать объект SHIP с помощью конструктора по умолчанию и ввести данные в объект с клавиатуры, вызвав функцию Input (у меня это строчки 40-43). Вот тут у меня ничего не получается, VS выдает ошибку программы и просто закрывается. Прошу помощи у Вас. main.h
0
|
26.12.2019, 09:03 | |
Ответы с готовыми решениями:
12
Программа завершается аварийно при вызове функции Программа аварийно завершается при прохождении цикла При открытия файла аварийно завершается программа программа завершается аварийно |
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
26.12.2019, 10:00 | 2 |
Для начала убери using namespace std; из main.h, а в main.cpp сделай его после инклудов
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
|
||||||
26.12.2019, 10:07 | 3 | |||||
Здесь Вы создаете объект с нулевыми указателями
и в методе input пытаетесь ввести данные в объекты, имеющий нулевые адреса.
0
|
6107 / 3461 / 1406
Регистрация: 07.02.2019
Сообщений: 8,794
|
||||||
26.12.2019, 10:08 | 4 | |||||
Ann1984,
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|||||||||||
26.12.2019, 10:13 | 6 | ||||||||||
Сообщение было отмечено Ann1984 как решение
Решение
Ann1984, у вас в задании нет ничего о том, какими должны быть поля объекта. Поэтому для вас лучше всего и понятнее будет не использовать самостоятельный контроль за памятью для полей, а использовать std::string.
2
|
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 87
|
|
26.12.2019, 15:25 [ТС] | 8 |
politoto , это у меня было в задании. Нужно было в теле конструктора использовать функцию strcpy (стр1, стр2) для копирования строки наименования корабля.
Добавлено через 1 минуту oleg-m1973 , спасибо за замечание, исправила. Добавлено через 11 минут oleg-m1973 и zss, спасибо за развернутые ответы, но учитывая мой уровень знаний, я до таких схем просто не могла бы додуматься. И сейчас, когда Вы все расписали, понимаю со скрипом. Добавлено через 6 минут DrOffset , Добавлено через 19 минут Теперь программа дает ввести данные, но в окне вывода "Наименование", "водоизмещение" и "тип" написаны верно, а выводимые данные "наименование" и "тип" - просто набор символов. Но у меня вроде включена функция setlocale.
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
26.12.2019, 15:35 | 9 |
0
|
85 / 34 / 20
Регистрация: 15.12.2019
Сообщений: 88
|
|||||||||||
26.12.2019, 16:02 | 10 | ||||||||||
Попробуйте
0
|
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 87
|
|
27.12.2019, 08:48 [ТС] | 11 |
nyaka_wai , у меня компилятор ругается, пишет, что "идентификатор SetConsoleCP не определен" и то же самое с SetConsoleOutputCP.
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
27.12.2019, 11:15 | 12 |
Ann1984, #include <windows.h>
1
|
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 87
|
|
27.12.2019, 14:48 [ТС] | 13 |
DrOffset,
0
|
27.12.2019, 14:48 | |
27.12.2019, 14:48 | |
Помогаю со студенческими работами здесь
13
Программа аварийно завершается Рекурсия, почему программа завершается аварийно? Программа на других компьютерах завершается аварийно Работа с матрицами (программа завершается аварийно) Программа аварийно завершается после оператора scanf При вводе числа с плавающей точкой завершается программа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |