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

Пишем свой интерпретатор языка BASIC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Меню и список http://www.cyberforum.ru/cpp-beginners/thread41194.html
Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились: Введите элемент и номер. вот сам код: #ifndef __list_h #define __list_h #include <iostream>
C++ Здравствуйте! Не могу поместить class в один файл с программой. file.hpp #include "Cat.hpp" // здесь классы "2)" Cat::Cat(int initialAge) { itsAge = initialAge; } Cat::~Cat() { http://www.cyberforum.ru/cpp-beginners/thread41186.html
Массивы строк C++
Привет всем! Задан массив строк. Как узнать который символ встечаетса найбольшое количество раз в етом массиве?
C++ вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер
Please, help me!!! Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов. Проблема в том, что необходимо исправить код, чтоб фигуры не исчезали за экран (т.е. 640х460) и были компактным набором, т.е. двигались неменяя своего положения относительно друг друга и стукаясь об стенку экрана меняли свое...
C++ Округление дробного числа до целого в большую сторону. http://www.cyberforum.ru/cpp-beginners/thread41139.html
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) программа не округляет это число (в большую сторону) до 4. Перелопатил тонны литературы, но пропустил или не нашёл этого, большая просьба написать функцию которая могла бы это делать, или способ какой.
C++ Код из Delphi в C++ Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; var d:array of longint; procedure c; var a,b,i:longint; подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17471 / 5709 / 363
Регистрация: 30.03.2009
Сообщений: 15,677
Записей в блоге: 26
19.08.2009, 23:03     Пишем свой интерпретатор языка BASIC
Цитата Сообщение от #pragma Посмотреть сообщение
Насчёт wrong definition,скорее всего ты скопипастил код прямо из сайта,я уже писал,что названия типов должны быть маленькими буквами,это движок сайта меняет на большие,я уже задумываюсь о том,чтобы сменить с int на INT.
Точно. Совсем забыл. Надо будет потом тряхануть народ на предмет этого. Подозреваю, что бэйсику должно быть до фонара INT, int или InT

Цитата Сообщение от #pragma Посмотреть сообщение
Насчёт 3-х пробелов - это я подглядел в где-то в исходниках GNU,и мне понравилось,потому как в той IDE,где я работаю,folding находится очень близко к краю,и часто код закрывается случайно.Ещё причина,почему это показалось удобным-так лучше видно препроцессорные команды из общей массы.То есть это не религиозное что-то,причина есть
Не помню, у кого вычитал. Не важно какой стиль, важно лишь, чтобы всегда делал одинаково.

Цитата Сообщение от #pragma Посмотреть сообщение
Насчёт выражений в PRINT-так и было задумано,выражения только в LET
Нелогично

Цитата Сообщение от #pragma Посмотреть сообщение
Я начал что-то ваять с промежуточным кодом,пока только интерфейс tree.h - идёт туговато )
А что туго? Может опять начать с простых вещей (считать, что у нас есть только LET и PRINT)? И зачем tree.h? Выражения уже сами по своей структуре являются деревоподобными. Statement'ы будут в виде списка. Как-то деревья как некое универсальное понятие особо и не нужно

Добавлено через 4 минуты 59 секунд
С заменой INT'а на int заработало. При вводе когда нажал Ctrl^D (т.е. фактически конец ввода), прога ушла в бесконечный цикл и начала срать на экран, потом терминал завис

Добавлено через 1 минуту 42 секунды
Для такого кода напечаталось 0. ОШибка

PureBasic
1
2
3
DIM int a;
LET a = 6 * 5 / 11;
PRINT a
Добавлено через 13 минут 32 секунды
Я кстати понял причину этой ошибки. Текст спрячу. Если интересно - попробуй для начала сам разобраться

qqq
То, как у тебя построена процедура syntax_parserTerm даёт эффект, что операции начинают считаться справа налево, хотя должны слева направо. 5 * 6 / 11 должно считаться как "(5*6)/11" а у тебя считается как "5*(6/11)" - почитай внимательно формальное описание синтаксиса в посте #29
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru