Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2008, 05:51   #1
Monkey
 
Аватар для Monkey
 
Регистрация: 01.06.2008
Сообщений: 5
Печаль помогите совсем начинающему с Dev-C++!

Пытаюсь освоить Dev-C++ 4.9.9.2. Набираю примеры из книг, вроде правильно все, все компилится, выполняется очень быстро, я не знаю как просмотреть результат - какие сочетания клавиш нажимать... Нигде не могу отыскать, как это сделать. После "модификации" с помощью getch() и system ("PAUSE")

#include <iostream>
#include <string>
#include <conio>
using namespace std;
inline void pr_message(string s="I love myself")
{ cout<<s<<endl;}
int main()
{
char ch;
cin >> ch;
pr_message();
pr_message("Better than you!");
getch();
system ("PAUSE");

}

при выполнении появляется DOS-овское окно, где пишется Для продолжения нажмите любую клавишу... , нажимаю, и все равно дальше ничего не происходит. Что делать?
Monkey вне форума Ответить с цитированием
Старый 01.06.2008, 09:33   #2
Rembo
Форумчанин
 
Аватар для Rembo
 
Регистрация: 29.10.2007
Сообщений: 628
По умолчанию

Monkey, а какие вы результаты хотите увидеть? Если просто Вы вводите любую строку, и затем в консоли отображается I love myself Better than you, то вот код рабочей программы:
Код:
#include <iostream>
#include <string>
#include "conio.h"          // или так #include <conio>      
using namespace std;

inline void pr_message(string s="I love myself")
{ 
cout<<s<<endl;
}

int main()
{
char ch;
cin >> ch;
pr_message();
pr_message("Better than you!");
system("PAUSE");
return 0;  
}
Просто я не очень понял, что ваша программа должна делать и что вы хотите увидеть после "Для продолжения нажмите любую клавишу... , нажимаю, и все равно дальше ничего не происходит". Если Вы результат другой хотели, напишите, подумаем...
// Используйте тег [CODE]

Последний раз редактировалось Rembo; 01.06.2008 в 09:59.
Rembo вне форума Ответить с цитированием
Старый 01.06.2008, 14:58   #3
Monkey
 
Аватар для Monkey
 
Регистрация: 01.06.2008
Сообщений: 5
По умолчанию

Rembo, спасибо большое! Странно, скопировала ваш пример и все заработало, и другие примеры тоже. Наверное комп был не в себе. Пока от программ ничего серьезного не хочу =) Просто читаю книгу и пытаюсь учиться, набираю из нее примеры...
Monkey вне форума Ответить с цитированием
Старый 01.06.2008, 15:18   #4
Rembo
Форумчанин
 
Аватар для Rembo
 
Регистрация: 29.10.2007
Сообщений: 628
По умолчанию

Не за что...
Я сам еще начинающий программист в С++, но постараюсь объяснить, что я изменил в вашем коде:
Во-первых я убрал
getch();
Обычно, чтобы после выполнения программы вы могли увидеть результаты работы программы, например тот же
Код:
cout << "Text";
(в консоли должны увидеть строчку Text), нужно в конце функции main() ввести:
Код:
system("PAUSE"); 
return 0;  // эту строчку вроде не нужно писать, 
              // для остановки просмотра результатов, но так как 
              // функция int main()  возвращает целочисленное 
              // значение, то пишем return 0;
Теперь после выполнения программы, мы можете посмотреть результаты, затем нажимаете на любую кнопку и программа закрывается.
Во-вторых, когда я запустил программу, мне Dev-C++ начал ругаться: No such file or directory. Мол этот файл не может быть прочитан, или не найдем, поэтому с #include <conio> поменял на #include "conio.h"
Вот... Вроде все заработало. Ну вообщем если какая-то ошибка возникает, попробуйте вначале что-нибудь поменять, попробовать, посмотреть, что пишет компилятор (на врядли там будет что-то понятно, но и тем неменее ).
Вообщем удачи вам в освоении С++! Рад встретить девушку, которая изучает программирование Если есть вопросы, не стесняйтесь, задавайте на этот замечательный форум

Последний раз редактировалось Rembo; 01.06.2008 в 15:23.
Rembo вне форума Ответить с цитированием
Старый 01.06.2008, 16:27   #5
filosof_x86
...
Форумчанин
 
Аватар для filosof_x86
 
Регистрация: 01.06.2008
Сообщений: 134
По умолчанию

Rembo, пара замечаний по коду:
1)
Код:
#include "conio.h"
Лучше писать
Код:
#include <conio.h>
Т.к. файл conio.h – это не локальный файл вашего проекта. Кстати, conio.h не входит в стандарт, но поддерживается многими Вин компиляторами.

2)
Код:
return 0;  // эту строчку вроде не нужно писать,   
              // для остановки просмотра результатов, но так как   
              // функция int main()  возвращает целочисленное   
              // значение, то пишем return 0;
Эта строчка только завершает функцию main, возвращая вызывающей функции 0, и никак не влияет на «остановку просмотра результатов». Кстати, если даже мы объявили main как int возвращающей, мы можем не писать return 0. В этом случае компилятор за нас вернет 0. Об этом говорится в стандарте языка.
filosof_x86 вне форума Ответить с цитированием
Старый 01.06.2008, 17:15   #6
Rembo
Форумчанин
 
Аватар для Rembo
 
Регистрация: 29.10.2007
Сообщений: 628
По умолчанию

filosof_x86, насчет первого замечания согласен, возможно и лучше,
а насчет второго замечания -
Цитата:
Эта строчка только завершает функцию main, возвращая вызывающей функции 0, и никак не влияет на «остановку просмотра результатов».
А я вроде и не говорил, что строчка return 0; влияет на «остановку просмотра результатов», почитайте там мои комментарии:
// эту строчку вроде не нужно писать,
// для остановки просмотра результатов, но так как
// функция int main() возвращает целочисленное
// значение, то пишем return 0;
Тоесть из моих комментарий следует, что строка return 0; не влияет на «остановку просмотра результатов».
P.S.: а то, что
Цитата:
мы можем не писать return 0. В этом случае компилятор за нас вернет 0.
Да это так, но в том то и дело, что можем. Вот лично я всегда пишу, поэтому и по привычке написал эту строчку в том коде, и я не думаю, что это можно считать замечанием...

Последний раз редактировалось Rembo; 01.06.2008 в 17:17.
Rembo вне форума Ответить с цитированием
Старый 01.06.2008, 17:58   #7
filosof_x86
...
Форумчанин
 
Аватар для filosof_x86
 
Регистрация: 01.06.2008
Сообщений: 134
По умолчанию

Цитата:
// эту строчку вроде не нужно писать,
// для остановки просмотра результатов, но так как
// функция int main() возвращает целочисленное
// значение, то пишем return 0;
Ключевое слово в комментарии – «вроде». Я же уточнил, что это никак не влияет. Если не так понял написанное – извиняюсь

P.S. по поводу того, что можем не писать return 0: это уже просто дополнение, не замечание. И я так же предпочитаю писать явно
filosof_x86 вне форума Ответить с цитированием
Старый 19.03.2011, 21:00   #8
lucky_beggar
Пользователь
 
Регистрация: 19.03.2011
Сообщений: 22
По умолчанию новичок

помогите, пожалуйста. я совсем новичок. у меня есть компилятор DEV C++ и учебник по C++. прочитал страниц 30 и вот первая прога: #include <iostream>
using namespace std;
int main()
{
cout<<"Hello World!\n";
return 0;
}

и она не получается.
Я компилирую исходник, а потом через файл приложение запускаю программу. Быстро появляется и также быстро проподает досовское окно. на экране не пишет заветные слова "Привет мир".
Помогите пожалуйста.
lucky_beggar вне форума Ответить с цитированием
Старый 20.03.2011, 16:08   #9
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
По умолчанию

Напишите:
Цитата:
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World!\n";
system("PAUSE");
return 0;
}
Ну или типа того... Я не помню...
Не стоит читать свои переписки двухлетней давности...
genrix вне форума Ответить с цитированием
Старый 27.03.2011, 00:33   #10
lucky_beggar
Пользователь
 
Регистрация: 19.03.2011
Сообщений: 22
По умолчанию

Помогите, пожалуйста. Полетел комп. И файл С:\ВООТ.. потерян. Как поставить винду?
lucky_beggar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему фрилансеру N!ckeL Свободное общение 8 12.06.2008 12:43
помогите начинающему программисту alexs2141 Помощь студентам 3 02.06.2008 10:17
Помогите начинающему программисту. Chaos_bers Помощь студентам 5 26.09.2007 20:58
Помогите начинающему программисту Pog Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 06.05.2007 01:43
Помогите начинающему. Небесный Общие вопросы Delphi 12 04.02.2007 08:56