|
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 74
|
|
Задача из Дейтела char и string23.01.2020, 15:26. Показов 1971. Ответов 16
Метки c++ для начинающих (Все метки)
Подскажите пожалуйста, начал делать задачу из Дейтела:
«Предположите, что определена структура, содержащая закрытые элементы данных: char lastName[ 15 ]; и открытые элемент-функции: // функции доступа к фамилии (lastName) void setLastName( string ); и т.д.» так вот компилятор ругается, да и у меня возник вопрос если переменные char, а в функциях им будут присваиваться string значения, типа так setLastName( string lname) { lastName = lname; } или я что-то не понимаю??
0
|
|
| 23.01.2020, 15:26 | |
|
Ответы с готовыми решениями:
16
Задача на catch из Дейтела Задача из учебника Дейтела Харви
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||||
| 23.01.2020, 15:31 | ||||||
Сообщение было отмечено mlippi80 как решение
Решение
1
|
||||||
|
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 74
|
|
| 23.01.2020, 15:53 [ТС] | |
|
Я не столько ищу решение, сколько хочу убедиться в корректности задания, например c_str мы ещё не проходили, а касательно вашего кода зачем 14 элементу присваивать 0?
0
|
|
|
Одессит
|
||||||
| 23.01.2020, 16:03 | ||||||
|
Я подозреваю что тут void setLastName( string ); под словом string емеется ввиду имя переменной. А её тип char *.
1
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 23.01.2020, 16:07 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 74
|
|
| 24.01.2020, 09:49 [ТС] | |
|
Нет string это тип именно а не имя переменной. Вообще корректное ли задание?
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 24.01.2020, 16:22 | ||
|
1
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 24.01.2020, 16:32 | ||
|
1
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 25.01.2020, 13:55 | ||
char *strncpy( char *dest, const char *src, std::size_t count );
1
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 25.01.2020, 15:24 | |
|
1
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 25.01.2020, 15:34 | ||
strlen(src) >= count - 1? (count - размер буфера)Хотя если инициализировать буфер нулями и копировать sizeof(bufer) - 1, то да - это лишнее
0
|
||
|
|
|
| 25.01.2020, 15:43 | |
|
Я думаю что вообще в использовании strncpy в данном случае мало смысла. Можно использовать strcpy но до этого проверять "руками" "впихуемость" и если нет кидать исключение.
Согласитесь плохо будет если к примеру в базе данных будет половина фамилии.
0
|
|
|
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 74
|
||||||
| 30.01.2020, 18:41 [ТС] | ||||||
|
в общем не сообразил я сразу, похожее решение было в книге, действительно через strncpy. на всякий случай оставлю задачу и свое решение.
Напишите ряд операторов для выполнения каждой из приведенных ниже операций. Предположите, что определена структура, содержащая закрытые элементы данных: char lastName[ 15 ]; char £irstName[ 15 ]; char age[ 4 ]; и открытые элемент-функции: // функции доступа к фамилии (lastName) void setLastName( string ); string getLastName() const; // функции доступа к имени (firstName) void setFirstName( string ); string getFirstName() const; // функции доступа к возрасту (age) void setAge( string ); string getAge() const; Также предположите, что открыты все требуемые файлы произвольного доступа. a) Инициализируйте файл nameage.dat со 100 записями, содержащими lastName = "unassigned", firstName = "" и age= ". b) Введите 10 фамилий, имен и соответствующие возрасты, запишите эти данные в файл. c) Обновите записи, которые имеют указанные сведения, а если таких сведений нет, то сообщите пользователю «Нет сведений». d) Удалите запись, которая содержит информацию, путем ее повторной инициализации.
0
|
||||||
|
|
||
| 30.01.2020, 19:23 | ||
|
И как я говорил Выше допускать обрезание фамилии это тупо. Как в принципе и хранение данных в char с возвращением наружу std::string Если кратко: очередной студенческий гавнокод.
0
|
||
| 30.01.2020, 19:23 | |
|
Помогаю со студенческими работами здесь
17
Передача в функцию char*([Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]) Как из объекта String получить char* (НЕ const char*)
Подскажите, пожалуйста, как преобразовать данные из excel в string или в char*, char perm [] в visual c++ Преобразование между типами System::String, char*, wchar_t*, std::string и др. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|