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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

KADABRA



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

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


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


Цитата:
нет ни одного компилятора с "плюсов" ПОЛНОСТЬЮ соответствующего стандарту

Между стандартом и компилятором есть разница
И про компилятор я не написал ни слова.

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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот флейм развели из-за отсутствия двух строчек в коде
Есть некоторые правила которых придерживается любой компилятор C++ в частности функцию/класс надо объявлять до ее/его использования...
На счет 100%, естественно найдутся некоторые нюансы.

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 21:08 03-04-2005 | Исправлено: Swappp, 21:10 03-04-2005
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго здравия.
Есть код, не мой.
strcpy(szAdd,"\\\"");
strcat(szAdd,szTmp);
strcat(szAdd,"\\\"");
Хотят получить строку вида "Некоторый текст",  но получают \"Некоторый текст\". Явно не правильно, но как переписать не знаю :((

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 14:23 05-04-2005 | Исправлено: vserd, 14:27 05-04-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
строка
Цитата:
strcpy(szAdd,"\\\"");
выведет [b]\"[\b]

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

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
мне моих знаний С++ хватает чтобы понять это. Но как сделать чтобы было "?
Попробовал """", не прокатило. Вобще-то  это часть кода, который формирует командную строку для другого приложения. Если параметр содержит пробелы, его нужно заключать в двойные кавычки. До меня это сделали, но оно работает не правильно.  В С++ я очень новичек. Читать код получалется, а вот знаний как сделать не хватает. :(( Не подскажешь где почитать по работе со строками, только без использования cin, читый код и никаких cin/сout? Нормальным, человеческим, языком с примерами.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 15:31 05-04-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
в паскле есть отличная функция chr(), она выдают символ по его номеру. В С должен быть её аналог. ТОгда проблема решается очень просто - просто нужно будет создать константу и выводить её когда надо

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

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



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd

Цитата:
strcpy(szAdd,"\\\"");

просто заменить на
srrcpy(szAdd,"\"");
т.е. идет замена:
\" на "
и соответственно
\\ на \
 
Удачи!
 
OdesitVadim
в С строкадолжна заканчиваться на 0, поэтому константу нужно объявить так:
char my_str[2]={'"',0};
кроме того в С нет разницы между символом и однобайтовым числом.

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 16:06 05-04-2005
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
выдать символ по индексу - очень просто, потому что в С имя массива - это указатель-константа на его начало:

Код:
 
char *s="Hello"; // *(s+1)='e';
// *(s+i) - i-тый элемент
 

 
Добавлено:
vserd

Цитата:
Не подскажешь где почитать по работе со строками

http://sources.ru/builder/faq/007.html
http://sources.ru/builder/faq/004.html

----------
Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 16:10 05-04-2005 | Исправлено: Excell, 16:19 05-04-2005
Dogmatek

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить проблемму.
как на Borland C++Builder 6 записать корень в 4 степени и какую если нужно подключить библиотеку?

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



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dogmatek
стандартная библиотека С - math.h функция pow

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 20:23 12-04-2005
OdesitVadim



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

Цитата:
корень в 4 степени

это извлечь или поднять.  
Вариант А) четвёртую степень можно записать как "дважды" вторую, например sqrt(sqrt(x)).
Вариант Б) вспомнить школу, и написать x4=exp(4*ln(x)). если корень добыть, то 4 заменить нужно на 1/4. Ограничение одно - отрицательные числа возводить неможно.
Вариант В) Вооружившись F1. Поискать в хелпе о функциях IntPower и Power.

Цитата:
 
extern PACKAGE Extended __fastcall IntPower(const Extended Base, const int Exponent);
extern PACKAGE Extended __fastcall Power(const Extended Base, const Extended Exponent);
 

объявлены они в Math. Эти функции вообще хорошие, правда Power немного медленовата. Параметры думаю описывать не стоит

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 20:29 12-04-2005
Sharikov2000

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

Цитата:
Dogmatek  
Директива #include включает в файл другой файл. Без него работать можно, но прога будет ограничена "внутренним миром" - никаких результатов она выдать не сможет.  

 
Полный бред. Блестящий показатель того, что человек не имеет ни малейшего реального представления о языке. Нахватался верхов, не утруждая себя подумать.

Всего записей: 12 | Зарегистр. 30-03-2002 | Отправлено: 19:20 14-04-2005
Pilotsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здраствуйте, уважаемые. Подскажите, пожалуйста, чайнику, что это за ошибка такая и можно ли от нее как-то избавиться. Появляется окно
Microsoft Visual C++ Debug..  
Debug Assertion Failed  
Program ... Avp32.exe  
File: dlgheap.c  
Line: 1011  
Expression:_CrtIsValidHeapPointer (pUserData)
Такое было несколько раз при попытке сканирования Антивирусом Касперского (Personal Pro v. 4.5.0.49) архивов zip или rar. Такая же ошибка возникла при просмотре pdf'а, сделанного при помощи Adobe Photoshop Album 2.0 Starter Edition (смотрел Adobe Reader'ом 6.0).
Извините, если не адресу - ничего в этом не понимаю.

Всего записей: 102 | Зарегистр. 26-02-2004 | Отправлено: 04:34 17-05-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pilotsoft
Это одна из самых распространенных ошибок не совсем корректо ''скроенных'' программ.
Говорит о том что в Avp32.exe один из указателей ''пустой''.
В какой то ситуации неправильная работа с памятью в ''куче''...

----------
Мы знаем: время растяжимо. Оно зависит от того,
Какого рода содержимым Вы заполняете его. (C. Маршак)

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 10:07 17-05-2005
CmpaHHbIu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем.
Такой вопрос, читаю сейчас Страуструпа, и вот что вижу:
extern void put_line(point a, point b)
       { put_line(a.x,a.y,b.x,b.y); }
 
Мне не понятно зачем в описании функции, где явно написанно, что определение будет позже,
определять функцию?

Всего записей: 8 | Зарегистр. 21-03-2005 | Отправлено: 08:24 18-05-2005
Pilotsoft

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

Всего записей: 102 | Зарегистр. 26-02-2004 | Отправлено: 12:05 18-05-2005 | Исправлено: Pilotsoft, 12:07 18-05-2005
wiwiw

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CmpaHHbIu
здесь, видимо, в extern вкладывался смысл, что функция имеет внешнее связывание.
найди книгу поновей.

Всего записей: 127 | Зарегистр. 20-03-2004 | Отправлено: 03:08 19-05-2005
EraseR



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, подскажите, пожалуйста, где в интернете можно найти задачки по программированию на С (не С++)? Сорри что сюда постю, просто вроде С++ это типа С только расширенный, а новую тему решил что не стоит открывать
Задачки не самые сложные, т.к. только учиться кончил. Например, по массивам, строкам, указателям, посчитать чего-нибудь ну и т.д. и т.п. Вобщем, главное чтобы пока не очень углубленные можно было найти. Ну и желателньо с решениями, чтобы посмотреть можно было правильно сделал или нет, или просто посмотреть как делать
Я пытался в Яндексе искать, а мне только книжки выдавались в магазинах

----------
Alive!

Всего записей: 975 | Зарегистр. 31-07-2001 | Отправлено: 12:00 01-06-2005
teakettle

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте уважаемые участники форума.
 
хочу овладеть программированием на Visual C++ для Wind..
 
присоединился бы чужому проекту, (нет опыта работы в команде, есть небольшой на JS и Паскаль)
 
личные интересы: работа с памятью (выделение и освобождение блоков под задачу), кванты времени (время выполнения задачи).
 
буду очень благодарен за любые комментарии и ссылки на литературу.
 
удачи

Всего записей: 2 | Зарегистр. 01-06-2005 | Отправлено: 16:44 01-06-2005
vitls1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хотел бы поделиться своим опытом обучения программированию. На мой взгляд лучший способ учиться, это определить для себя задачу и упорно ее долбить. Для себя я в свое время писал адресную книгу, с возможностью добавления, удаления, сортировки, поиска, сохранения и загрузки записей.
Шаг 1: консоль, все что вводится и выводится, идет через cin, cout, cerr. Все функции расчитаны на переносимость, то есть используется только STL. Все операции только через клавиатуру.
Обучаемся базовому вводу-выводу, работе с файлами, базовые структуры (деревья, связанные листы, массивы...), алгоритмы (поиск, сортировка...) и работа со строками.
Шаг 2: Программирование под операционную систему. Здесь идет работа по интеграции уже написанной программы с графической оболочкой.
Обучаемся системным вызовам, потокам, синхронизации. Основной код с предыдущего шага, меняются ввод-вывод и системно зависимые части. На этом этапе код с предыдущего этапа постоянно полируется и совершенствуется. В частности, я только на этом этапе начал хорошо понимать язык.
Шаг 3: Кто до сюда дойдет, тот вообще молодец. Пишем распределенное приложение. Сначала просто обмен данных. Программа с предыдущего шага, загружается на двух компах (или на одном, но под разными портами). Прога с первого компа, по команде, или по таймеру, синхронизирует данные с удаленной прогой. Затем пишем клиент-сервер, на одном компе данные, на другом пользовательский интерфейс.
Обучаемся идее клиент-серверных приложений, синхронизации, сетевому программированию.
 
Хочу добавить, что уровень сложности задачи должен зависеть от вашего опыта, но любую, даже самую легкую задачу можно сформулировать так, что вам самим будет интересно. К примеру, можно добавить шифрование данных, пользовательские профили, поддержку нестандартных сетей, все что угодно. Если же вы совсем новичок, то ничто не пробудит у вас больший интерес, чем программа, которую вы написали сами, и которая (как ни странно) РАБОТАЕТ!

Всего записей: 307 | Зарегистр. 02-06-2002 | Отправлено: 19:39 01-06-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