Вторник, 26 Ноября 2024, 03:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
есть ли в с++ аналогия процедурам с паскаля?
hero564Дата: Понедельник, 07 Мая 2012, 18:21 | Сообщение # 1
Made in Ukraine
Сейчас нет на сайте
Вот собственно решилнаписать прогамку на паскале , нпомощио немного подумав решил писать на с++. Понимаю вопрос может показатся нубским, но в е же жду буду раад если подсквжете, основы с++ более менее знаю
KpoJIukДата: Понедельник, 07 Мая 2012, 18:50 | Сообщение # 2
In C++ We Trust
Сейчас нет на сайте
Эм... функции типа void, не?
vasua99Дата: Понедельник, 07 Мая 2012, 19:03 | Сообщение # 3
GNU follower
Сейчас нет на сайте
для начала купи нормальную клААву,либо выучи русский язык,а вообще если бы знал С/С++ то такой вопрос не задавал бы.Держи:
[code]
void f(int x) // example procedure
{
y = x * x;
int *curr = malloc(sizeof(point));
curr[0] = x;
curr[1] = y;
paint((struct point*)curr,BLACK);
free(curr);
}

int main()
{
int x;
for(x = -10;x <= 10;++x)
f(x);
return 0;
}
[\code]


Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
hero564Дата: Понедельник, 07 Мая 2012, 19:56 | Сообщение # 4
Made in Ukraine
Сейчас нет на сайте
vasua99, спасибо, насчет клавы то писал с телефона да еще и в маршрутке, из за того и ошибки, а насчет процедур то я когда читал учебник поленился печатать программу-пример , изза этого и забыл)))) держи +

Сообщение отредактировал hero564 - Понедельник, 07 Мая 2012, 19:57
ТритонДата: Пятница, 11 Мая 2012, 08:59 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Понятия процедуры на сях и плюсах нет, как и нет понятия функции на асме. Но есть адекватная замены - функция со специальным типом возвращаемого значения без данных. Тип этот зовут void.

Не всё так плохо, как оно есть на самом деле.
biohazardoДата: Пятница, 11 Мая 2012, 10:14 | Сообщение # 6
участник
Сейчас нет на сайте
Процедура в паскале - функция, которая ничего не возвращает. Во многих языках так (пока нигде больше процедур не встречал), поэтому надо сделать функцию с пустым возвращаемым типом void, как тут уже выше писали.

web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Пятница, 11 Мая 2012, 10:19 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
Процедура в паскале - функция, которая ничего не возвращает.
Нет. Там чётко разделены понятия процедуры и функции и для их объявления используются разные операторы с разным синтаксисом: заголовки функций начинаются с function и завершаются типом возвращаемого значения, а заголовки процедур начинаются с procedure и типа возвращаемого значения не содержат вообще. Нет даже void, или его аналога. Вообще пусто и самого двоеточия нет. Если функцию объявить без типа значения, будет синтаксическая ошибка. Если процедуру обхявить с типом значения, будет синтаксическая ошибка.


Не всё так плохо, как оно есть на самом деле.
biohazardoДата: Пятница, 11 Мая 2012, 10:43 | Сообщение # 8
участник
Сейчас нет на сайте
Quote (Тритон)
Нет. Там чётко разделены понятия процедуры и функции и для их объявления используются разные операторы с разным синтаксисом: заголовки функций начинаются с function и завершаются типом возвращаемого значения, а заголовки процедур начинаются с procedure и типа возвращаемого значения не содержат вообще. Нет даже void, или его аналога. Вообще пусто и самого двоеточия нет. Если функцию объявить без типа значения, будет синтаксическая ошибка. Если процедуру обхявить с типом значения, будет синтаксическая ошибка.


Я знаю Паскаль, и как там выглядит процедура. Я привел аналогию с другими языками, в них процедура - это как раз функция без возврата.


web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Пятница, 11 Мая 2012, 14:57 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
return в переводе возврат, досрочный выход из функции типа void делается оператором return. Так что с возвратом, но особого значения без данных. Кто придумал на столько искусственную конструкцию - вопрос интересный, но хорошо хоть выглядит относительно просто.

Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Пятница, 11 Мая 2012, 14:58
hero564Дата: Пятница, 11 Мая 2012, 15:05 | Сообщение # 10
Made in Ukraine
Сейчас нет на сайте
а можно использовать в процедурах операторы ввода(сin)
QuaternionДата: Пятница, 11 Мая 2012, 15:09 | Сообщение # 11
был не раз
Сейчас нет на сайте
Это не оператор, это объект. Можно конечно.
ТритонДата: Пятница, 11 Мая 2012, 17:12 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
объекты - сами cin и cout, << и >> - операторы.

Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Суббота, 12 Мая 2012, 08:38
hero564Дата: Пятница, 11 Мая 2012, 21:11 | Сообщение # 13
Made in Ukraine
Сейчас нет на сайте
Quaternion, Тритон, спс за ответы и исправления))
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг