roboforum.ru

Технический форум по робототехнике.

Язык программирования С++

Вопросы не попавшие в другие категории.

Язык программирования С++

Сообщение Pirate » 15 окт 2010, 23:25

Тема с вопросами, касающимися этого языка.


И собственно сам вопрос:
Можно ли в переменную место числа, записать слово либо предложение?
Если да, то как это сделать, желательно примерчики :) (два дня уже мучаюсь, на гугле забанили)
-----------------------
добавка.
Когда я что либо изучаю, всегда веду своеобразные памятки, текстовые документы, своеобразные справочники.
С++ начал учить недавно, и чтобы вы поняли уровень моих скромных знаний, выкладываю все что есть на данный момент в моей памятке. Может что от себя добавите поправив меня.

Код: Выделить всёРазвернуть
переменные:
int - простые положительные или отрицательные числа, испоьзуемые для перечисления
unsigned int - неотрицательные числа, предназначенные в первую очередь для перечисления

long - расширенная версия int, разницы между long и int нет
unsigned long - отрицвтельная версия long
float - действительные числа единичной точности. Это уменьшенная версия double, требующая мньшего количества памяти, но при этом имеющая меньшую точность и диапазон возможных значений

double - Стандартное представление чисел с плавающей точкой
char - Символьный тип, значением переменных может бить символ алфавита, цифра, знак препинания, или арефметический знак. Не годиться для арефметической операции.
string - "this is a string" строка символов, состовляющая предложение
bool   - true false логические типы true истина false ложъ
операторы логики:

==        равенство, когда значение левого аргумента совпадает со значенем правого
!==       Не равенство. Противоположность ==
>,<        больше, меньше, истинно, когда значение левого выражения больше (или меньше) значения правого
>=,<=    больше или равно, меньше или равно. истинно, если если истинной являеться >  или == и наоборот
&&        "И"   истинна если аргументы слева и справо являються истинной
||       "ИЛИ" истинно если левый или правый аргумент являеться истинной
!        "НЕ", истинно если его аргумент принимает ложное значение
         Побитовые операции
~        каждый бит меняет свое значение на противоположное, 0 на 1 или 1 на 0
&      побитовое "И" поочередно выполняет операцию И с парами битов левого
          и правого аргументов
|       побитовое ИЛИ
^       побитовое исключающее ИЛИ
Циклы
While (условие)
{
//Этот код выполняется повторно
//пока условие остается истинно
}
for (инициализация; условие; увеличение)
{
// тело цикла
}
break вход из цикла
переменная - изменяемая велечина
константа - неизменная велечина
функция - когда большую программу разбивают на куски, каждый кусок
называеться функцией.
value число
void-функция -  ничего не возвращающая 1. недействительный 2. пустой
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Язык программирования С++

Сообщение =DeaD= » 16 окт 2010, 10:10

Pirate писал(а):И собственно сам вопрос:
Можно ли в переменную место числа, записать слово либо предложение?

Сделать такое теоретические можно, но это противоестественно, поэтому считайте что нет :crazy:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Язык программирования С++

Сообщение Pirate » 16 окт 2010, 11:33

интересно...
Просто пытался написать программу, где нужно было бы ввести слово, программа должна была была бы проверить совпадает ли введенное слово с тем словом, которое в ней записано,и если да вывести одно предложение, если нет то другое. С числами это просто, а вот как со словами быть пока что не знаю.. Ладна буду учиться дальше, там видно будет :)
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Язык программирования С++

Сообщение vadinator » 16 окт 2010, 11:41

Pirate писал(а):интересно...С числами это просто, а вот как со словами быть пока что не знаю..

А переменные типа String... не катят?
Роботы, уже среди нас...
Прошу прощения за аватар, никак схему динамической индикации не могу настроить :)
Аватара пользователя
vadinator
 
Сообщения: 979
Зарегистрирован: 19 янв 2010, 14:51
Откуда: Петрозаводск
прог. языки: C, FBD, Wiring-Processimg,,,LD, SFC, ST...
ФИО: Вадим

Re: Язык программирования С++

Сообщение =DeaD= » 16 окт 2010, 12:12

Может он char* юзает :)))

Он же программу не показывает, а продвинутые телепаты в отпуске.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Язык программирования С++

Сообщение Сергей » 16 окт 2010, 13:08

Я думаю стоит почитать книжку С++ для чайников,а еще лучше Язык программирования Си Керниган Ритчи. И тогда не будет глупых вопросов.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Язык программирования С++

Сообщение Romikgy » 16 окт 2010, 19:45

В с++ реально если эта переменная типа класс в который можно писать все что угодно ... в обычную переменную врядли... допустим переменая типа long (как правило 32 бита) как в нее записать слово из 10 букв? под них же где то место выделить надо ... а в классе можно произвести выделение памяти , скопировать само слово и сохранить указатель на слово ....
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: Язык программирования С++

Сообщение Pirate » 16 окт 2010, 21:12

vadinator, =DeaD=, я и String и char юзал, в чар всего первая буква из слова запоминается как переменная. В стринг не помню уже что было, но не катят для набора букв эти переменные. :pardon:

Сергей, у меня около 6-ти книжек включая эту. Учусь по одной из них, дохожу до чего-то, что мне не понятного, переключаюсь на другую, вижу что там автор более понятно изложил, разобравшись, возвращаюсь снова к первой и т.д.

Romikgy, Я до классов не дочитал еще :oops: :)

в общем всем спасибо, Romikgy ответил на мой вопрос.
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Язык программирования С++

Сообщение Сергей » 16 окт 2010, 22:09

Pirate писал(а): у меня около 6-ти книжек включая эту. Учусь по одной из них, дохожу до чего-то, что мне не понятного, переключаюсь на другую, вижу что там автор более понятно изложил, разобравшись, возвращаюсь снова к первой и т.д.

Pirate писал(а):Я до классов не дочитал еще


Обычно в книжках по С++ на "введение" около 40 страниц максимум. Остальное ООП.
То, что вы называете С++ на самом деле "Си с классами" и к ООП не имеет отношения.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Язык программирования С++

Сообщение Romikgy » 16 окт 2010, 22:49

хмммм а разве классы не относятся к ООП????
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: Язык программирования С++

Сообщение Виталий » 16 окт 2010, 23:14

Также как линейки к линейному программированию.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Язык программирования С++

Сообщение Сергей » 16 окт 2010, 23:19

Зависит от того как их используешь. В случае "Си с классами" сами классы бесполезны.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Язык программирования С++

Сообщение AndreiSk » 16 окт 2010, 23:35

Pirate писал(а):...
Просто пытался написать программу, где нужно было бы ввести слово, программа должна была была бы проверить совпадает ли введенное слово с тем словом, которое в ней записано,и если да вывести одно предложение, если нет то другое. С числами это просто, а вот как со словами быть пока что не знаю.. Ладна буду учиться дальше, там видно будет :)


Походу вы пишете для ПК?
Попробуйте C#. Тот же си, но поприятнее будет ;)
А если уж нужно C в C#, сделаете unsafe вставки..
Вот так например:
Код: Выделить всёРазвернуть
public static unsafe Int32 GetHashCode32(String s) {
         fixed (char* str = s.ToCharArray()) {
            char* chPtr = str;
            int num = 0x15051505;
            int num2 = num;
            int* numPtr = (int*) chPtr;
            for (Int32 i = s.Length; i > 0; i -= 4) {
               num = (((num << 5) + num) + (num >> 0x1b)) ^ numPtr[0];
               if (i <= 2) {
                  break;
               }
               num2 = (((num2 << 5) + num2) + (num2 >> 0x1b)) ^ numPtr[1];
               numPtr += 2;
            }
            return (num + (num2 * 0x5d588b65));
         }
   }


Если оффтоп, то :pardon: , кидайте томаты.
Но, IMHO, для ПК веселее писать на C#
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Язык программирования С++

Сообщение Сергей » 16 окт 2010, 23:41

Да, согласен - если нет реальной надобности писать на С++ ли Си то С# лучший вариант - быстро и удобно.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Язык программирования С++

Сообщение Pirate » 17 окт 2010, 00:54

Не я хочу именно С++ выучить.
До опп я еще не дошел. Хотя уже близко.
Вроде как ничего особо сложного для себя не вижу пока что.., просто наткнулся на желание воспользоваться текстом место числа, но как это реализовать на такой ранней стадии не знал, вот и обратился за помощью.
С другой стороны можно было бы пронумеровать слова, и дать юзеру ввести место слова, выбор из пяти скажем вариантов слов, и по номеру "числу" сделать то что я хотел.. Но хотелось более продвинуто сделать ))
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

След.

Вернуться в Обо всём

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36