Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lifendur_27
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 4
#1

Программа должна определять корректность вводимой структуры - C++

12.01.2014, 20:29. Просмотров 368. Ответов 10
Метки нет (Все метки)

суть такова: вы вводите в консоль код, описывающий структуру. программа должна проверить есть ли ето структурой.

Добавлено через 51 секунду
у меня только две идеи. первая - на пролом. т.е. проверять каждую лексему, пересмотреть все способы создания структуры. вторая более адекватная - создаем файл .h, туда пихаем строчку "void func{" , потом вводим наш код с клавиатуры, добавляем '}'. инклудим файл. в блоке try вызываем функцию. пока ничего толкового не выходит. не получается try-cach поймать exception...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 20:29     Программа должна определять корректность вводимой структуры
Посмотрите здесь:

Программа должна сохранять данный в файле C++
C++ Программа должна определить длину введенной строки
программа должна выводить день недели. C++
for,while,do while (программа должна сообщить кол-во введенных слов) C++
C++ Программа, которая по паролю будет определять уровень доступа сотрудника к секретной информации в базе данных
Программа проверяет корректность ввода данных C++
C++ Программа должна включаться в 19:00 выключаться в 21:00
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,999
12.01.2014, 20:32     Программа должна определять корректность вводимой структуры #2
Цитата Сообщение от Lifendur_27 Посмотреть сообщение
программа должна проверить есть ли ето структурой.
Нормальный такой русский язык...
Lifendur_27
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 4
12.01.2014, 20:34  [ТС]     Программа должна определять корректность вводимой структуры #3
щито поделать( звиняйте, я украинец.
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,999
12.01.2014, 20:36     Программа должна определять корректность вводимой структуры #4
В общем, я не понял что конктретно нужно проверить - синтаксическую ли корректность кода или что, но обработки исключений это явно никак не касается.
Lifendur_27
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 4
12.01.2014, 20:38  [ТС]     Программа должна определять корректность вводимой структуры #5
да, синтаксис. есть другие идеи?
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,999
12.01.2014, 20:41     Программа должна определять корректность вводимой структуры #6
Составлять грамматику, писать лексический и синтаксический анализатор, или поискать готовые. Вроде были интерпретаторы С++, можно попробовать поискать и заиспользовать - вдруг прокатит.
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
12.01.2014, 20:48     Программа должна определять корректность вводимой структуры #7
Цитата Сообщение от Lifendur_27 Посмотреть сообщение
создаем файл .h, туда пихаем
Вполне оригинальная идея, но в .h я бы не советовал
Лучше считать стандартный ввод, вывести его в файл *.срр, добавив в конец int main(){} и через system("cc filename.cpp") вызвать компилятор для того файла. По коду возврата функции system() определить уже - имела место ошибка в синтаксисе, или не имела.
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,999
12.01.2014, 20:50     Программа должна определять корректность вводимой структуры #8
gromo, ну это же сразу накладывает ограничения: чтобы в системе был компилятор, чтобы он либо лежал по указанному полному пути, либо путь был в PATH, так нифига не интересно)
Kastaneda
Форумчанин
Эксперт С++
4261 / 2793 / 219
Регистрация: 12.12.2009
Сообщений: 7,122
Записей в блоге: 1
Завершенные тесты: 1
12.01.2014, 20:51     Программа должна определять корректность вводимой структуры #9
Цитата Сообщение от gromo Посмотреть сообщение
Лучше считать стандартный ввод, вывести его в файл *.срр, добавив в конец int main(){} и через system("cc filename.cpp") вызвать компилятор для того файла. По коду возврата функции system() определить уже - имела место ошибка в синтаксисе, или не имела.
а если будет введено "int i;", компиляция без ошибок, значит это структура?
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
12.01.2014, 21:05     Программа должна определять корректность вводимой структуры #10
Цитата Сообщение от 0x10 Посмотреть сообщение
ну это же сразу накладывает ограничения: чтобы в системе был компилятор, чтобы он либо лежал по указанному полному пути, либо путь был в PATH, так нифига не интересно)
Как же плохо, когда система не POSIX-совместима. Ни тебе setenv(), ни putenv(), ни компилятора по-умолчанию. (Не будем показывать пальцами на Windows )

Добавлено через 3 минуты
Цитата Сообщение от Kastaneda Посмотреть сообщение
а если будет введено "int i;", компиляция без ошибок, значит это структура?
Поспешил немного) Тогда можно проверить, есть ли слово struct в вводе (ну и еще пару нюансов). Все же легче, чем синтаксический анализ вручную
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2014, 00:22     Программа должна определять корректность вводимой структуры
Еще ссылки по теме:

C++ Определять тип вводимой переменной (char или int)
Программа, которая бы позволяла по заданному году и порядковому номеру дня в году определять день недели C++
C++ Распарсить ввод структуры, проверить на корректность
программа должна вывести текущую дату C++
C++ Программа обработки прерывания от клавиатуры должна:

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Lifendur_27
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 4
13.01.2014, 00:22  [ТС]     Программа должна определять корректность вводимой структуры #11
Добавлено через 1 час 27 минут
такс.. я тут наковырял кое что.
C++
1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
#include<fstream>
 
using namespace std;
 
void main(){
    ofstream obj1("file1.cpp");
    obj1<<"void main(){}";
    obj1.close();
    system("cl /EHsc file1.cpp");
}
но оно отказывается нормально компилить то что в file1.cpp, "не хочет" подключать библиотеки и выдает ошибку cannot open file LIBCMT.lib постоянно.
Yandex
Объявления
13.01.2014, 00:22     Программа должна определять корректность вводимой структуры
Ответ Создать тему
Опции темы

Текущее время: 22:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru