Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Duke Shadow

Цитата:
setlocale(LC_ALL, "rus_rus.866");  


Цитата:
А это точно под виндой работает?

пока работало.
 

Цитата:
LC_ALL - это уже что-то из мира Юникс

это всего лишь константа, определенная в locale.h
 

Цитата:
 Причём, правильнее будет, кажется, "ru_RU.866"?!

msdn с тобой не согласен.

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 16:00 11-03-2005
Mister_47

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
у меня не отображаются русские буквы в скомпилированных программах, а вместо них кряказяблы  
как это решить?

Лично я с этой проблемой расправляюсь так:
 
#include <iostream.h>
#include <windows.h>
 
 
char* rus_str(char* str)
{  
static char buf[10][256];
static int idx = 0;
idx++;
if ( idx == 10 )
idx = 0;
CharToOem(str, buf[idx]);
return buf[idx];
}
 
Далее к каждой строке дописываем rus_str:
 
cout << rus_str(" Введите произвольную букву: ");
 
Сейчас я только начал изучать Си++ и в дальнейшем я хотел бы писать (ни один конечно, в команде) компьютерные игры. Какую книгу выбрать? Тут было озвучено много всяких книг, но какую из них выбрать, чтобы достичь моей цели на сколько - нибудь процентов?

Всего записей: 87 | Зарегистр. 09-02-2005 | Отправлено: 16:26 12-03-2005
Function

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mister_47

Цитата:
Сейчас я только начал изучать Си++ и в дальнейшем я хотел бы писать (ни один конечно, в команде) компьютерные игры. Какую книгу выбрать? Тут было озвучено много всяких книг, но какую из них выбрать, чтобы достичь моей цели на сколько - нибудь процентов?

Шилдт "Полный справочник по С++" (издательство Вильямс).
Если мне кто-то скажет, что кто-то очень хорошо умеет программировать и очень хорошо знает язык С++, то я не поверю, потому что интеллект у любого человека не бесконечен.
 
Добавлено:
Mister_47
Если врач поставил диагноз дебилизм.Как мне.Не расстраивайся.Почитай книгу Дейтел "Как программировать на С++".Будешь знать язык отлично. (Тут шутка).

Всего записей: 112 | Зарегистр. 31-01-2005 | Отправлено: 20:15 12-03-2005
Duke Shadow



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
distance
Спасибо.

----------
Тот, кто умеет - делает, кто не умеет - учит(с)Б. Шоу
Войны никого не могут сделать великим(с)магистр Йода
Аватар(c)MindDiver

Всего записей: 3921 | Зарегистр. 15-02-2003 | Отправлено: 13:02 13-03-2005
IXaosI



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mister_47

Цитата:
#include <iostream.h>  
#include <windows.h>  
 
 
char* rus_str(char* str)  
{  
static char buf[10][256];  
static int idx = 0;  
idx++;  
if ( idx == 10 )  
idx = 0;  
CharToOem(str, buf[idx]);  
return buf[idx];  
}  
 
Далее к каждой строке дописываем rus_str:  
 
cout << rus_str(" Введите произвольную букву: ");

 
А по-проще ничего не мона придумать???
 
Добавлено:
Можна же типа....
#include <iostream.h>
#include <windows.h>
 
char bufRus[256];
char* Rus(const char* text)
{
CharToOem(text, bufRus);
return bufRus;
}
int main()
{
int i;
cout <<Rus("Привет");
cin >>i;
return 0;
}
 
насчет cin >>i; как сделать, что бы после выполнении программы не закрывался консоль?

----------
Надо поднять глаза, что бы увидеть высь. Мир в наших руках - просто оглянись... Оглянись и очнись.

Всего записей: 630 | Зарегистр. 31-07-2004 | Отправлено: 20:24 14-03-2005 | Исправлено: IXaosI, 21:49 14-03-2005
distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IXaosI

Цитата:
А по-проще ничего не мона придумать???  
 
Добавлено:  
Можна же типа....  
#include <iostream.h>  
#include <windows.h>  
 
char bufRus[256];  
char* Rus(const char* text)  
{  
CharToOem(text, bufRus);  
return bufRus;  
}  
int main()  
{  
int i;  
cout <<Rus("Привет");  
cin >>i;  
return 0;  
}

 
а теперь внимание - сюрприз:
угадай, что будет выведено на консоль в твоем варианте?
 
cout << Rus("Привет") << Rus("Еще раз привет") << endl;
 

 

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 19:10 15-03-2005
IXaosI



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
<< Rus("Еще раз привет")  

Выдаст символы, это я в книге читал...
Ну дык еще раз потоком воспользуйся...
 
И я просто спросил, я же почти ничего не знаю в С++...

----------
Надо поднять глаза, что бы увидеть высь. Мир в наших руках - просто оглянись... Оглянись и очнись.

Всего записей: 630 | Зарегистр. 31-07-2004 | Отправлено: 20:03 15-03-2005
smmax2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Изучаю Visual Basic 6 из комплекта Visual Studio, написал себе удобную прикладную програмку, основанную на работе с базой данных. Проблема в том что не могу написать код для принтера, который выводил бы на печать весь DBGrid, а не одну ячейку. Изучаю по самоучителю,но там ничего об этом нет, а описаны только выводы отчётов через Data Report, но описаны скудно и непонятно.Можете ли чем нибудь помочь, в MSDN тоже не нашёл ничего подходящего.

Всего записей: 10 | Зарегистр. 02-11-2004 | Отправлено: 04:28 18-03-2005
Tartrout



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
smmax2
 
У дбгрида есть же hwnd. Чем тебе не способ печати?

Всего записей: 316 | Зарегистр. 24-07-2002 | Отправлено: 12:15 18-03-2005
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tartrout

Цитата:
У дбгрида есть же hwnd. Чем тебе не способ печати

Ну и чем?

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 23:08 18-03-2005
WWWovan



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые есть где-то Система справок по C++Builder Архангельского (не демо-версия)...а то ищу ищу и ничего...А платить не хо....

Всего записей: 578 | Зарегистр. 15-11-2003 | Отправлено: 16:15 23-03-2005
Dogmatek

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня не компилируется программа   (т.к. это самый примитив в области программирования решил задать этот вопрос в этой теме) в Borland C++Builder 6:
# include <iostream.h>
main()
{
puts("Добро пожаловать в наш Опросник.\n");
question();
puts("Благодарим за участие.\n");
return(0);
}
question()
{
int move_on;
puts("Скажите название графического \ интерфейса фирмы Microsoft.\n");
puts("Для получения правильного ответа \нажмите Enter.\n");
move_on = getchar();
answer();
return(0);
}
answer()
{
puts("Правильный ответ - Windows.\n");
return(0);
 
 
ошибка прописания адреса второй функции question() в main()
Эта функция была написана в учебнике  А. Нейбауэр. "Моя первая программа на C/C++".и должна по идее работать, но она как и многие другие не работают.

Всего записей: 44 | Зарегистр. 25-01-2005 | Отправлено: 14:25 02-04-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dogmatek

Цитата:
ошибка прописания адреса
- это компилятор так ругается?
А чтобы работало необходимо скорее всего перенести определение функций question() и answer() выше main(). Иначе откуда компилятор может узнать их. Или другим каким то способом указать компилятору на их наличие. Например прототипы. Запомни С это не Паскаль. Здесь под каждый компилятор есть свои маленькие "особенности". И то что точно работает для одного не объязательно будет работать под другим.
Цитата:
учебнике  А. Нейбауэр

он под Билдер россчитан?

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 14:40 02-04-2005
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dogmatek
Какя ошибка?

Код:
 
#include <iostream.h>
 
int question();
int answer();
 
main()
{
  cout << "Добро пожаловать в наш Опросник.\n";
  question();
  cout << "Благодарим за участие.\n";
  return(0);
}
int question()
{
  cout << "Скажите название графического \ интерфейса фирмы Microsoft.\n";
  cout << "Для получения правильного ответа \нажмите Enter.\n";
 
  cin.get();
  answer();
  return(0);
}
 
int answer()
{
  cout << "Правильный ответ - Windows.\n";
  return(0);  
}
 

Работает?

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 14:40 02-04-2005
Dogmatek

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за помощь, а то в литературе не мог найти объяснения этому.
все теперь работает.
А учебник  А. Нейбауэр видимо не расчитан под билдер

Всего записей: 44 | Зарегистр. 25-01-2005 | Отправлено: 15:20 02-04-2005
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dogmatek

Цитата:
А учебник  А. Нейбауэр видимо не расчитан под билдер  

Это не билдер - это стандарт.

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 15:23 02-04-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KADABRA
не один из известных мне С-языков на 100% не соответствует стандарту ANSI. Это надо всегда учитывать.Dogmatek
так какой вариант работает? Я посчиталЮ что скобку вы случайно не дописали. Тем более билдер ругался бы точно иначе

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 15:44 02-04-2005
KADABRA



Великий покусатель
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
Ты сам путаешься и других путаешь.

Цитата:
не один из известных мне С-языков на 100% не соответствует стандарту ANSI

Стандарт - это и есть специшикация языка, и не соответствовать стандарту не может.  

Цитата:
Я посчиталЮ что скобку вы случайно не дописали

И где это я скобку не дописал?

----------
Это не подпись.

Всего записей: 1718 | Зарегистр. 14-07-2003 | Отправлено: 20:38 02-04-2005
wiwiw

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dogmatek
если будешь использовать puts()  то вставь в начало программы строчку

Код:
 
#include <stdio.h>
 

 

Всего записей: 127 | Зарегистр. 20-03-2004 | Отправлено: 21:57 02-04-2005 | Исправлено: wiwiw, 22:10 02-04-2005
Duke Shadow



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KADABRA

Цитата:
Стандарт - это и есть специшикация языка, и не соответствовать стандарту не может.

Напрасно на это надеешься
Давно уже доказано, что нет ни одного компилятора с "плюсов" ПОЛНОСТЬЮ соответствующего стандарту. На mozilla.org в секции developers вроде даже документ валялся под названием C++ portability guide или что-то в этом духе, где описывались (правда, с точки зрения кросс-платформенности, а не кросс-компиляторности) "запретные" темы. Сам не читал, но некоторые крайне рекомендуют.
А уж Билдер, чёрти насколько перекроенный под поддержку VCL, писанного на Pascal'е (никогда Борману этого не прощу!) точно не может быть полностью совместимым с ANSI, хотя поговаривают, что при установке режима компиляции ANSI он и неплох и даже бьёт Intel'овский, но всё равно - далеко не 100% соответствия.

----------
Тот, кто умеет - делает, кто не умеет - учит(с)Б. Шоу
Войны никого не могут сделать великим(с)магистр Йода
Аватар(c)MindDiver

Всего записей: 3921 | Зарегистр. 15-02-2003 | Отправлено: 15:10 03-04-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru