Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Schekhovtsov
0 / 0 / 3
Регистрация: 03.11.2012
Сообщений: 105

Оператор Case

04.03.2013, 17:36. Показов 1629. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как видите, сейчас чтобы компьютер показал нам день недели нужно указать цифру 1 или 2 (в этом примере). А можно ли каким-либо образом реализовать такую конструкцию: чтобы юзер вводил не цифру, а текст. Например, на вопрос ПК Скажи мне какой сегодня день? вводилось Понедельник. Или Case не поддерживает такой реализации? Если не он, то может есть аналоги?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
Program Days;
        var
           x : integer;
        begin
             Write('Скажи мне какой сегодня день?');
             ReadLn(x);
             
             case x of
             1:Write('Понедельник, первый день недели');
             2:Write('Вторник, второй день недели');
             end;
        end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2013, 17:36
Ответы с готовыми решениями:

Оператор Case
Подскажите как прогу сделать вот задание: Разработать программу, которая выводит на экран название ансамбля из некоторого числа...

оператор case
люди помогите решить 2 задачьки... Скласти програму для обчислення величини h при заданих величинах а, b, з, x. h=4abc,a=tg(2x)/4,...

оператор case
Дано целое число в диапазоне "10-40,определяющее" количество учебных заданий по некоторой "теме." Вывести...

3
28 / 28 / 19
Регистрация: 03.02.2012
Сообщений: 59
05.03.2013, 14:22
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
Program Days;
        var
           x : integer; \\тип переменной, значение которой будем получать (для предложения надо будет string)
        begin
             Write('Скажи мне какой сегодня день?');
             ReadLn(x); \\вводим ту самую переменную
             
             case x of
             1:Write('Понедельник, первый день недели'); \\ в case пишем что делать при определенном значении
             2:Write('Вторник, второй день недели'); \\ в этом примере значения 1 и 2, и соответствующие действия
             end; \\то в случае с предложением просто, если строковая переменная имеет такое-то значении, то выводим то что надо вывести
        end.
Добавлено через 11 минут
А так, можно попробовать вот такой вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
           x : integer;
           s: string;
        begin
             WriteLn('Задайте вопрос:');
             ReadLn(s);
             if s='Какой сегодня день недели?' then x:=1 else x:=2;
             case x of
             1:Write('Понедельник');
             2:Write('Никакой=)');
             end;
        end.
1
 Аватар для Schekhovtsov
0 / 0 / 3
Регистрация: 03.11.2012
Сообщений: 105
05.03.2013, 18:30  [ТС]
Цитата Сообщение от Nik Raider Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
Program Days;
        var
           x : integer; \\тип переменной, значение которой будем получать (для предложения надо будет string)
        begin
             Write('Скажи мне какой сегодня день?');
             ReadLn(x); \\вводим ту самую переменную
             
             case x of
             1:Write('Понедельник, первый день недели'); \\ в case пишем что делать при определенном значении
             2:Write('Вторник, второй день недели'); \\ в этом примере значения 1 и 2, и соответствующие действия
             end; \\то в случае с предложением просто, если строковая переменная имеет такое-то значении, то выводим то что надо вывести
        end.
Добавлено через 11 минут
А так, можно попробовать вот такой вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
           x : integer;
           s: string;
        begin
             WriteLn('Задайте вопрос:');
             ReadLn(s);
             if s='Какой сегодня день недели?' then x:=1 else x:=2;
             case x of
             1:Write('Понедельник');
             2:Write('Никакой=)');
             end;
        end.
Т.е. сделать что-то вроде (ошибки в коде допустил специально) не получится?

Pascal
1
2
3
4
5
WriteLn('Какой сегодня день недели?:');
             ReadLn(s);
             case x of
             Понедельник:Write('Да, вы правы');
             Вторник:Write('Нет, сегодня не вторник');
0
 Аватар для Jener
228 / 225 / 220
Регистрация: 03.07.2012
Сообщений: 466
07.03.2013, 06:19
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program days;
type
  day = (Ponedelnik,Vtornik);
var
  a : day;
  s : string;
begin
  writeln('Скажи мне какой сегодня день?');
  readln(s);
  if s='Понедельник' then a := Ponedelnik;
  if s='Вторник' then a := Vtornik;
  case a of
  Ponedelnik : writeln('Понедельник, первый день недели.');
  Vtornik : writeln('Вторник, второй день недели.');
  end;
  readln;
Либо можно сразу вводить перечисляемую переменную типа day на латинице

Добавлено через 2 минуты
Pascal
1
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2013, 06:19
Помогаю со студенческими работами здесь

Оператор CASE
Составьте программу вычисления суммы цифр введенного с клавиатуры трехзначного натурального числа. Например, для числа 128 сумма цифр 11,...

Оператор case
Идёт N секунда суток. Определить сколько прошло полных часов,минут и секунд. Результат вывести в виде "Прошло К часов, М минут,L...

Оператор CASE
Здравствуйте,помогите пожалуйста! С клавиатуры вводится число (n>0). Составить программу, выводящую на экран надпись: «…эти порядки...

оператор CASE
решить задачу используя оператор CASE. в зависимости от того введена ли открытая скобка или закрытая, напечатать "открытая круглая...

Оператор case
Помогите решить задачу. Для натурального числа К от 0 до 50 напечатать фразу "Число К-простое", если К-простое число(2,3,5 и т.д.)....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru