С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Корректный код под C++ - C++

11.03.2014, 20:29. Просмотров 392. Ответов 7
Метки нет (Все метки)

Господамы, недавно начал изучать C++ И в одном из задачников столкнулся со следующим заданием, необходимо написать старую запоминалку про фазана где каждое слово будет начинаться с новой строки и каждое новое слово будет обозначаться соответствующем цветом радуги, используя рекомендации из того же задачника добавив к ним обновленные знания о C++ получил я следующий код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <conio.h>
using namespace std;
 
void main(){
    setlocale (LC_CTYPE, "Russian");
    clrscr();
    textcolor (RED);
    cprintf ("Каждый \n\r");
    textcolor (ORANGE);
    cprintf ("Охотник \n\r");
    textcolor (YELLOW);
    cprintf ("Желает \n\r");
    textcolor (GREEN);
    cprintf("Знать \n\r");
    textcolor (LIGHTBLUE);
    cprintf("Где \n\r");
    textcolor (BLUE);
    cprintf ("Сидит \n\r");
    textcolor (MAGENTA);
    cprintf ("Фазан \n\r");
 
    system("pause");
    return 0;
}
И тут стало очевидно что conio.h категорически не хочет работать, из-за чего компилятор в Microsoft visual studio выдал мне кучу ошибок на тему
1>.\main.cpp(7) : error C3861: clrscr: идентификатор не найден
1>.\main.cpp(8) : error C2065: RED: необъявленный идентификатор
1>.\main.cpp(8) : error C3861: textcolor: идентификатор не найден
1>.\main.cpp(9) : error C3861: cprintf: идентификатор не найден
И тд, собственно, вопрос!
Как изменить код так, чтобы максимально правильно усвоить полученные знания, то есть сделать код наиболее приближенным к тому что сделал я, но все-таки работающим в 2014 году)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 20:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Корректный код под C++ (C++):

Переделать код под c++ - C++
Есть код Pascal, нужно его переделать под c++. Но поскольку в этом не особо разбираюсь прошу у вас помощи. Заранее благодарен. Спасибо за...

Код под видеокарты - C++
:popcorn:Хотелось бы покодить под видюхи, запустить тот же хеллоу воролд, то есть, &quot;нагрузку&quot; с ЦП сбросить в видео карту. Как загуглить?...

Разработка компилятора на C++ под код с++ - C++
Ребята мне нужно создать компилятор по виду как программа в которую пишешь с++ код и выбираешь ОС (Windows, MS-DOS, Linux и тд.), а сам...

Переделать код под указатели - C++
Помогите пожалуйста переделать под указатели int main() { int i,dlina1=0; char txt; cout &lt;&lt; &quot;Vvedite vash text: &quot;; ...

Переделайте код под Visual - C++
Переделайте под Microsoft Visual Studio пожалуйста, буду очень благодарен. #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt;...

Переделать код под стандарт C++98 - C++
с++ переделать код под стандарт с++98 #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;tuple&gt; #include &lt;cmath&gt; typedef...

7
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
11.03.2014, 20:48 #2
На MVS пишите? вот тут не все так просто. Вот пример:
Цветные символы в консоли.
1
DrOffset
7377 / 4454 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
11.03.2014, 20:54 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
El_cucumber, под windows можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <cstdio>
#include <clocale>
#include <windows.h>
 
void clrscr(HANDLE console);
 
enum
{
    RED       = FOREGROUND_RED | FOREGROUND_INTENSITY
  , ORANGE    = FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY
  , YELLOW    = FOREGROUND_GREEN | FOREGROUND_RED
  , GREEN     = FOREGROUND_GREEN | FOREGROUND_INTENSITY
  , LIGHTBLUE = FOREGROUND_BLUE | FOREGROUND_INTENSITY | FOREGROUND_GREEN
  , BLUE      = FOREGROUND_BLUE | FOREGROUND_INTENSITY | FOREGROUND_BLUE
  , MAGENTA   = FOREGROUND_BLUE | FOREGROUND_INTENSITY | FOREGROUND_RED
};
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
    HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
 
    clrscr(console);
 
    SetConsoleTextAttribute(console, RED);
    printf("Каждый \n\r");
    SetConsoleTextAttribute(console, ORANGE);
    printf("Охотник \n\r");
    SetConsoleTextAttribute(console, YELLOW);
    printf("Желает \n\r");
    SetConsoleTextAttribute(console, GREEN);
    printf("Знать \n\r");
    SetConsoleTextAttribute(console, LIGHTBLUE);
    printf("Где \n\r");
    SetConsoleTextAttribute(console, BLUE);
    printf("Сидит \n\r");
    SetConsoleTextAttribute(console, MAGENTA);
    printf("Фазан \n\r");
    SetConsoleTextAttribute(console, FOREGROUND_INTENSITY);
 
    system("pause");
    return 0;
}
 
void clrscr(HANDLE console)
{
    COORD topLeft  = { 0, 0 };
    CONSOLE_SCREEN_BUFFER_INFO screen;
    DWORD written;
 
    GetConsoleScreenBufferInfo(console, &screen);
    FillConsoleOutputCharacterA(
        console, ' ', screen.dwSize.X * screen.dwSize.Y, topLeft, &written
    );
    FillConsoleOutputAttribute(
        console, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE,
        screen.dwSize.X * screen.dwSize.Y, topLeft, &written
    );
    SetConsoleCursorPosition(console, topLeft);
}
1
El_cucumber
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 21:12  [ТС] #4
Мне казалось что C++ был создан как оптимизированный и во многом упрощенный C
0
Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 59
Завершенные тесты: 1
11.03.2014, 21:20 #5
оффтоп
Кликните здесь для просмотра всего текста
К консоли это не распространяется
0
DrOffset
7377 / 4454 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
11.03.2014, 21:28 #6
Цитата Сообщение от El_cucumber Посмотреть сообщение
Мне казалось что C++ был создан как оптимизированный и во многом упрощенный C
Упрощенный С? С++ так то гораздо сложнее, чем С. В добавок данный пример практически идентично будет выглядеть на С, почти 1 в 1.

Но в любом случае судить по использованию библиотек о языке крайне некорректно. Это просто пример рисования цветом на конкретной платформе (windows), с использованием конкретных средств (win api). На другой платформе данное действие выглядело бы по-другому. Важно понимать, что рисование цветом - это системный инструментарий, который отличается о системы к системе. А язык везде одинаковый.
0
El_cucumber
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 21:38  [ТС] #7
А код который я в шапке указал для какой системы/IDE Будет корректен? Согласно учебнику 13-ого года, он по-идее правильный, но вот что интересно, на какую систему и среду он рассчитан нигде не указано))
0
DrOffset
7377 / 4454 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
11.03.2014, 21:49 #8
El_cucumber, скорее всего это DOS и IDE Borland C++ 3.x.
Функция cprintf еще есть в POSIX, только смысл у нее не тот, что в твоем примере.
0
11.03.2014, 21:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 21:49
Привет! Вот еще темы с ответами:

Класс под клиентский код - C++
Нужно написать класс под клиентский код, возникло пару вопросов. Number a, b(1), c(1./3), d(a); if (a == d) cout &lt;&lt; a &lt;&lt; *d; ...

Корректный выход - C++
Доброго времени суток! Пытаюсь разобраться с fork(), а точнее с корректным выходом из fork'нутого процесса. Есть стандартный код работы с...

Не корректный вывод - C++
Всем привет. Столкнулся с такой проблемой, что при пробеге цикла первый раз пробегает впустую без возможности ввода, а дальше всё работает...

Переделать код под Visual studio, С++ - C++
Как переделать код под visual studio 2013 или хотя бы сказать работает ли она на visual studio 2012? #include &quot;argz.h&quot; int main() ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.