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

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

Войти
Регистрация
Восстановить пароль
 
Greyzer
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 51
#1

Cin и компьютер без MSVS - C++

18.05.2014, 16:51. Просмотров 284. Ответов 2
Метки нет (Все метки)

Здравствуйте! Проблема возникла на компьютере, где нет ни MSVS, ни каких-либо других SDK. Суть в следующем: попросили написать простенькую консольную программку для расчетов. Использую Visual Studio 2013. У меня все работает как вроде бы и было задумано, у человека на удаленном компьютере - нет. Конкретно проблема в вводе данных cin'ом. Проверял также и на виртуальной машине - все работало. Предположил, что может быть у меня что-то установлено, а у человека на удаленном компьютере нет... Подскажите, пожалуйста, в чем может быть проблема или ЧЯДНТ?

Cin и компьютер без MSVS

Кликните здесь для просмотра всего текста
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <stdio.h>
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "");
    int To = 293, F = 7, Ta;
    float k = 1.38*pow(10, -23), Bp = 7.61*pow(10, 6), f = 682*pow(10, 6), Ga, Pn;
    float Pin1, Pin2, Pin3, Pin4, Pin5, Pin6, Pin7;
    float Pdbm1, Pdbm2, Pdbm3, Pdbm4, Pdbm5, Pdbm6, Pdbm7;
    float Uinmin1, Uinmin2, Uinmin3, Uinmin4, Uinmin5, Uinmin6, Uinmin7;
    float Emin1, Emin2, Emin3, Emin4, Emin5, Emin6, Emin7;
    float Emin1a, Emin2b, Emin3c, Emin4d, Emin5e, Emin6f, Emin7g;
    char answer;
    char InputArg;
    char final_answer;
    do
    {
        cout << "Исходные данные: " << endl
            << "1) " << "To" << " = " << "293" << endl
            << "2) " << "k " << " = " << "1.38*10^-23" << endl //x^n=exp(n*ln(x))
            << "3) " << "F " << " = " << "7" << endl
            << "4) " << "Bp" << " = " << "7.61*10^6" << endl
            << "5) " << "f " << " = " << "682*10^6\n" << endl
            << "Требуется ли менять исходные данные?" << endl
            << "y/n" << endl;
        cin >> answer;
        if (answer == 'y')
        {
            cout << "Какие параметры должны быть изменены? Выберите номер параметра. Для выхода и отмены изменений введите \"q\"" << endl;
            for (int i = 0; i <= 4; i++)
            {
                cout << "№ = ";
                cin >> InputArg;
                switch (InputArg)
                {
                case '1':
                    cout << "To = ";
                    cin >> To;
                    break;
                case '2':
                    cout << "Постоянная Больцмана является константой!" << endl;
                    break;
                case '3':
                    cout << "F = ";
                    cin >> F;
                    break;
                case '4':
                    cout << "Bp = ";
                    cin >> Bp;
                    Bp = Bp*pow(10, 6);
                    break;
                case '5':
                    cout << "f = ";
                    cin >> f;
                    f = f*pow(10, 6);
                    break;
                case 'q':
                    i = 5;
                    break;
                default:
                    cout << "Введено неверное значение!" << endl;
                    i = 0;
                    break;
                }
            }
        }
        cout << "Ga = " << (Ga = 12 + (10 * log10(f / (800 * pow(10, 6))))) << " - Коэффициент усиления антенны, дБ(dB)" << endl; //коэффициент усиления антенны, дБ
        cout << "Ta = " << (Ta = (1200 / f) + To) << " - Шумовая температура антенны, K" << endl; //Шумовая температура антенны
        cout << "Pn = " << (Pn = F + 10 * log10(k*Ta*Bp)) << " - Шумовая входная мощность, дБ(dB)" << endl; //Шумовая входная мощность, дБ
        cout << "Минимальная входная мощность для значений C/N: 2, 8, 14, 20, 26, 30, 35" << endl
            << "Pin1 = " << (Pin1 = Pn + 2) << " дБВт (dBW)" << endl
            << "Pin2 = " << (Pin2 = Pn + 8) << " дБВт (dBW)" << endl
            << "Pin3 = " << (Pin3 = Pn + 14) << " дБВт (dBW)" << endl
            << "Pin4 = " << (Pin4 = Pn + 20) << " дБВт (dBW)" << endl
            << "Pin5 = " << (Pin5 = Pn + 26) << " дБВт (dBW)" << endl
            << "Pin6 = " << (Pin6 = Pn + 30) << " дБВт (dBW)" << endl
            << "Pin7 = " << (Pin7 = Pn + 35) << " дБВт (dBW)" << endl;
        cout << "В дБм-х: " << endl
            << "Pdbm1 = " << (Pdbm1 = Pin1 + 30) << " дБм (dBm)" << endl
            << "Pdbm2 = " << (Pdbm2 = Pin2 + 30) << " дБм (dBm)" << endl
            << "Pdbm3 = " << (Pdbm3 = Pin3 + 30) << " дБм (dBm)" << endl
            << "Pdbm4 = " << (Pdbm4 = Pin4 + 30) << " дБм (dBm)" << endl
            << "Pdbm5 = " << (Pdbm5 = Pin5 + 30) << " дБм (dBm)" << endl
            << "Pdbm6 = " << (Pdbm6 = Pin6 + 30) << " дБм (dBm)" << endl
            << "Pdbm7 = " << (Pdbm7 = Pin7 + 30) << " дБм (dBm)" << endl;
        cout << "Минимальное эквивалентное входное напряжение приемника: " << endl
            << "Uinmin1 = " << (Uinmin1 = F + 2 - 21 + 10 * log10(Ta)) << " dBuV" << endl
            << "Uinmin2 = " << (Uinmin2 = F + 8 - 21 + 10 * log10(Ta)) << " dBuV" << endl
            << "Uinmin3 = " << (Uinmin3 = F + 14 - 21 + 10 * log10(Ta)) << " dBuV" << endl
            << "Uinmin4 = " << (Uinmin4 = F + 20 - 21 + 10 * log10(Ta)) << " dBuV" << endl
            << "Uinmin5 = " << (Uinmin5 = F + 26 - 21 + 10 * log10(Ta)) << " dBuV" << endl
            << "Uinmin6 = " << (Uinmin6 = F + 30 - 21 + 10 * log10(Ta)) << " dBuV" << endl
            << "Uinmin7 = " << (Uinmin7 = F + 35 - 21 + 10 * log10(Ta)) << " dBuV" << endl;
        cout << "Минимальная напряженность поля: " << endl
            << "Emin1 = " << (Emin1 = -30 + F + 2 - Ga + 20 * log10(f)) << " dBuV/m" << endl
            << "Emin2 = " << (Emin2 = -30 + F + 8 - Ga + 20 * log10(f)) << " dBuV/m" << endl
            << "Emin3 = " << (Emin3 = -30 + F + 14 - Ga + 20 * log10(f)) << " dBuV/m" << endl
            << "Emin4 = " << (Emin4 = -30 + F + 20 - Ga + 20 * log10(f)) << " dBuV/m" << endl
            << "Emin5 = " << (Emin5 = -30 + F + 26 - Ga + 20 * log10(f)) << " dBuV/m" << endl
            << "Emin6 = " << (Emin6 = -30 + F + 30 - Ga + 20 * log10(f)) << " dBuV/m" << endl
            << "Emin7 = " << (Emin7 = -30 + F + 35 - Ga + 20 * log10(f)) << " dBuV/m" << endl;
        cout << "Минимальная напряженность поля, расчитанная через минимальную входную мощность (PdBm): " << endl
            << "Emin1 = " << (Emin1a = Pdbm1 - Ga + 77.2 + 20 * log10(f)) << " dB" << "u" << "V/m" << endl
            << "Emin2 = " << (Emin2b = Pdbm2 - Ga + 77.2 + 20 * log10(f)) << " dB" << "u" << "V/m" << endl
            << "Emin3 = " << (Emin3c = Pdbm3 - Ga + 77.2 + 20 * log10(f)) << " dB" << "u" << "V/m" << endl
            << "Emin4 = " << (Emin4d = Pdbm4 - Ga + 77.2 + 20 * log10(f)) << " dB" << "u" << "V/m" << endl
            << "Emin5 = " << (Emin5e = Pdbm5 - Ga + 77.2 + 20 * log10(f)) << " dB" << "u" << "V/m" << endl
            << "Emin6 = " << (Emin6f = Pdbm6 - Ga + 77.2 + 20 * log10(f)) << " dB" << "u" << "V/m" << endl
            << "Emin7 = " << (Emin7g = Pdbm7 - Ga + 77.2 + 20 * log10(f)) << " dB" << "u" << "V/m" << endl;
        cout << "Выйти из программы?" << endl;
        cin >> final_answer;
    } while (final_answer != 'y');
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 16:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cin и компьютер без MSVS (C++):

Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода - C++
Почему в моем случае getline(cin, m) не срабатывает без cin.ignore() ? Если по коду есть какие-нибудь замечания, то просьба написать что не...

Как запустить приложение на компьютерах без установленной MSVS - C++
всем привет в универе начали изучать с\с++. поставил студию, написал прогу, выбираю &quot;запустить&quot;-работает, далее я так понял чтобы...

Защита от дурака при вводе текста с помощью: cin.get cin.clear cin.sync - C++
Доброго времени суток. На С++ учусь с недавних пор. Имеется стандартная &quot;защита от дурака&quot; на ввод. Не пойму предназначение cin.get() !=...

Объясните пожалуйста как работают cin.good(), cin.sync(), cin.clear() - C++
Такая проблема: сдаю в вуза лабораторные по программированию, писал все сам, до этого c++ не изучал, поэтому возникали некоторые проблемы....

Конвертировать с MsVS 2008 в MsVS 2010 - C++
У меня есть проект на MsVS 2008. Он состоит с нескольких файлов, которые потом подключаются в основной программе. Как можно сделать чтобы...

cin без перехода - C++
Доброе время суток! как ввести дав числа не переходя на следующюю строку, а через пробел? что бы в консоли выглядело приблизительно так ...

2
nmcf
5685 / 4996 / 1703
Регистрация: 14.04.2014
Сообщений: 20,383
18.05.2014, 17:01 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
InputArg сделай числом или строкой.
1
zss
Модератор
Эксперт С++
6578 / 6140 / 2021
Регистрация: 18.12.2011
Сообщений: 15,996
Завершенные тесты: 1
18.05.2014, 17:03 #3
круто!
Цитата Сообщение от Greyzer Посмотреть сообщение
1.38*pow(10, -23)
надо писать 1.38e-23
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2014, 17:03
Привет! Вот еще темы с ответами:

cin без перехода на новую строку - C++
Как сделать, чтобы после считывания cin курсор не переводился на новую строку, а оставался на старой?

Как работает cin.ignore(), именно в том случае, когда он написан без параметров? - C++
Объясните, пожалуйста, как работает cin.ignore(), именно в том случае, когда написан без параметров заранее спасибо!

Продемонстрировать различие между вводом с помощью cin.Get и cin.Getline с тремя параметрами - C++
Нужна помощь. Задача продемонстрировать различие между вводом с помощью cin.get и cin.getline с тремя параметрами, как из потока достать...

Для чего в код вводится cin.ignore после того, как cin>> уже сработало? - C++
Доброго времени суток! Просматриваю простой код. Вводится строка типа string: фунты и дюймы Затем значения переводится в типы int и...


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

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

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