Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 23:10   #1
Arctopus
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 10
По умолчанию Вложенные циклы.

Доброе время суток, уважаемые
Начал изучать С#. Ни опыта, ни особых предварительных знаний ( не считая поверхностного изучения Паскаля на первых курсах вуза). Изучаю по книге Visual C# 2008 Базовый Курс.
Застрял на одном из начальных практических упражнений.
Значит, задача такая: ввод двух переменных, если оба меньше 10, то результат устраивает о чем выводится на экран. Если же оба числа больше 10, то выводится соответствующее сообщение и просит ввести их заного.


Код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int var1, var2;
            Console.WriteLine("Введите число 1");
            var1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите число 2");
            var2= Convert.ToInt32(Console.ReadLine());
            if ((var1 <= 10 && var2 <= 10))
            {
               
                Console.WriteLine("Вот ваши числа: {0} и {1} , они прошли проверку.", var1, var2);
            }
            else
            {
                Console.WriteLine("Оба числа больше 10, введите новое число!");
            }
            
            Console.ReadKey();
            



        }

    }
}
Реализовал простейшее. Одно проверку и выводы сообщений. Как цикл задать для возвращения к вводу чисел и повторной проверке? Весь вечер думал, но своими силами пока не выходит все это в голове представить. Буду признателен за помощь.
Arctopus вне форума Ответить с цитированием
Старый 19.02.2010, 23:27   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

например так
Код:
 while(true){
            Console.WriteLine("Введите число 1");
            var1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите число 2");
            var2= Convert.ToInt32(Console.ReadLine());
            if ((var1 <= 10 && var2 <= 10))
            {
               
                Console.WriteLine("Вот ваши числа: {0} и {1} , они прошли проверку.", var1, var2);
            }
            else
            {
                Console.WriteLine("Оба числа больше 10, введите новое число!");
            }
     }

Последний раз редактировалось NiCola999; 19.02.2010 в 23:29.
NiCola999 вне форума Ответить с цитированием
Старый 19.02.2010, 23:30   #3
Arctopus
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 10
По умолчанию

Убери лишние теги, а то тяжело для понимания
Arctopus вне форума Ответить с цитированием
Старый 19.02.2010, 23:31   #4
MacOSUser
Пользователь
 
Регистрация: 18.02.2010
Сообщений: 30
По умолчанию

http://programmersforum.ru/showthread.php?p=462512
последнее сообщение

ЗЫ Ну раз сообщение удалил, тогда вот:
Код:
bool ok;

do
{
...
}
while( !ok );
Весы в нижнем левом углу.

Последний раз редактировалось MacOSUser; 19.02.2010 в 23:34.
MacOSUser вне форума Ответить с цитированием
Старый 19.02.2010, 23:34   #5
Arctopus
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 10
По умолчанию

В таком случае предлагает все время переввести числа. А нужно только в случае >10
Arctopus вне форума Ответить с цитированием
Старый 19.02.2010, 23:37   #6
Arctopus
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от MacOSUser Посмотреть сообщение
http://programmersforum.ru/showthread.php?p=462512
последнее сообщение

ЗЫ Ну раз сообщение удалил, тогда вот:
Код:
bool ok;

do
{
...
}
while( !ok );
А можно не так обобщенно? Мне пока это тяжело для понимания.
Код:
bool ok;
while( !ok );
- как это работает?
Arctopus вне форума Ответить с цитированием
Старый 19.02.2010, 23:41   #7
Arctopus
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 10
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int var1, var2;
            while (true)
            {
                Console.WriteLine("Введите число 1");
                var1 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Введите число 2");
                var2 = Convert.ToInt32(Console.ReadLine());
                if ((var1 <= 10 && var2 <= 10))
                {

                    Console.WriteLine("Вот ваши числа: {0} и {1} , они прошли проверку.", var1, var2);
                }
                else
                {
                    Console.WriteLine("Оба числа больше 10, введите новое число!");
                }

                Console.ReadKey();
            }



        }

    }
}
Впринципе, это работает. Но не совсем понимаю как.
Как понимать условие while (true)?
Объясните как это работает, если не тяжко.
Arctopus вне форума Ответить с цитированием
Старый 19.02.2010, 23:43   #8
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Цитата:
Впринципе, это работает. Но не совсем понимаю как.
Как понимать условие while (true)?
Объясните как это работает, если не тяжко
цикл
while(true){
блок цикла
}

цикл выполняется пока условие в скобках истинно
while(true) - пока(истинно)

получается бесконечный цикл

Последний раз редактировалось NiCola999; 19.02.2010 в 23:46.
NiCola999 вне форума Ответить с цитированием
Старый 19.02.2010, 23:47   #9
Arctopus
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 10
По умолчанию

while (true)
Таким образом, задавая жестко, что условие этого цикла всегда true я его замыкаю и могу повторно вводить числа сколько хочу? Я правильно понял?
Arctopus вне форума Ответить с цитированием
Старый 19.02.2010, 23:54   #10
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

всё правильно
NiCola999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вложенные циклы!!!! for_tuna Помощь студентам 6 08.12.2009 07:07
вложенные циклы илька Помощь студентам 4 07.12.2009 09:53
массивы и вложенные циклы cobrita24 Помощь студентам 10 03.12.2009 15:22
Вложенные циклы Chief Паскаль, Turbo Pascal, PascalABC.NET 3 06.01.2009 16:34