Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55

Не корректный вывод у программы. Работает правильно, выводит нужное, но на "неизвестном" языке хд

18.09.2018, 08:38. Показов 1161. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа, которая должна выводить данные студентов в файл. Все отлично считывает, выводит всех очень правильно, но в данных, которые она выводит "прочитать" можно только ФИО, потому что все остальное не пойми как. Посмотрите, что не так?

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
type
  z = record
    fio: string[20];
    day: integer;
    month: integer;
    god: integer;
  end;
 
var
  f, g: file of z;
  stud: z;
  i, n: integer;
 
begin
  writeln;
  
  write('введите количество студентов: ');
  
  readln(n);
  
  for i := 1 to n do
  begin
    writeln('Введите информацию о ',' ', i,'  ', 'студенте: ');
    write('Ф.И.О. - '); readln(stud.fio);
    write('число рождения - '); readln(stud.day);
    write('месяц рождения - '); readln(stud.month);
    write('год рождения - '); readln(stud.god);
 
  end;
  
  assign(g, 'output.txt');
  rewrite(g);
  
  for i := 1 to n do
  begin
  
    if (stud.month = 6) or (stud.month = 7) or (stud.month = 8) then write(g, stud);
  end;
  close(g);
end.
Миниатюры
Не корректный вывод у программы. Работает правильно, выводит нужное, но на "неизвестном" языке хд  
Изображения
 
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2018, 08:38
Ответы с готовыми решениями:

Не работает корректный вывод русских букв
Доброго времени суток. Работаю в графическом режиме Столкнулся с проблемой, что функция printf нивкакую не хочет выводить русский текст....

Дано некоторое предложение на неизвестном языке
Дано некоторое предложение на неизвестном языке. Назовем слово в нем чемпионом, если оно является палиндромом и количество букв в нем...

Непонятные сообщения на неизвестном языке (андроид)
После того как андроид 7 самостоятельно обновился стали появляться сообщения иероглифами. Скриншот сообщения телефон сделать не позволяет,...

18
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 08:59
Это же типизированный файл и прочитать его можно только программой где описан тип записей.
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 11:43  [ТС]
Puporev, хм, не совсем поняла, что вы имеете в виду...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 11:47
Так почитайте про типизированный файлы.
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 12:01  [ТС]
Правильно ли я понимаю, что мне нужно дописать открытие файла input и считывание из него?
А если мне нужно, чтобы ввод данных и вывод был в программе? Учитывая, что у меня записи, то это вообще возможно?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 12:06
Да, нужно в программе прочитать файл.
Pascal
1
2
3
4
5
6
7
reset(g);
while not eof(g) do 
 begin
  read(g,stud);
  writeln(stud.fio,' ',stud.day,'.',stud.month,'.',stud.god);
 end;
close(g);
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 12:19  [ТС]
Puporev, я вот возможно глупость сморожу сейчас и совсем упаду в уровне интеллекта для Вас, но я не понимаю, как его прицепить к моему коду. Логично если он должен быть в "основном теле". Но это же не так будет?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  assign(g, 'output.txt');
  rewrite(g);
  reset(g);
  
  while not eof(g) do
  begin
    read(g, stud);
    writeln(stud.fio, ' ', stud.day, '.', stud.month, '.', stud.god);
  end;
  
  for i := 1 to n do
  begin
    
    if (stud.month = 6) or (stud.month = 7) or (stud.month = 8) then write(g, stud);
  end;
  close(g);
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 12:21
Зачем строки 11-15?
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 12:27  [ТС]
Puporev, условие, мне нужно выводить только тех у кого месяц "летний"

Добавлено через 1 минуту
И вот я сижу и пытаюсь пристроить условие в Ваш код, получается не очень
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 12:29
Я написал если нужно прочитать весь файл. Если нужно только летние, то так
Pascal
1
2
3
4
5
while not eof(g) do
  begin
    read(g, stud);
     if stud.month in [ 6..8] then   writeln(stud.fio, ' ', stud.day, '.', stud.month, '.', stud.god);
  end;
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 12:33  [ТС]
Pascal
1
2
3
4
5
while not eof(g) do
  begin
    read(g, stud);
     if stud.month in [ 6..8] then   writeln(stud.fio, ' ', stud.day, '.', stud.month, '.', stud.god);
  end;
я попробовала, но в файле output пусто :с
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 12:35
Вы уж извините, но у меня нервы слабые, боюсь нахамить.
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 12:37  [ТС]
Puporev, да ладно уж, понимаю, что тупая, но разобраться же надо, не дело бросать если не понимаешь...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 12:39
Напишите точное и полное условие задачи, я напишу свой код.
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 12:45  [ТС]
Нужно составить список студентов (имя, и дд/мм/гг (дата рождения)) и вывести тех, кто родился летом.
В принципе, у меня все выводит прекрасно, но проблема в том, что он корректно выводит фио, а дальше начинается каламбур и я не могу никак понять как это исправить. То есть вся проблема в том, что он не "читабельно" выводит. Он выводит в одну строчку и данные съезжают. Вместо года стоит месяц
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 13:02
Лучший ответ Сообщение было отмечено MiniMedusa как решение

Решение

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
43
44
45
46
47
48
49
type
  z = record
      fio: string[20];
      day: integer;
      month: integer;
      god: integer;
      end;
var
  f: file of z;
  stud: z;
  n,i,k: integer;
begin
 write('введите количество студентов n=');
 readln(n);
 assign(f,'studenty');
 rewrite(f);
 for i := 1 to n do
 with stud do
  begin
   writeln('Введите информацию о ',' ', i,'  ', 'студенте: ');
   write('Ф.И.О. - '); readln(fio);
   write('число рождения - '); readln(day);
   write('месяц рождения - '); readln(month);
   write('год рождения - '); readln(god);
   write(f,stud);
  end;
writeln('Полный список студентов');
reset(f);
while not eof(f) do
 begin
  read(f,stud);
  with stud do
  writeln(fio,'  ',day,'.',month,'.',god);
 end;
writeln('Список студентов родившихся в летние месяцы');
reset(f);
k:=0;
while not eof(f) do
 begin
  read(f,stud);
  if stud.month in [6..8] then
   begin
    k:=1;
    with stud do
    writeln(fio,'  ',day,'.',month,'.',god);
   end;
 end;
close(f);
end.
1
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 13:55  [ТС]
Puporev, огромное спасибо, но вы же проверяли у себя? У вас выводило в файл?
Просто вывод в консоле получается, но в коде присутствует файл...
И тут появился вопрос, это у меня что-то тогда не так, если у вас все выполнялось или вы не проверяли? Потому что у меня все также в файле пусть и новом.
Попробовала побольше запустить с "нормальными" фамилиями и получилось, что он вывел фамилии, а вместо остального прямоугольники пустые...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2018, 14:02
А что Вы хотите от файла? Он же типизированный и в Блокноте его не прочитать, мы читаем файл 2 раза в программе. Если хотите читать файл, то нужно создавать и(или) текстовый файл.
0
2 / 2 / 0
Регистрация: 18.09.2018
Сообщений: 55
18.09.2018, 14:47  [ТС]
Puporev, ох, вот то, что я пыталась понять! Огромное спасибооооо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.09.2018, 14:47
Помогаю со студенческими работами здесь

Правильно ли работает код и правильно ли выводит?
Задание такое: Постройте таблицу значений функции y=f(x) для х принадлежит с шагом h. Замечание. Для решения задачи использовать...

Сгенерировать текст программы на языке C++, которая выводит на экран графическое изображение
подскажите пожалуйста программа для генерации текста программы на языке с++, которая выводить на экран графическое изображение

Вывод при неизвестном кол-ве условий
Доброе время суток! Есть таблица в БД MySQL. У таблицы есть столбец 'id'. Я выполняю запрос SELECT, в котором должен указать...

Не правильно работает скрипт. Не выводит CSV
Добрый день. Коллеги, подскажите по проблеме, пожалуйста - я не специалист в языке. почему при добавлении в $Data еще свойства в...

Программа работает правильно, но не выводит одной строки
Программа правильно работает и все корректно выполняет, но не выводит одной фразы и я не понимаю почему. Буду рада любой помощи) Строка...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru