Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Программирование на си++  (Прочитано 1057 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mazai_f_kedah

  • Автор темы
  • Активист
  • *
  • Сообщений: 272
  • Ни один заяцЪ не пострадал...
    • Просмотр профиля
Программирование на си++
« : 12 Январь 2012, 03:09:23 »
Блин, люди, как тяжело жить на этом свете...помогите пожалуйста мнею. тупому, разобраться хоть немножко (не судите строго, может где и есть подобная тема - просто не знаю как выразить сие безобразие в тексте...короче, я учусь на разработчика программного обеспечения...начинали с паскаль - освоил удачно,объектный тоже, потом защищал курсовую по visual basic, мне этого стало мало - решил штудировать питон(учебников мало да и старые они- ладно думаю, вроде не дурак, английский знаю, нашел буржуйские - перевел+там современные спецификации - вроде потихоньку продвигаюсь...ну вот...сейчас начали изучать си++, в аудиториях стоит виндовз + си++(v. 2006 год),

сам я слез на Ubuntu, и все получалось, пока я не начал изучпть си, проблема в том,что те примеры, которые нам дают вообще не пляшут на geany(использую его), ввожу код, компилю и тут на тебе куча ошибок...оказывается void уже не используют, вместе с командами ввода-вывода какой-то std и еще куча мелких говняшек...у меня уже голова идет ходуном..если кто пожалеет глупого отсталого студента или угостит линком на современные стандарты, учебники, примеры, спецификации, пофиг - русский, английский язык(главное не китайский)...буду очень благодарен СПАСИБО

Пользователь решил продолжить мысль 12 Январь 2012, 03:17:39:
у меня есть пример...
#include <iostream.h>
int faktorial (int n)
{if (n<=1) {return 1;}
return n*faktorial(n-1);}
void main()
{int k;
   cout<<"Enter your number"\n";
cin>>k;
cout<<"faktorial="<<faktorial(n);}

помогите написать верно для джини, а дальше по примеру я начну разбирать сам


Пользователь решил продолжить мысль 12 Январь 2012, 03:20:24:
Плюс еще полохо, что к нам дали молоду преподавательницу, которая сразу после окончения вуза, так что рассчитывать я могу только на себя...ну и на вас немножко  ;)
« Последнее редактирование: 12 Январь 2012, 03:20:24 от mazai_f_kedah »
Acer eMachines 350-21G16ikk: Intel® Atom™ N455 (1.66Ghz) && DDR2 1024 Mb && Intel® NM10 Express && Intel® GMA 3150 + Ubuntu 12.04 (i386) =

Оффлайн Kozak

  • Участник
  • *
  • Сообщений: 211
    • Просмотр профиля
Re: Программирование на си++
« Ответ #1 : 12 Январь 2012, 03:29:04 »
Сам недавно занялся c++. Нашел для себя подходящую книгу (джесс либерти. с++ за 21 день) і  Code::blocks. Для начала самое то. В книге описано как процедурное программирование так и основы ООП.
Code::block совмещает удобный редактор (подсветка, автодополнение, форматирование по шаблону), дебагер і возможность  выбора компилятора. Очень удобный инструмент. Только в настройках надо полазить.

По поводу устаревания ПО в аудиториях - могу посоветовать ходить со своей IDE на флешке.


Пользователь решил продолжить мысль 12 Январь 2012, 03:38:02:

ех...
#include <iostream>

using namespace std;

int faktorial(int n)
{
    if(n<=1) return(n);
    else return(n*faktorial(n-1));
}

int main()
{
    int k;
    cout << "K= ";
    cin >> k;
    k=faktorial(k);
    cout <<"!K=" <<k;
    return(0);
}


« Последнее редактирование: 12 Январь 2012, 03:40:49 от Kozak »

Оффлайн KroArtem

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
Re: Программирование на си++
« Ответ #2 : 12 Январь 2012, 03:42:31 »
#include <iostream>
using namespace std;

int faktorial (int n)
{
if (n<=1) {return 1;}
return n*faktorial(n-1);
}
int main()
{
int k;
   cout<<"Enter your number\n";
cin>>k;
cout<<"faktorial="<<faktorial(k);
return 0;
}
Вот так вполне себе работает. Вы можете либо написать "using namespace std", либо перед cin, cout и другими стандартными командами из пространства имен std писать так: std::cin>>k;

Оффлайн mazai_f_kedah

  • Автор темы
  • Активист
  • *
  • Сообщений: 272
  • Ни один заяцЪ не пострадал...
    • Просмотр профиля
Re: Программирование на си++
« Ответ #3 : 12 Январь 2012, 03:59:35 »
Ой, спасибо, пацаны, наконец то я вкурил :idiot2: нашел кернигана и риччи...буду вчитываться повнимательней :)

Пользователь решил продолжить мысль 12 Январь 2012, 04:10:08:
кстати code::blocks мне тоже очень нравится...но пока джини - т.к. она вроде проще...
« Последнее редактирование: 12 Январь 2012, 04:10:08 от mazai_f_kedah »
Acer eMachines 350-21G16ikk: Intel® Atom™ N455 (1.66Ghz) && DDR2 1024 Mb && Intel® NM10 Express && Intel® GMA 3150 + Ubuntu 12.04 (i386) =

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Программирование на си++
« Ответ #4 : 12 Январь 2012, 06:13:44 »
керниган и риччи пишут про Си
С++ совсем другое, когда же вы их начнёте различать?

andrey_p

  • Гость
Re: Программирование на си++
« Ответ #5 : 12 Январь 2012, 07:50:50 »
Бьярне Страуструп Программирование: принципы и практика использования C++, исправленное издание = Programming: Principles and Practice Using C++ — М.: «Вильямс», 2011.

Для начального, но очень фундаментального и добротного изучения. Стоит кучу денег, но книга очень хорошая. В сети есть и английская и русская версии.

---
#include <iostream>

using namespace std;

int factorial(int n)
{
    if (n<=1) {
        return 1;
    }

    return n*factorial(n-1);
}

int main()
{
    int n;

    cout << "Enter your number\n";
    cin  >> n;
    cout << "factorial=" << factorial(n) << endl;

    return 0;
}
---
У тебя большое количество небрежностей в коде и, прямое следствие, куча бейби-ошибок.
« Последнее редактирование: 12 Январь 2012, 07:53:40 от andrey_p »

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Программирование на си++
« Ответ #6 : 12 Январь 2012, 09:13:15 »
C++ отстой; Самая главная его проблема - "хрупкость" на базовом классе.
Лучше - чистый С. На нем можно реальную прогу сваять.
Низкоуровневое программирование? Тогда Forth даст вперед ещё +5
по сравнению с С.
А на молодых преподовальницах - однозначно, муно отметиться. :)

Оффлайн Kozak

  • Участник
  • *
  • Сообщений: 211
    • Просмотр профиля
Re: Программирование на си++
« Ответ #7 : 12 Январь 2012, 15:19:19 »
C++ отстой; Самая главная его проблема - "хрупкость" на базовом классе.
Лучше - чистый С. На нем можно реальную прогу сваять.

в чистом С нет понятия "класс" а есть понятие "структура". В структуре, в отличие от класса, невозможно нормально реализовать принцып инкапсуляции - с данными структуры надо работать внешними методами. А это очень  неудобно. Куда удобней создать нормальный интерфейс для обьекта и работать через него. Да и как можно сравнивать? У С и С++ разные области применения: С - процедурное программирование, С++ - ООП.

Оффлайн Sna1L

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Программирование на си++
« Ответ #8 : 12 Январь 2012, 17:13:51 »
оффтоп.
А разве код на Си не является С++-совместимым?
Это я к тому, что С++ - это в какой-то степени эволюция языка Си. Обладает всем тем же и + ООП. Так что сравнивая С++ и Си я склоняюсь что плюсы лучше, т.к. являются надмножеством. ИМХО, разумеется

Оффлайн Kozak

  • Участник
  • *
  • Сообщений: 211
    • Просмотр профиля
Re: Программирование на си++
« Ответ #9 : 12 Январь 2012, 17:27:57 »
оффтоп.
А разве код на Си не является С++-совместимым?
Это я к тому, что С++ - это в какой-то степени эволюция языка Си. Обладает всем тем же и + ООП. Так что сравнивая С++ и Си я склоняюсь что плюсы лучше, т.к. являются надмножеством. ИМХО, разумеется
именно так. никто не мешает вам использовать конструкции С, программируя на C++. Только надо учитывать разные стандарты, компиляторы и т.п.

Оффлайн handless

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Программирование на си++
« Ответ #10 : 12 Январь 2012, 17:34:28 »
Так же автору могу посоветовать Г.Шилдт "Послный справочник по С++"
Довольно таки полезная книга.

Оффлайн mazai_f_kedah

  • Автор темы
  • Активист
  • *
  • Сообщений: 272
  • Ни один заяцЪ не пострадал...
    • Просмотр профиля
Re: Программирование на си++
« Ответ #11 : 13 Январь 2012, 02:58:35 »
я еще на выходных синтаксис доучу... :D это для меня ново, но интересно...

Пользователь решил продолжить мысль 13 Январь 2012, 03:58:04:
Так же автору могу посоветовать Г.Шилдт "Послный справочник по С++"
Довольно таки полезная книга.
кстати да..очень рекомендуют именно эту книгу
« Последнее редактирование: 13 Январь 2012, 03:58:04 от mazai_f_kedah »
Acer eMachines 350-21G16ikk: Intel® Atom™ N455 (1.66Ghz) && DDR2 1024 Mb && Intel® NM10 Express && Intel® GMA 3150 + Ubuntu 12.04 (i386) =

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Программирование на си++
« Ответ #12 : 13 Январь 2012, 07:50:24 »
И к структурам сишным плохо отношусь.
Массив битовый - на нем всё можно реализовать.
Это будет компактно и быстро.

Оффлайн Kozak

  • Участник
  • *
  • Сообщений: 211
    • Просмотр профиля
Re: Программирование на си++
« Ответ #13 : 13 Январь 2012, 18:20:30 »
И к структурам сишным плохо отношусь.
Массив битовый - на нем всё можно реализовать.
Это будет компактно и быстро.
Ну раз можно ВСЕ, к тому же компактно и быстро, то реализуйте мне битовым массивом множество обьектов, у каждого из которых есть 3 поля типа int, 2 поля string, 4 bool и 3 поля являют собой обьекты другово "битового массива". У обьектов  должен быть нормальный интерфейс (с полями можно работать   через перегруженные функции).
« Последнее редактирование: 13 Январь 2012, 18:24:02 от Kozak »

Оффлайн spectator

  • Участник
  • *
  • Сообщений: 120
    • Просмотр профиля
Re: Программирование на си++
« Ответ #14 : 01 Февраль 2012, 20:04:49 »
...А это очень  неудобно.
Чем код типа "DrawRect(rect)" так уж отличается от "rect.Draw()"?

 

Страница сгенерирована за 0.103 секунд. Запросов: 24.