Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
6 / 4 / 3
Регистрация: 15.10.2011
Сообщений: 44

Почему программа пропускает readln?

20.05.2012, 21:13. Показов 4774. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
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
program generator;
type zap = record
  d1,d2: integer
end;
var
  i,n,k,j: integer;
  f1,f2,f3: text;
  s1,s2,ans,ans2: string;
  m: array [1..5] of zap;
begin
  writeln('Cколько фамилий (и имён) сгенерировать?'); write('Количество строк = '); readln(n);
  assign(f1,'names.txt');
  reset(f1);
  assign(f2,'fams.txt');
  reset(f2);
  assign(f3,'output.txt');
  rewrite(f3);
  writeln('Выводить число фамилий в начале файла? (да/нет)'); write('Ответ: '); readln(ans);
  if ans = 'да' then writeln(f3,n);
  writeln('Сколько случайных данных после фамилии и имени вам нужно? (1-5)'); write('Количество случайных данных в каждой строке = '); readln(k);
  for i := 1 to k do
  begin
    writeln('Укажите диапазон значений ',i); write('Диапазон',i,': от '); read(m[i].d1); write('Диапазон',i,': до '); read(m[i].d2)
  end;
  writeln('Что сначала: имя или фамилия?'); write('Первым будет '); readln(ans2);
  for i := 1 to n do
  begin    
    readln(f1,s1);
    readln(f2,s2);
    if ans2 = 'имя' then
      write(f3,s1,' ',s2)
    else
      write(f3,s2,' ',s1);
    for j := 1 to k do
      write(f3,' ',random(m[j].d1,m[j].d2));
    writeln(f3,'')
  end;
  close(f1);
  close(f2);
  close(f3);
  writeln('Файл успешно сгенерирован!')
end.
Программа - генератор инпута для задач С4 ЕГЭ. В целом программа должна работать, но почему-то pascal abc.net упорно пропускает readln(ans2); (строка 25)! Ну просто отказывается видеть эту команду и всё! В чем может быть косяк?

Добавлено через 52 минуты
Баг обыкновенный, как выяснилось. Переставил строку в другое место и заработало.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2012, 21:13
Ответы с готовыми решениями:

почему программа пропускает часть кода
не могу разобраться прогоняю программу по строкам а она пропускает часть кода а именно со строки помечиной "777777" ...

Объясните почему программа пропускает scanf, после задания первой матрицы
#include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { int N,M,F,D,i,j,k; char p;

Структуры и ввод строк с пробелами: программа пропускает второй шаг, сразу переходя к третьему - почему?
Здравствуйте, уважаемые форумчане! Я новичок и в С++ и на этом форуме, так что прошу сильно не пинать. Начал заниматься по книге Стивена...

4
4 / 3 / 2
Регистрация: 20.01.2018
Сообщений: 71
15.02.2020, 20:54
Такая же проблема

Добавлено через 6 минут
Нашёл решение!
Надо использовать readln(); вместо read();
0
4 / 3 / 2
Регистрация: 20.01.2018
Сообщений: 71
31.07.2020, 15:53
На самом деле нужно было сделать так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure EmptyKeyBuf;
begin
  while (KeyPressed) do begin
    readkey;
  end;
end;
 
...
EmptyKeyBuf;
readln();
...
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
01.08.2020, 11:21
Цитата Сообщение от MegaBatcher2000 Посмотреть сообщение
На самом деле нужно было сделать так:
Нельзя!
Ибо модуль crt не подключен…
0
4 / 3 / 2
Регистрация: 20.01.2018
Сообщений: 71
06.08.2020, 11:57
Цитата Сообщение от JuriiMW Посмотреть сообщение
Ибо модуль crt не подключен…
В данном случае да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.08.2020, 11:57
Помогаю со студенческими работами здесь

Почему нужно 2 раза писать readln?
Почему нужно 2 раза писать readln? Читайте комментарий. Спасибо. end; var c:chelovek; begin c:=new chelovek; ...

Почему Read работает как Readln? (ide PascalABC.NET 3.10 build 1200)
Люди, у кого стоит такая-же IDE (PascalABC.NET 3.10 build 1200) - у вас такая же шняга или нет? Проблема: После выполнения оператора...

Почему пропускает set_terminate
Почему в консоль не выводится сообщение error. Not perehvat? #include <iostream> #include <exception> //terminate() #include...

Почему цикл for пропускает if (js)?
Здравствуйте. Помогите пожалуйста решить задачу. Прошел отладчиком код и заметил, что цикл пропускает одно условие if ("Я знаю этот...

почему он это пропускает?
опять чтоли "фичу" нашёл... $str = 'http://ал55а\\лай.Р_-!&Ф'; if (preg_match('#https?://{1,99}#iu',$str)) {echo 'ddddd';} ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru