Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 28.02.2012, 18:45   #1
kishtuki
Новичок
Джуниор
 
Регистрация: 28.02.2012
Сообщений: 2
Сообщение О типах данных

Начал изучать c# вот код (всё работает):
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Myfirstprogramm
{
    class Program
    {
        static void Main(string[] args)
        {
            double x;

            x = ((140 * (double)7 / 30 - 138 * (double)5 / 12) / (18 * (double)1 / 6)) / (0.002);
                Console.WriteLine("Значение выражения равно {0}",x);
                Console.ReadLine();
        }
    }
}
но при этом коде компилятор выдаёт ошибку подчеркивая вывод y
Код:
Console.WriteLine("y = {0}",y);
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sample_3._1
{
    class Program
    {
        static void Main(string[] args)
        {
            double x,
            y;
            Console.WriteLine("Введите х = ");
            string s = Console.ReadLine();
            x = Convert.ToDouble(s);
            if (x < -7)
            {
                y = Math.Sin(Math.Pow(x, 2));
            }
            if (x >= -5 & x <= 12)
            {
                y = Math.Cos(x); 
            }
            if (x > 15)
            {
                y = Math.Tan(x) + Math.Exp(x); 
            } 
            Console.WriteLine("y = {0}",y);
            Console.ReadLine();
        }
    }
}
Вопрос почему так?

Последний раз редактировалось kishtuki; 28.02.2012 в 18:47.
kishtuki вне форума   Ответить с цитированием
Старый 28.02.2012, 20:27   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,003
По умолчанию

не думаю что компилятор выводит ошибку, а наверно при отладке.

у вас значение x при котором y не получила значения.

на будущее пишите ошибку.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 28.02.2012, 20:28   #3
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

во первых У перекинь в одну строчку, так красивее, в во вторых придай ему какое нибудь значение, например 0.


чуть чуть не успел первым ответить )))))))))))))
Программист это не профессия, программист - это образ жизни.

Последний раз редактировалось Prizrak86; 28.02.2012 в 20:32.
Prizrak86 вне форума   Ответить с цитированием
Старый 28.02.2012, 20:41   #4
kishtuki
Новичок
Джуниор
 
Регистрация: 28.02.2012
Сообщений: 2
По умолчанию

Цитата:
не думаю что компилятор выводит ошибку, а наверно при отладке.

у вас значение x при котором y не получила значения.

на будущее пишите ошибку.
Да вы правы.

Цитата:
во первых У перекинь в одну строчку, так красивее, в во вторых придай ему какое нибудь значение, например 0.
это всегда надо так делать?


и посоветуйте как вводить числовые данные наиболее эффективно
kishtuki вне форума   Ответить с цитированием
Старый 28.02.2012, 20:51   #5
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

если ты вводишь переменную ты можешь ей ничего и не присваивать но при этом если есть у тебя ветвление то во всех ветка должна пройти присвоение, в твоем случае есть два варианта или сделать присвоение в самом начале как я предлагал или сделать как феникс говорил, у тебя промежутки х принадлежит (-[бесконечности]; -7) а так же от а так же от [-5 ; 12] а так же от (15 ; +[бесконечности]) в остальных промежутках у тебя e ни как не определен, именно на них и нужно его определить. можно по мудрить с этим и сделать с начало сложное условие вот так
Код:
if (x < -7 ||x >= -5 & x <= 12||x > 15)
{
//тут все твои ифы без изменений
}
else
y=-1;
но проще сразу придать ему значение -1 или ноль, кому что нравиться....а как лучше задавать переменные э\то виднее программисту, каждый выбирает свой стиль.
Программист это не профессия, программист - это образ жизни.
Prizrak86 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема в типах artem611 Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2011 10:18
C# ошибка в типах Gohan Помощь студентам 1 20.02.2011 15:54
Не пойму в чём проблема. Кажется дело в типах.(С++) Зелёный Помощь студентам 2 26.11.2010 10:49
Запуталась в типах и переменных. Помогите пожалуйста! Kati Помощь студентам 2 20.06.2009 00:40


20:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.