|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
||||||
Необходимо исправить ошибки12.05.2010, 22:12. Показов 2689. Ответов 24
Метки нет (Все метки)
Задание следующее:
Необходимо написать программу идентификации кода, состоящего из трех букв латинского алфавита и двух цифр. Ограничения: буквы должны быть в алфавитном порядке. А также все сделать в графической иллюстрации. Вот такое задание. Я программирую в borland c++ v3.01 и только в нем. Помогите пожалуйста исправить ошибки, я уже замучался и не знаю как это сделать. Программа выглядит так:
0
|
||||||
| 12.05.2010, 22:12 | |
|
Ответы с готовыми решениями:
24
Необходимо исправить ошибки, связанные с неверным использованием прописных и строчных букв Найти ошибки в коде и исправить эти ошибки (Наследование) Найти ошибки в коде и исправить эти ошибки - C++ |
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
| 12.05.2010, 22:13 | |
|
Используйте теги кода. Сделайте правку.
0
|
|
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 12.05.2010, 22:34 [ТС] | |
|
что это значит?
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 13.05.2010, 15:00 | |
|
SanekSV, чтобы сделать форматирование кода, надо выделить весь текст кода и кликнуть на нужный язык в верхней части окна сообщения
1
|
|
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 13.05.2010, 23:30 [ТС] | |
|
И все же. Есть программа, но с ошибками, есть те, кто сможет в ней разобраться?
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
| 14.05.2010, 04:48 | |||||||||||
в каждом таком массиве на самом краю будет записан нуль-символ, за этим символом потом следят все функции - printf(), strcat() и тд, определяя по нему, где строка заканчивается то есть нуль-символ за край массива писать нельзя (а у тебя там такое происходит в цикле со strncpy() ) ещё strncpy() возвращает char * - то есть адрес, а ты его записываешь в b[i] - в символ ты адрес записываешь в символ
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 14.05.2010, 10:17 [ТС] | |
|
Мммм, мне уже рще. Но возникают сразу несколько воросов. Как выглядит этот массив с нуль-символом? И как в моем случае нужно перепраить strncpy()?
Добавлено через 39 секунд проще*
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 15.05.2010, 06:16 | ||||||
|
вот у тебя там string[i] = '\0', а i может быть равно 5, то есть получится string[5] = '\0' - это запись за край
в объявлении string char string[5]; а нужно, чтобы записи за край не было, char string[6];
Добавлено через 3 минуты а, не, i у тебя не может быть равно 5, так что с границей в цикле всё нормально но знай, что char string[5] расчитана на четыре символа, плюс нуль-символ (в неё можно и пять символов загнать, но тогда нельзя будет применять функции типа printf(), strcpy() и тд)
1
|
||||||
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
||||
| 15.05.2010, 15:54 [ТС] | ||||
|
можно тогда сросить на сколько равильны слудущие вещи?
мне интересно на сколько необходмо и правильно это: Добавлено через 25 минут а, и еще, как настроить указатели и переменные, чтобы strncpy() корректно работало?
0
|
||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 16.05.2010, 12:56 | ||||||
нужно адрес передавать, как для b[i] "0,1,2.." запятые обычно не используются для таких задач "012" &i - это побитовая бинарная операция, то есть не взятие адреса но надо помнить, что выполняется она после бинарных операций + и - 140+67&i сначала выполнится 67 & i, а потом 140 + что_получилось правильно или нет - сразу не скажешь неясна задача, вроде в задаче про распознавание, а что-то рисуется по strncpy() - тоже (а нужна ли она там вообще) Добавлено через 1 минуту вот про strncmp() в курсе, что то, что там написано, можно записать в виде if (b[i] == alf[count2])
1
|
||||||
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 16.05.2010, 14:01 [ТС] | |
|
а если стоит вопрос о том, нужно ли употреблять strncpy() или нет? как на него ответить? у меня в программе употреблена эта функция дя выделения символов кодав массив, чтобы в дальнейшем уже работать с массивом. Может есть аналог по проще?
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||
| 17.05.2010, 05:51 | |||||
2. Передать его в функцию проверки валидности. 3. Вывести сообщение о валидности. Функция проверки валидности 1. Проверить, что в коде сначала идут буквы, а потом цифры. 2. Проверить, что букв три, а цифр две. 3. Проверить что соседние буквы расположены в возрастающем порядке. значит для этого требуется isalnum(), isalpha(), isdigit() и strncmp() fgets() для ввода кода, printf() для вывода сообщений когда первая задача будет готова, можно будет подключать графику (причём не смешивать их)
0
|
|||||
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 17.05.2010, 08:24 [ТС] | |
|
блин конечно все здорово, но мне наверно тяжеловато сделать это(((((
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 17.05.2010, 10:40 | ||||||
|
проверяет валидность кода
Добавлено через 2 минуты понял да, что там две функции: одна проверяет правильность ввода, а другая - валидность кода хоть они и похожи, их нельзя смешивать
1
|
||||||
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 17.05.2010, 18:49 [ТС] | |
|
спасибо большое, это очень реальная помощь, графику я думаю сам подключу, она проблему думаю не составит. Могу ли я как-нибудь отблагодарить за такую помощь? Мне просто очень важна эта программа, поэтому так говорю)). Я бы и дальше хотел бы не терять общение с вами, просто настроен на изучении с++. Да и так, если какие вопросы будут появлятся.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 18.05.2010, 05:07 | |
|
там знаешь, вот это всё типа "Enter code" и тд, пока он не введён, всё надо вынести в функцию ввода, а потом, когда он введён, нужно поднять его в main() и передать функции проверки валидности, главное, что хочется сделать одну функцию и для проверки ввода, и для проверки валидности
на самом деле, стоит чему-нибудь измениться, и всё это поплывёт для разных задач - разные функции да ты уже отблагодарил, ничего не надо
0
|
|
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 18.05.2010, 08:53 [ТС] | |
|
а сейчас это работает не корректно что ли?
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 18.05.2010, 09:29 | ||
|
не, содержимое, которое должно быть в функции, находится в main()
Добавлено через 5 минут
0
|
||
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 31
|
|
| 18.05.2010, 16:05 [ТС] | |
|
то есть другими простыми словами разбить этот программный код на подпрограммы?
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 19.05.2010, 04:31 | |
|
вынести фрагмент ввода кода в отдельную функцию
main() должна выглядеть main { Read() CheckValid() PrintMessage() } ну, естественно, всё передаётся там в Read() подаётся массив, созданный в main(), после Read() он заполнен и подаётся в CheckValid(), а CheckValid() возвращает результат валидно/не валидно и этот результат подаётся в PrintMessage() а там сейчас содержимое Read() находится прямо в main() и содержимое PrintMessage() тоже а эти функции могут оказаться полезными, когда будешь графику приделывать кстати, CheckInput() должна вызываться из Read(), поэтому, если бы Read() была сделана, CheckInput() не было бы видно в main(), то есть она бы не мешалась там
1
|
|
| 19.05.2010, 04:31 | |
|
Помогаю со студенческими работами здесь
20
Найти ошибки в коде и исправить эти ошибки Необходимо исправить ошибки
Необходимо исправить ошибки в коде
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|