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

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

Войти
Регистрация
Восстановить пароль
 
~enGiNe.O`
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
#1

Помогите с переменной. - C++

11.11.2011, 18:05. Просмотров 424. Ответов 10
Метки нет (Все метки)

Здравствуйте!
У меня возникла проблема с выводом переменной на cmd.
Код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
using namespace std;
int main(){
    string cls = "cls";
    string q;
    string info = "help";
    string mbtokb = "mb_to_kb";
    double x;
    double y = x*1024;
    string kbtobt = "kb_to_bt";
    double x1;
    double y1 = x1 * 1024;
    string bttobit = "bt_to_bit";
    double x2;
    double y2 = x2 * 8;
    cout << "If you need a help, write 'help'." << endl;
    begin:
    cout << "Enter a operation: ";
    cin >> q;
    if (q == info ){
             cout << "   If you want translate megabyte to kilobyte, write 'mb_to_kb'." << endl;
             cout << "   If you want translate kilobyte to byte, write 'kb_to_bt'." << endl;
             cout << "   If you want translate bytes to bits, write 'bt_to_bit'." << endl;
             cout << "   If you want clear a display, write 'cls'" << endl;
             cout << "Enter a operation: ";
             cin >> q;
                if (q == mbtokb){
                   cout << "Input a weight in megabytes: ";
                   cin >> x;
                   cout << "Weight in kilobytes: " << y << endl;
                   }
                   if (q == kbtobt){
                         cout << "Input a weight in kilobytes: ";
                         cin >> x1;
                         cout << "Weight in bytes: " << y1 << endl;
                   }
                   if (q == bttobit){
                         cout << "Input a weight in bytes: ";
                         cin >> x2;
                         cout << "Weight in bits: " << y2 << endl;
                         }
                   if (q == cls){
                         system("cls");
                         }
             
             }
             else if (q == mbtokb){
                   cout << "Input a weight in megabytes: ";
                   cin >> x;
                   cout << "Weight in kilobytes: " << y << endl;
                   }
             else if (q == kbtobt){
                   cout << "Input a weight in kilobytes: ";
                   cin >> x1;
                   cout << "Weight in bytes: " << y1 << endl;
                   }
             else if(q == kbtobt){
                   cout << "Input a weight in kilobytes: ";
                   cin >> x1;
                   cout << "Weight in bytes: " << y1 << endl;
                   }
             else if (q == cls){
                  system("cls");
                   }
    goto begin;
    system ("pause");
    return 0;
}
Когда вводишь числа и они переводятся в другую [СИ], то выводятся какие-то непонятные числа.
Можете подсказать какую переменную нужно использовать ?Если можно, то поподробнее рассказать
об этой переменной, я новичек. Буду очень благодарен за внятный ответ!

P.S. Программа переводит из мегабайт в килобайты, из килобайт в байты и из байт в биты.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2011, 18:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите с переменной. (C++):

a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b - C++
даны произвольные числа a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b.

Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С - C++
Массив С действительных чисел имеет 5 строк и 11 столбцов. Присвоить значение наименьшего элемента массива переменной М1, номер строки, где...

Переменной d присвоить первую цифру после запятой некоторой переменной x типа float - C++
Нужно целой переменной d присвоить первую цыфру после комы некоторой переменной x типа float Скажите, пожалуйста, с чего начать и по...

Получить доступ к переменной класса при наличии такого же имени переменной в функции - C++
Например, есть приватная переменная clientName в классе. Также есть точно такая же переменная в конструкторе этого класса. И мне нужно...

Часть имени переменной как значние другой переменной - C++
Нужно чтобы имя переменной состояло как бы из двух частей к примеру переменную x1 надо записать так чтобы число 1 было в другой...

Создать две переменных, ввести их с клавиатуры. Вывести строки: имя переменной - адрес переменной - значение п - C++
Создать две переменных, ввести их с клавиатуры. Вывести строки: имя переменной - адрес переменной - значение переменной.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.11.2011, 18:28 #2
Еще бы у вас непонятно что не выводилось. Вы сначала определяете double y = x*1024, а потом вводите x, нужно наоборот. Тоже самое с y1, y2
0
~enGiNe.O`
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
11.11.2011, 18:35  [ТС] #3
Thinker, если сначала вывести переменные: y,y1 и y2 то компилятор выдает ошибку...
0
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.11.2011, 18:38 #4
Цитата Сообщение от ~enGiNe.O` Посмотреть сообщение
Thinker, если сначала вывести переменные: y,y1 и y2 то компилятор выдает ошибку...
Да не то все, смотрите, вы определили переменную double x; пока в ней мусор хранится и вы этот мусор умножаете на 1024.
надо же примерно так:
double x, y;
cin >> x;
y = 1024*x;
такая хронология событий
1
~enGiNe.O`
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
11.11.2011, 18:46  [ТС] #5
Thinker, спасибо, заработало. Но одна проблема. При умножении больше чем на 3 программа
не умножает, а пишет только максимальное число (3 тыс. с чем-то там, не помню точно). Может
тогда использовать тип переменных: long double ?

Нет, типом переменной: long double - не работает.
0
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.11.2011, 18:53 #6
Может у вас что-то напутано, но вот, например

C++
1
2
3
4
5
6
7
#include<iostream>
int main()
{
    double x = 500;
    std::cout << x*1024;
    return 0;
}
все нормально выводит. Тип double достаточно большой диапазон поддерживает
1
~enGiNe.O`
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
11.11.2011, 18:53  [ТС] #7
Сейчас проверю.
0
Dar101
40 / 40 / 1
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 18:55 #8
Да всё нормально там с типом, надо ошибки искать — сделай printscreen места, которое тебе не нравится.
*Отличный аватар.
0
~enGiNe.O`
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
11.11.2011, 18:59  [ТС] #9
Да, работает, спасибо больное,Thinker!

Добавлено через 47 секунд
Цитата Сообщение от Dar101 Посмотреть сообщение
*Отличный аватар.
Спасибо

Добавлено через 1 минуту
А, и еще вопросик(если не надоел ).
Как можно программно выйти из CMD ?
0
Dar101
40 / 40 / 1
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 19:01 #10
return 0;
1
~enGiNe.O`
6 / 6 / 1
Регистрация: 06.08.2011
Сообщений: 45
11.11.2011, 19:05  [ТС] #11
Dar101, спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2011, 19:05
Привет! Вот еще темы с ответами:

Присвоить переменной char m значиние переменной int i.. - C++
Как присвоить переменной char m значиние переменной int i таким образом ? int main() { char m; int i = 5; m = i; # ( что бы...

Загрузка переменной из DLL (GetProcAddress не берет значение переменной из *.dll) - C++
GetProcAddress не берет значение переменной из *.dll Не могу понять почему. Помогите. ------------------------- *********** ...

Переменной d присвоить наибольшее из трех чисел, а переменной s наименьшее из трех чисел. - C++
Написать код программы с помощью оператора if в С++ Составить программу, которая переменной d присваивает наибольшее из трех чисел, а...

Помогите разобраться с переменной $col - JavaScript
&lt;xsl:template match=&quot;row &lt;xsl:variable name=&quot;col &lt;xsl:choose&gt; &lt;xsl:when test=&quot;//row/cell/@atrib ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.11.2011, 19:05
Ответ Создать тему
Опции темы

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