Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Kopmec
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 31
#1

Обьясните пожалуйста - C++

14.08.2011, 19:15. Просмотров 1542. Ответов 30
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*Эта программа преобразует галлоноы в литрыс помощью 
чисел с плавающей точкой.*/
 
#include <iostream>
using namespace std;
int  main()
{
     double gallons,liters;
     cout<<"Введите количество галлонов:";
     cin >> gallons; " Ввод данных галлонов: ";
     liters= gallons * 3.7854; //Преобразование в литры.
     cout <<"Литров:"<<liters;
     return 0;
}
Скомпируйте и выполните эту программу.На приглашение указать количество галонов
введите число 1. В качестве результата программа должна отобразить 3.7854 литра.
Помачите разобраться если при выполнении этой программы появляеться командная строка
вот с такой писаниной -┬тхфшЄх ъюышўхёЄтю урыыюэют:
При вводе числа 1 в командную строку нечего не происходит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2011, 19:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обьясните пожалуйста (C++):

Обьясните пожалуйста - C++
struct Test { void test(); }; int main() { Test *ptr = NULL; ptr-&gt;test(); }

обьясните пожалуйста! - C++
1111 = 15 &amp; 1001 = 9 1001 = 9 Результат равен 9. ...

обьясните пожалуйста код - C++
#include&lt;cstdio&gt; #include&lt;cstdlib&gt; #include&lt;iostream&gt; #include&lt;string.h&gt; using namespace std; class NameDataSet { public: ...

Я новичок, обьясните пожалуйста ошибки - C++
Почитал учебники. Скачал 6 вижуал. забабахал вот такой код, а программа даж не компилируется(( #include &lt;stdio.h&gt; #include...

Пожалуйста обьясните мне битовые поля. - C++
Пожалуйста обьясните мне битовые поля. НЕ могу понять зачем они нужны, множество мануалов перечитал.

Обьясните пожалуйста небольшой кусок кода - C++
Добрый день. Написал программу списка, но не совсем понимаю работу одного куска программы! А именно там где происходит добавление...

30
jafrey kerns
5 / 5 / 0
Регистрация: 12.08.2011
Сообщений: 24
14.08.2011, 19:40 #2
Скомпилировал в MS VS 2010Express. Все работает, только идет в одну строку и проблемы русской кодировкой. После подсказок форума, ябы сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*Эта программа преобразует галлоноы в литрыс помощью 
чисел с плавающей точкой.*/
 
#include <iostream>
#include <locale>
 
using namespace std;
int  main()
{
     setlocale(LC_ALL,"Rus");
 
     double gallons,liters;
     cout<<"Введите количество галлонов: \n";
     cin >> gallons; // Ввод данных галлонов
     liters= gallons * 3.7854; //Преобразование в литры.
     cout <<"Литров: "<<liters<<"\n";
     return 0;
}
1
rooot
4 / 2 / 1
Регистрация: 20.04.2011
Сообщений: 9
14.08.2011, 19:41 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <conio.h>
using namespace std;
 
int  main()
{
     setlocale(LC_ALL, "Russian");
     double gallons,liters;
     cout<<"Введите количество галлонов:";
     cin >> gallons; " Ввод данных галлонов: ";
     liters= gallons * 3.7854; //Преобразование в литры.
     cout <<"Литров:"<<liters;
     getche()
     return 0;
}
0
Сыроежка
Заблокирован
14.08.2011, 19:45 #4
Цитата Сообщение от Kopmec Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*Эта программа преобразует галлоноы в литрыс помощью 
чисел с плавающей точкой.*/
 
#include <iostream>
using namespace std;
int  main()
{
     double gallons,liters;
     cout<<"Введите количество галлонов:";
     cin >> gallons; " Ввод данных галлонов: ";
     liters= gallons * 3.7854; //Преобразование в литры.
     cout <<"Литров:"<<liters;
     return 0;
}
Скомпируйте и выполните эту программу.На приглашение указать количество галонов
введите число 1. В качестве результата программа должна отобразить 3.7854 литра.
Помачите разобраться если при выполнении этой программы появляеться командная строка
вот с такой писаниной -┬тхфшЄх ъюышўхёЄтю урыыюэют:
При вводе числа 1 в командную строку нечего не происходит.
У вас в строке

C++
1
cin >> gallons; " Ввод данных галлонов: ";
имеется ничего не делающее выражение " Ввод данных галлонов: "; Вообще-то, компилятор обычно об этом сообщает в предупреждениях. Я не знаю, зачем вы написали этот строковый литерал в качестве отдельного предложения.

Что касается того, что программа ничего не делает, так вам надо в конце программы поставить задержку, иначе она быстро завершает свою работу. Например, можете перед return написать cin.get();
1
rooot
4 / 2 / 1
Регистрация: 20.04.2011
Сообщений: 9
14.08.2011, 19:47 #5
А при вводе числа все работает, просто компилятор после выполнения кода закрывает программу, вот для этого и необходим getche() или можно другими способами.
1
Kastaneda
Jesus loves me
Эксперт С++
4689 / 2893 / 236
Регистрация: 12.12.2009
Сообщений: 7,355
Записей в блоге: 2
Завершенные тесты: 1
14.08.2011, 19:53 #6
Нет под рукой компилятора, чтобы проверить свое предположение, может быть проблема в следующем:
На месте строки:
C++
1
" Ввод данных галлонов: ";
будет подставлен указатель на эту строку, т.е. какое-то 4-х байтовое число, как оно скомпилируется я не знаю (был бы компилятор, я бы проверил) и когда дело доходит до исполнения ассемблерного кода эти 4 байта могут быть восприняты как инструкция процессора, которая и приводит к зависанию программы (например может быть jmp куда-нибудь, где продолжается выполнение кода, но результата этой работы просто не видно).
В написанном не уверен, но кто его знает
1
Сыроежка
Заблокирован
14.08.2011, 19:55 #7
Цитата Сообщение от Kastaneda Посмотреть сообщение
Нет под рукой компилятора, чтобы проверить свое предположение, может быть проблема в следующем:
На месте строки:
C++
1
" Ввод данных галлонов: ";
будет подставлен указатель на эту строку, т.е. какое-то 4-х байтовое число, как оно скомпилируется я не знаю (был бы компилятор, я бы проверил) и когда дело доходит до исполнения ассемблерного кода эти 4 байта могут быть восприняты как инструкция процессора, которая и приводит к зависанию программы (например может быть jmp куда-нибудь, где продолжается выполнение кода, но результата этой работы просто не видно).
В написанном не уверен, но кто его знает
Не фантазируйте! Будет просто предупреждение на этапе компиляции, что это выражение ничего не делает. Только и всего.
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
14.08.2011, 20:11 #8
Цитата Сообщение от Сыроежка Посмотреть сообщение
Будет просто предупреждение на этапе компиляции, что это выражение ничего не делает.
Ну это зависит от компилятора. У меня gcc 4.4.1 TDM-2 mingw молчит как рыба
0
Kopmec
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 31
14.08.2011, 20:12  [ТС] #9
Цитата Сообщение от Сыроежка Посмотреть сообщение
У вас в строке

C++
1
cin >> gallons; " Ввод данных галлонов: ";
имеется ничего не делающее выражение " Ввод данных галлонов: "; Вообще-то, компилятор обычно об этом сообщает в предупреждениях. Я не знаю, зачем вы написали этот строковый литерал в качестве отдельного предложения.

Что касается того, что программа ничего не делает, так вам надо в конце программы поставить задержку, иначе она быстро завершает свою работу. Например, можете перед return написать cin.get();
Сори я просто ошибся в написании там пишеться "Ввод данных от пользователя"
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
14.08.2011, 20:15 #10
Kopmec, да имелось ввиду что между cin >> gallons и "Ввод данных от пользователя" стоит точка с запятой, которая терминирует инструкцию ввода галлонов, и "Ввод данных от пользователя" рассматривается как самостоятельная бессмысленная инструкция должно было, наверное, быть так:

C++
1
2
cin >> gallons;
cout << "Ввод данных от пользователя" ;
1
Kopmec
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 31
14.08.2011, 20:18  [ТС] #11
Короче я так понял что программа работает только при вводе числа 1 она закрываеться уже с полученым результатом 3.7854 но если так можно ли както замедлить закрывание командной строки чтобы она закрывалась хотябы через секунды 2 чтобы точно убедиться в правильно работе и вычесления
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
14.08.2011, 20:19 #12
Kopmec, есть такая вещь, как поиск и ПРИКРЕПЛЁННЫЕ ТЕМЫ. Вы их смотрели? Например: http://www.cyberforum.ru/cpp-beginners/thread10807.html
1
Kopmec
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 31
14.08.2011, 20:23  [ТС] #13
Цитата Сообщение от talis Посмотреть сообщение
Kopmec, есть такая вещь, как поиск и ПРИКРЕПЛЁННЫЕ ТЕМЫ. Вы их смотрели? Например: http://www.cyberforum.ru/cpp-beginners/thread10807.html
да я читал по этой ссылки я про другое при выполнении открываеться командная строка ввожу 1 и нажимаю на интер но я неуспеваю просмотреть полученый результат
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
14.08.2011, 20:27 #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdlib.h> // system()
#include <conio.h>  // getch()
#include <stdio.h>  // getchar()
 
int main()
{
    /* ваш код тут */
 
 
    system( "pause > nul" );
 
    //или
    getch();
 
    //или
    getchar();
 
    return 0;
}
Держите, и удачи вам.

Не по теме:

То ли я устаю, то ли люди вокруг меняются...

1
Kopmec
0 / 0 / 0
Регистрация: 13.08.2011
Сообщений: 31
14.08.2011, 20:31  [ТС] #15
Я хочу узнать можно ли сделать чтоб при вводе 1 у меня не закрылась командная строка а показывала полученый результат

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int  main()
{
     double gallons,liters;
     cout<<
     cin >> gallons; // Ввод данных от пользователя.
     liters= gallons * 3.7854; 
     cout <<"Литров:"<<liters;
     cin.get();
     return 0;
}
что нужно чтоб затормозить полученый результат после считывания а не при вводе числа1
0
14.08.2011, 20:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2011, 20:31
Привет! Вот еще темы с ответами:

Обьясните пожалуйста, что делает эта программа? - C++
#include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #define size unsigned char class Matrix{ size m,n; //Размеры...

Обьясните пожалуйста что делает эта программа - C++
#include &lt;iostream&gt; using namespace std; int main (void) { unsigned char a=(int)127; a&lt;&lt;=2; a&amp;=52; a|=3; ...

Народ, обьясните пожалуйста человеческим языком задание - C++
Если можно напишите кусками кода, или хотя-бы словами порядок выполнения

Обьясните пожалуйста , что значат эти строки) - C++
1)#include &lt;vcl.h&gt; #pragma hdrstop USEFORM(&quot;cursach.cpp&quot;, Form1); WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru