Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 27.05.2015
Сообщений: 86
.NET 4.x

Код не выполняется

01.11.2017, 11:22. Показов 1208. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Решил порешать всякие студенческие простенькие задачки в консоли (аля запрограммируйте такую-то функцию F(x)) и столкнулся с проблемой, которая меня просто напросто ввела в ступор.
суть программы: ввести с клавиатуры два значения, на основе которых вывести результат функции Fx.

Вроде бы всё просто, инициализирую переменные, вывожу сообщение с просьбой ввести данные, далее ввожу первый параметр X и понеслась... во первых: введённое значение с клавиатуры не соответствует действительности (например ввожу 7, а в памяти переменной в отладчике 55), далее следующий ввод параметра R просто игнорируется (ввода с консоли нет) и в эту переменную забивается рандомное число.

Я может переработал и забыл какую-нибудь банальную фигню, но в упор не могу понять в чём дело.
Код программы:
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
using System;
 
namespace lr2z1v6
{
    class Program
    {
        static void Main(string[] args)
        {
            int R;
            double X;
            double Y = 0;
 
            Console.WriteLine("Введите значение аргумента X:");
            X = Convert.ToDouble(Console.Read());
 
            Console.WriteLine("Введите значение R:");
            R = Convert.ToInt32(Console.Read());
 
            Fx(X, R, out Y);
            Console.WriteLine("Y = " + Y);
 
            Console.Read();
        }
 
        static void Fx(double x, int r, out double y)
        {
            y = 0;
            if (x < -5)
            {
                y = -3;
            }
            else
                if (x >= -(r + 2) && x < -r)
                {
                    y = x + 3;
                }
                else
                    if (x >= -r && x < r)
                    {
                        y = Math.Sqrt(r * r - x * x);
                    }
                    else
                        if (x >= r && x < 8)
                        {
                            y = (3 / 5) * x - 9 / 5;
                        }
                        else
                            if (x >= 8)
                            {
                                y = 3;
                            }
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.11.2017, 11:22
Ответы с готовыми решениями:

Код не выполняется в одном месте, но выполняется в другом
Вот код процедуры: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; ...

Не выполняется код
Подскажите в чем ошибка.. Отправляю с одной страницы &lt;a href=&quot;goto_olymp.php?cmath=1&quot;&gt;go&lt;/a&gt; На другой ловлю,...

Не выполняется код на Си
Первое число вводится,а цикл не выполняется и программа прекращает свою работу. Не знаю, что делать. Помогите... #include...

3
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
01.11.2017, 11:30
Лучший ответ Сообщение было отмечено tagota как решение

Решение

Read читает символ, а не строку со значением, так что в Вашем случае надо использовать ReadLine. Дополнительно в:
C#
1
2
3
4
else if (x >= r && x < 8)
            {
                y = (3 / 5) * x - 9 / 5;
            }
нужно явно указать что ответ должен быть с плавающей запятой, для этого числа надо привести к типу дабл например так:
C#
1
2
3
4
else if (x >= r && x < 8)
            {
                y = (3D / 5D) * x - 9D / 5D;
            }
1
1 / 1 / 1
Регистрация: 27.05.2015
Сообщений: 86
01.11.2017, 11:42  [ТС]
Спасибо, добрый человек. Так и знал, что проблема заключалась в какой-то фигне)
А с приведение типа проблем нет. Рассчитывается и отображается всё правильно, так что всяких 3d и прочее писать не вижу смысла
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
01.11.2017, 12:04
tagota, при делении int на int получается int приведение чисел нужно для того чтобы получить деление не целочисленное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2017, 12:04
Помогаю со студенческими работами здесь

Не выполняется код
Нужно сделать так, чтобы компилятор прожовував функцию sprintf. Возможно как-то это сделать? Error 1 error C4996: 'sprintf': This...

Не выполняется код
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles...

Не выполняется код
&lt;HTML&gt; &lt;HEAD&gt; &lt;meta charset='utf-8'&gt; &lt;link rel='stylesheet' type='text/css' href='style.css'&gt; &lt;SCRIPT type='text/javascript'...

Не выполняется код, .each
Пытался написать проверку всех элементов, и когда &quot;background&quot; == &quot;black&quot;, то просто заменить цвет, но задумка не выполнилась. В чём...

Не выполняется php код
&lt;select id=&quot;lol&quot; onchange=&quot;javascript: lol();&quot;&gt; &lt;option value=&quot;0&quot;&gt;Выбрать&lt;/option&gt; &lt;!--?php do{ echo(&quot;&lt;option value='$lol'...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru