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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

Оффлайн gerk787

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Программирование на С++
« : 07 Октября 2012, 08:12:31 »
Доброго времени суток!

Нашел лекций по с++ вот ссылка:
http://www.youtube.com/watch?v=atVgLRzl3rI&feature=relmfu

Дело в том что он объясняет, вроде все понятно но и не совсем.
Начну с расширения файла .c - это как говорят расширения язык Си, а для С++ надо использовать расширение .cpp, это одно.

Во вторых пытаюсь скомпилировать программу пишет:
gcc: ошибка: main.c: Нет такого файла или каталога
gcc: фатальная ошибка: не заданы входные файлы
компиляция прервана.
Указываю полный путь:
encoder@Encoder-RV518:~$ gcc /home/encoder/Documents/c/main.c
encoder@Encoder-RV518:~$

И ничего не появляться в папе с файлом main.c. Что я делаю не так?
Причем в программе Double Commander почему-то 2 файла, ScreenShot ниже:


В третьих пишу другую программу уже в Geany и мне выдают ошибку, ниже ScreenShot на фоне доска откуда я списал код точно как у него, терминал открыл после компиляций.



Повторю вопросы:
1 - Верное ли расширение файла .с
2 - Почему не компилируется?
3 - что за ошибка и как её исправить?
4 - Стоит ли учить С++ по этим лекциям? Программа обучения соответственна с современными стандартами языка?

Заранее благодарю.
 

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #1 : 07 Октября 2012, 08:49:05 »
Для начала вам нужно разобраться, что такое каталоги, файлы и как они работают. Изучить способы взаимодействия программ и передачи им параметров. Понять, что есть текущий каталог и пр.

После этого можно начать изучить программирование. Начните с чего-нибудь более цельного, внятного и простого, чем Си. Например, с Паскаля или Модулы.

Курс лекций занятный :) И да, расширение .с верное.

Оффлайн mastepaner

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля

Оффлайн gerk787

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Re: Программирование на С++
« Ответ #3 : 07 Октября 2012, 09:01:51 »
Для начала вам нужно разобраться, что такое каталоги, файлы и как они работают. Изучить способы взаимодействия программ и передачи им параметров. Понять, что есть текущий каталог и пр.

После этого можно начать изучить программирование. Начните с чего-нибудь более цельного, внятного и простого, чем Си. Например, с Паскаля или Модулы.

Курс лекций занятный :) И да, расширение .с верное.

Если он все верно объясняет то почему не работает?

А насчет каталогов я вроде знаю, это на сколько мне известно те же папки, как прописывать пути тоже знаю.

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #4 : 07 Октября 2012, 09:15:08 »
Если он все верно объясняет то почему не работает?
Потому что вы не правильно понимаете.

Компилятор пишет ошибку "нет файла". Сделайте так, чтобы копилятор находил файл. Для этого разберитесь что такое каталоги, текущий каталог, как передаются параметры и т.д.

Оффлайн gerk787

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Re: Программирование на С++
« Ответ #5 : 07 Октября 2012, 09:59:57 »
Если он все верно объясняет то почему не работает?
Потому что вы не правильно понимаете.

Компилятор пишет ошибку "нет файла". Сделайте так, чтобы копилятор находил файл. Для этого разберитесь что такое каталоги, текущий каталог, как передаются параметры и т.д.

Может поделитесь ссылка на хорошие материалы? Буду благодарен.

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #6 : 07 Октября 2012, 11:38:26 »
Может поделитесь ссылка на хорошие материалы? Буду благодарен.
Почитайте под моим аватаром список осей, с которыми я работал. Неужели вы думаете, что я знаю современные книги по этим элементарным вещам? Поищите в интернете, думаю статей и инструкций навалом.

Оффлайн gerk787

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Re: Программирование на С++
« Ответ #7 : 07 Октября 2012, 12:11:55 »
Может поделитесь ссылка на хорошие материалы? Буду благодарен.
Почитайте под моим аватаром список осей, с которыми я работал. Неужели вы думаете, что я знаю современные книги по этим элементарным вещам? Поищите в интернете, думаю статей и инструкций навалом.
Хорошо, только к вам будет такая просьба: Вы можете исправить ошибки которые я допусти?
Покажи что написать что запустить компилятор?
Файл main.c находиться по адресу:
/home/encoder/Documents/c/main.cПишу вот так:
cd /home/encoder/Documents/c Как теперь скомпилировать?

Пользователь решил продолжить мысль 07 Октября 2012, 17:27:55:
Уже разобрался как компилировать но при компиляций выдает ошибку как исправить?
encoder@Encoder-RV518:~/Documents/c$ gcc main.c hello.c -o main
hello.c: В функции «hello»:
hello.c:2:2: предупреждение: несовместимая неявная декларация внутренней функции «printf» [по умолчанию включена]

Файл main.c
int main () {
hello();
return 0;
}

Файл hello.c
void hello (){
printf ("Hello!");
}
« Последнее редактирование: 07 Октября 2012, 17:27:55 от gerk787 »

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #8 : 07 Октября 2012, 18:04:04 »
Ой... Простите за прямоту, но вам нужно начинать с самых (то есть вобще с самых-самых) азов. Говорил же, начитните с паскаля. Нет, мы же круче всех, нам сразу подавай Си, да ещё с раздельной компиляцией, не разобравшись в заголовках и прочем... Конечно, ведь Си - это кулхакерно, на Си пишут гуру, Си - это крутотенюшка, куда там простачкам, строчащим на Делфях поганых и 1С-ках убогих :)

Правильно писать так:
// Первая мегапрога на Си
// Автор - я

#include <stdio.h>

int main(void)
{
printf ("Hello, everybody!\n");
return (0);
}
Помпилируется и запускается без ошибок.

Оффлайн gerk787

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Re: Программирование на С++
« Ответ #9 : 07 Октября 2012, 18:47:39 »
Спасибо большое!!!

Оффлайн NetFly

  • Новичок
  • *
  • Сообщений: 9
  • работаю с debian, учу с++
    • Просмотр профиля
Re: Программирование на С++
« Ответ #10 : 08 Октября 2012, 02:25:36 »
вот еще 1 вариант:
// программа higerk787
#include <iostream>
using namespace std;
int main()
{
          cout<<"hi gerk787\n";
          return 0;
}
для компиляции введи:
#c++ higerk787.cpp -o higerk787Сам, только начал, сделал выводы с принтф и с каут.
« Последнее редактирование: 08 Октября 2012, 03:36:28 от NetFly »

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #11 : 08 Октября 2012, 15:32:24 »
Не мутите воду, пожалуйста. Чел взялся за Си, а не за Си++. Вывод в Си++ делается мягко говоря иначе, чем в Си. Да и в вашей голове каша та ещё. Зачем вы мешаете серое с мягким? Ваша программа идеологически правильно должна выглядеть так.

// программа higerk787

#include <iostream>

// сомнительное решение, хотя и формально правильное для учебников 15-летней давности
// сам так делал, пока по башке не стукнули более опытные товарищи
using namespace std;

int main(void)
{
          cout << "Hi, gerk787" << endl;

          // вообще-то совсем уж корректно будет чуть иначе, если закомментировать
          // строку using namespace в начале текста программы
          // std::cout << "Hi, gerk787" << std::endl;

          return 0;
}
Как говорится, найдите два отличия.
« Последнее редактирование: 08 Октября 2012, 15:39:15 от Lifewalker »

Оффлайн NetFly

  • Новичок
  • *
  • Сообщений: 9
  • работаю с debian, учу с++
    • Просмотр профиля
Re: Программирование на С++
« Ответ #12 : 08 Октября 2012, 18:09:41 »
окей, это интересно, т.е. в этом случае можно не обозначать пространство имен!!!
Примерно по такому учебнику я и обучаюсь. Если знаете какие нить современные хорошие варианты учебников- в студию.
Буду признателен!

Пользователь решил продолжить мысль 08 Октября 2012, 18:17:14:
Спасибо за подсказку.
« Последнее редактирование: 08 Октября 2012, 18:18:32 от NetFly »

Шинш

  • Гость
Re: Программирование на С++
« Ответ #13 : 08 Октября 2012, 19:33:44 »
Lifewalker,
а для чего в главную функцию передавать void ?

Оффлайн gerk787

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Re: Программирование на С++
« Ответ #14 : 09 Октября 2012, 10:23:32 »
Не мутите воду, пожалуйста. Чел взялся за Си, а не за Си++. Вывод в Си++ делается мягко говоря иначе, чем в Си. Да и в вашей голове каша та ещё. Зачем вы мешаете серое с мягким? Ваша программа идеологически правильно должна выглядеть так.
Там вроде как учат С++, но почему-то объясняют Си.

 

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