2 / 2 / 0
Регистрация: 04.01.2017
Сообщений: 77
1

Некорректно работает консоль при программировании в visual studio

05.03.2017, 21:56. Показов 2950. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
при запуске консольного приложения в VS сначала программа работает но после изменений кода и возврата к прежнему начинает работать неккоректно, притом ставил VS 2015 и VS2008, все тоже самое,лечится только перезагрузкой компьютера.Подскажите где может быть проблема?

В частности менял например вот это (a&&x>0) на вот это (a||x>0) консоль работала неккоректно,даже когда изменил на начальное состояние.


код программы:
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
#include <windows.h>
#include<stdio.h>
#include<conio.h>
#include<locale.h>
#include<math.h>
#include <fstream>
#include <cmath>
#include <iostream>
#include <stdlib.h>
int main(void)
{
    setlocale(LC_ALL, "RUS");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int p1 = 0, p2 = 0;
    double x, y, a, t1, t2;
    printf ( "введите x,y,a>\n" );
    scanf ( "%lf %lf %lf", &x,&y,&a );
    if (a&&x>0)
    {
        t1 = 1/(4 * pow (a, 2.0)) * pow (x, 2.0) + 1/(2 * pow (a, 4.0) * x) + 1/(2 * pow (a, 6.0)) * log (pow (y, 2)/(x));
        printf("t1=%8.3lf\n", t1);
    }
    else { p1 = 1; printf("t1=error\n"); }
    if (sin(a*x) + cos(a*x) > 0&&a 
        )
    {
        t2 = x / 2 + 1 / (2 * a)*log(sin(a*x) + cos(a*x)); printf("t2=%8.3lf\n", t2);
    }
    
    else { p2 = 1; printf("t2-error\n"); }
    if (p1 == 0 && p2 == 0)
     if (t2 == 0)printf("t1/t2-divide by 0\n");
     else printf("t1/t2=%8.3lf\n", t1 / t2);
    else  printf("t1 or t2 not define \n"); 
    getch();
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2017, 21:56
Ответы с готовыми решениями:

В коде возникли ошибки при переходе с Visual studio 2013 на Visual studio 2017
Добрый день, решил попробовать поменять свою 2013 студию на 2017 и заметил такую проблему, при...

Работает в Borland Developer Studio 2006 но не работает в Visual Studio 2008, почему?
Вводим строку и меняем в ней первый и последний символы. Всё хорошо в Borland Developer Studio, а...

Visual studio commutity вывод в консоль возвращающего значения
Не выводит return в консоль как решить эту проблему? Вот значит я решаю простенькие задачки вот...

Visual studio 2010 c++ пропадает консоль. не могу найти ошибку
Задача. найти такую расстановку пяти ферзей на шахматной доске, при которой каждое поле будет...

24
2 / 2 / 0
Регистрация: 04.01.2017
Сообщений: 77
06.03.2017, 19:52  [ТС] 21
Author24 — интернет-сервис помощи студентам
стоит на раскладке,когда переключаюсь на русский. Пробовал сейчас без этой строки.

Добавлено через 4 минуты
когда переключена клавиатура на англ. , тогда если использую для делителя запятую циферную кнопка "del",тогда нормально все,но если язык переключить на русский и вводить переменные также используя эту кнопку,тогда вылазит эта ошибка.

Добавлено через 4 минуты
реально три дня уже ковыряюсь не могу причину найти,если бы не ты еще наверное и дальше продолжал копаться)

Добавлено через 1 минуту
может кому еще полезно будет,проблемка какая то не ординарная что ли)
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
06.03.2017, 20:02 22
Цитата Сообщение от sativan Посмотреть сообщение
для делителя запятую циферную кнопка "del"
Зачем циферную используешь? Почему не основную клавиатуру?

Добавлено через 9 минут
Не знал я, что ты цифровую клаву используешь. Если использовать основную, то код из первого поста будет нормально работать, если запятую использовать, если убрать setlocale(LC_ALL, "RUS"), то точку использовать.
Если цифровую использовать, то при setlocale(LC_ALL, "RUS") должна быть включена русская раскладка, без - английская.
1
2 / 2 / 0
Регистрация: 04.01.2017
Сообщений: 77
06.03.2017, 20:09  [ТС] 23
ну вот видишь такая простая вещь а хрен на нее подумаешь,я новичок в этом еще,поэтому много не знаю,вот и говорю тебе спасибо огромное,что столько времени убил вник в это и помог сильно мне.Я бы сам с учебниками много еще ковырялся бы)
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
06.03.2017, 20:33 24
Цитата Сообщение от sativan Посмотреть сообщение
вник в это
Я бы не вник, если бы не 21 пост.
Тут вся проблема была в цифровой клавиатуре. Если основную используешь, то там что ввёл (запятую или точку), то и будет, а цифровая сама выбирает, в зависимости от раскладки (ну, наверное, и от настроек ОС зависит) что поставить: запятую или точку. При русской раскладке вставляет запятую, при английской - точку. A чтобы код нормально обрабатывал запятую как разделитель, там нужно выставить русскую локаль, если не выставлять, то должна быть введена точка.
1
2 / 2 / 0
Регистрация: 04.01.2017
Сообщений: 77
06.03.2017, 20:50  [ТС] 25
так я и говорю спасибо тебе,я бы вообще не въехал бы сам в ближайшее время,а так и с программой помог и меня просветил,теперь буду знать.Да и не я один уверен,что с этим сталкивается,может кому и пригодится)
0
06.03.2017, 20:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2017, 20:50
Помогаю со студенческими работами здесь

Некорректно отображаются русские символы при вводе в консоль
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int...

Visual Studio выдаёт ошибку при вынесении объявления функции с template в .h файл. Без template всё работает
Проект содержит три файла: Source.cpp, arrTreat.h, arrTreat.cpp. Source.cpp: #include...

Не работает Visual Studio
При создании проекта не отображается окно редактирования кода я приложил скрин. Как исправить...

Имеются ли отличия в компиляторах у сред разработки Visual Studio 2006 и Visual Studio 2015 ?
скажите а где найти среду 2006 года? или можно использовать 2015 год?


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru