Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Меню и список Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились: Введите элемент и номер. вот сам код: #ifndef __list_h #define __list_h #include <iostream> https://www.cyberforum.ru/ cpp-beginners/ thread41194.html C++ Здравствуйте! Не могу поместить class в один файл с программой. file.hpp
#include "Cat.hpp" // здесь классы "2)" Cat::Cat(int initialAge) { itsAge = initialAge; } Cat::~Cat() {
C++ Массивы строк https://www.cyberforum.ru/ cpp-beginners/ thread41179.html
Привет всем! Задан массив строк. Как узнать который символ встечаетса найбольшое количество раз в етом массиве?
C++ вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер Please, help me!!! Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов. Проблема в том, что необходимо исправить код, чтоб фигуры не исчезали за экран (т.е. 640х460) и были компактным набором, т.е. двигались неменяя своего положения относительно друг друга и стукаясь об стенку экрана меняли свое... https://www.cyberforum.ru/ cpp-beginners/ thread41152.html
Округление дробного числа до целого в большую сторону. C++
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) программа не округляет это число (в большую сторону) до 4. Перелопатил тонны литературы, но пропустил или не нашёл этого, большая просьба написать функцию которая могла бы это делать, или способ какой.
C++ Код из Delphi в C++ https://www.cyberforum.ru/ cpp-beginners/ thread41137.html
Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; var d:array of longint; procedure c; var a,b,i:longint;
C++ массив структур и функции https://www.cyberforum.ru/ cpp-beginners/ thread41103.html
Разработать модель прайс-листов по комплектующим. Каждую единицу оборудования должна описывать соответствующая структура (например, структура, описывающая видеокарты или мониторы), объект которой может входить в прайс-лист. Соответственно, прайс-лист - это массив структур, каждая из которых хранит один из вариантов оборудования и его цену. Написать функции для создания, удаления,...
C++ Таймер не работает в Turbo C++
Реализовал таймер в Visual C++. #include "stdafx.h" #include <iostream.h> #include <conio.h> #include <time.h> #include <stdio.h> #include <stdlib.h> const int N=100000000;
C++ не могу завершить код :( https://www.cyberforum.ru/ cpp-beginners/ thread41093.html
он меняет 1 слово из фаила example.txt затем создоёт vasea-out.txt с уже изменёным текстом.. но он меняет только 1 слово.. как сделать чтобы он менял болише слов к приемру в example.txt написано "Вася хороший мальчик" водим "Вася хороший" затем водим "Жора плохой" и получаем в vase-out.txt "Жора плохой мальчик" за ранее спасибо #include <iostream> #include <fstream>
C++ MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? Не хочу, чтобы выдавались конкретные варнинги, относящиеся к определённым областям заданных файлов. Как это сделать. Про "Warning Level" в насторйках студии я в курсе. Но мне нужно подавить варнинг с конкретным номером (К примеру C4244). И только в определённых местах заданных файлов. В том числе в системных файлах библиотек компилятора. Можно это как либо сделать? https://www.cyberforum.ru/ cpp-beginners/ thread41092.html
Последний метод итераций C++
Здравсвуйте программисты! Спасибо за ответы на предыдущие посты. Осталось решить методом итераций систему уравнений. Вчера Сазари мне подсказал как делать методом Зейделя, осталось методом итераций. Вот попробывал собрать код методом итераций, но дело в том,что результат системы уравнений равен по -1, все 4 уравнения, подскжаите пожалуйста где в данном коде мождет быть проблемма. Загвоздка в...
C++ не переводит из string в char* помогите пожалуйста задание: операции со строками с использованием шаблона string #include <algorithm> #include <iostream> #include <string> #include <conio.h> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread41080.html
Evg
Эксперт CАвтор FAQ
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.10.2009, 11:11 0

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

10.10.2009, 11:11. Показов 244672. Ответов 464
Метки (Все метки)

Ответ

Цитата Сообщение от #pragma Посмотреть сообщение
Интересует вариант создания отдельного пакета к программе
Ну... в твоём случае под линухом, например, это можно было бы сделать в виде отдельной динамической библиотеки *.so. Под виндами это будет *.dll. Но для начала сделай, чтобы хотябы на одной платформе заработало. Или как вариант, сначала попробуй без графики под винду пернести. И ещё как вариант постоянно проверять под линухом и виндой

Добавлено через 37 минут
По поводу трассировки. Возьмём, например, программу (WHILE я по-человечески ещё не переделал, а потому он в дебильном синтаксисе)

PureBasic
1
2
3
4
5
6
7
8
9
10
DIM A(4)
LET I=1
WHILE I<4 DO
  IF I+1 < 5-I THEN
    LET A(I)=1
  ELSE
    LET A(I)=2
  END IF
  LET I=I+1
END_WHILE
Далее запускаю с опцией трассировки записи в переменные

Код
$ ./interp -w
TRACE: a.txt:2 WRITE I = 1
TRACE: a.txt:5 WRITE A(1) = 1
TRACE: a.txt:9 WRITE I = 2
TRACE: a.txt:7 WRITE A(2) = 2
TRACE: a.txt:9 WRITE I = 3
TRACE: a.txt:7 WRITE A(3) = 2
TRACE: a.txt:9 WRITE I = 4
По этой трассировке чётко видно, что проинициализированы только три элемента массива, а не 4, как хотелось бы. Ну и когда выясняешь, что в каком-то фрагменте кода переменная имеет не то значение, которое ожидалось, то по такой трассировке это можно легко найти. В качестве вариантов это можно дополнить фичами типа отслеживать печать только в какую-то конкретную переменную и т.д.

Трассировка исполнения

Код
$ ./interp -e
TRACE: a.txt:11 EXEC LET
TRACE: a.txt:2 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:4 EXEC LABEL
TRACE: a.txt:4 EXEC LET
TRACE: a.txt:5 EXEC BRANCH
TRACE: a.txt:6 EXEC LABEL
TRACE: a.txt:8 EXEC LET
TRACE: a.txt:9 EXEC BRANCH
TRACE: a.txt:10 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:4 EXEC LABEL
TRACE: a.txt:6 EXEC LET
TRACE: a.txt:7 EXEC LABEL
TRACE: a.txt:8 EXEC LET
TRACE: a.txt:9 EXEC BRANCH
TRACE: a.txt:10 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:4 EXEC LABEL
TRACE: a.txt:6 EXEC LET
TRACE: a.txt:7 EXEC LABEL
TRACE: a.txt:8 EXEC LET
TRACE: a.txt:9 EXEC BRANCH
TRACE: a.txt:10 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL
В данном случае какой-то особенно пользы нет, т.к. трассировка записей однозначно вскрыло проблему и оказалось более наглядной. Но в случае каких нибудь сложных ветвлений, внутри которых вызываются какие-то прочие функции (типа отрисовки линий и окружностей) и при этом нет никаких записей, то трассировка исполнения может помочь увидеть "снимок" того, как отработала задача. Сейчас печатается имя statementa (того, который на уровне промежуточного представления). Для пользователя это неудобно, удобнее, когда печатается имя того оператора, который написан в исходнике - т.е. чтобы вместо CBRANCH и BRANCH печаталось "WHILE" и "WEND" и.т.п. Пока что-то лениво этим заморачиваться

Ну и как вариант комбинация этих двух трассировок

Код
$ ./interp -w -e
TRACE: a.txt:11 EXEC LET
TRACE: a.txt:2 WRITE I = 1
TRACE: a.txt:2 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:4 EXEC LABEL
TRACE: a.txt:4 EXEC LET
TRACE: a.txt:5 WRITE A(1) = 1
TRACE: a.txt:5 EXEC BRANCH
TRACE: a.txt:6 EXEC LABEL
TRACE: a.txt:8 EXEC LET
TRACE: a.txt:9 WRITE I = 2
TRACE: a.txt:9 EXEC BRANCH
TRACE: a.txt:10 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:4 EXEC LABEL
TRACE: a.txt:6 EXEC LET
TRACE: a.txt:7 WRITE A(2) = 2
TRACE: a.txt:7 EXEC LABEL
TRACE: a.txt:8 EXEC LET
TRACE: a.txt:9 WRITE I = 3
TRACE: a.txt:9 EXEC BRANCH
TRACE: a.txt:10 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:4 EXEC LABEL
TRACE: a.txt:6 EXEC LET
TRACE: a.txt:7 WRITE A(3) = 2
TRACE: a.txt:7 EXEC LABEL
TRACE: a.txt:8 EXEC LET
TRACE: a.txt:9 WRITE I = 4
TRACE: a.txt:9 EXEC BRANCH
TRACE: a.txt:10 EXEC LABEL
TRACE: a.txt:3 EXEC CBRANCH
TRACE: a.txt:3 EXEC LABEL


Вернуться к обсуждению:
Пишем свой интерпретатор языка BASIC C++
1
Заказать работу у эксперта
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2009, 11:11
Готовые ответы и решения:

Пишем свой интерпретатор языка BASIC
Добрый день. Я смотрю, тут на форуме была тема коллективного написания интерпретатора BASIC на...

Пишем свой strlen
Всем привет, вырвал часть задание из общего задание по написанию своего string. На данном этапе...

Пишем свой чекер
Я хочу написать свой чекер, но не знаю с чего начать? Кто знает основные принцип работы чекеров...

пишем свой троян с нуля
Всем привет)))соглашусь, что изобретаю велосипед, но хочется сделать все своими ручками не прибегая...

464
10.10.2009, 11:11
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2009, 11:11
Помогаю со студенческими работами здесь

Пишем свой класс, спецификатор доступа protected
Всем привет! Из книги Р. Лафоре относительно спецификатора доступа protected: Далее пишется...

Интерпретатор небольшого языка программирования на С++
Здравствуйте, уважаемые форумчане! Я тут где-то год назад прочитал тему Evg и #pragma о создании...

Не удается откомпилировать интерпретатор М-языка
Задача: взять интерпретатор М-языка на сайте...

Интерпретатор музыки стандарта BASIC PLAY на С++
У кого нибудь есть функция или класс, который сможет воспроизводить в С++ напрямую музыкальные...

Написать интерпретатор программного языка -помощь
Здраствуйте! Ребят, кто хорошо разбирается в C++ помогите пожалуйста с реализацией данного задания...

Интерпретатор/компилятор ассемблер-подобного языка
Привет! Чую, что изобрёл велисипед, даже скорее велопарк, но всё же, поделюсь: Некоторое время...

0
Новые блоги и статьи
Как работают замыкания (closure) в JavaScript
InfoMaster 19.01.2025
В мире современной веб-разработки замыкания (closures) представляют собой один из фундаментальных концептов языка JavaScript, который часто вызывает затруднения у начинающих разработчиков, но при. . .
Как в Linux найти все файлы, содержащие указанную строку
InfoMaster 19.01.2025
Операционная система Linux предоставляет мощный набор инструментов для поиска текста в файлах, каждый из которых имеет свои уникальные возможности и особенности применения. Центральное место среди. . .
Как поменять сообщение коммита в Git
InfoMaster 19.01.2025
Правильно оформленные сообщения коммитов существенно упрощают процесс разработки, особенно при работе в команде или при необходимости вернуться к более ранним версиям проекта. Каждое сообщение. . .
Как лучше объявлять функции в JavaScript: var functionName = function() {} или function functionName() {}
InfoMaster 19.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль, предоставляя разработчикам мощные инструменты для создания динамических и интерактивных веб-приложений. Одним из фундаментальных. . .
Как сделать редирект на другую веб-страницу
InfoMaster 19.01.2025
В современной веб-разработке редирект является неотъемлемым инструментом для управления навигацией пользователей между страницами сайта. Перенаправление представляет собой автоматическое перемещение. . .
Что такое хорошо и что такое плохо, вид сбоку. Индивид и общество - грань не нарушения.
Hrethgir 18.01.2025
В моей личной жизни и времени, я рассуждаю категорией "хуже-лучше", в том плане, когда меня спросили например - "а зачем ты делаешь свой процессор?", то я ответил - "чтобы сделать свою жизнь лучше". . .
Передача по ссылке или по значению в Java?
InfoMaster 18.01.2025
В мире программирования на Java одним из ключевых аспектов, требующих глубокого понимания, является механизм передачи параметров в методы. Этот фундаментальный концепт часто становится источником. . .
Тернарный условный оператор в Python
InfoMaster 18.01.2025
В мире программирования существует множество инструментов и конструкций, позволяющих создавать эффективный и лаконичный код. Одним из таких инструментов является тернарный условный оператор, который. . .
Как удалить неотслеживаемые файлы из рабочего дерева Git
InfoMaster 18.01.2025
В процессе разработки программного обеспечения с использованием системы контроля версий Git часто возникает необходимость в управлении неотслеживаемыми файлами. Неотслеживаемые файлы (untracked. . .
Что делает код if __name__ == "__main__": в Python
InfoMaster 18.01.2025
В мире программирования на Python существует множество важных концепций, и одной из наиболее интересных является конструкция if __name__ == "__main__". Эта специальная конструкция играет ключевую. . .
Как заставить Git забыть об отслеживаемом файле, добавленном в .gitignore
InfoMaster 18.01.2025
В мире разработки программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, позволяя эффективно отслеживать изменения в коде и управлять ими. Однако. . .
Что означает use strict в JavaScript и для чего используется
InfoMaster 18.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль как один из основных языков программирования. По мере его эволюции возникла необходимость в механизмах, которые помогли бы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru