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

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы
Старый 03.10.2018, 18:36   #1
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию Как избавиться от ошибки?

Код:
program n_1;
 var m: integer;
 f,g:text;
 begin
 assign(f,'input.txt');
 reset(f);
 read (f,m);
 close(f);
 case m of
 1: write (g) ('spades');
 2: write (g) ('clubs');
 3: write (g) ('diamonds');
 4: write (g) ('hearts')
 end;
 assign (g,'output.txt');
 rewrite(g);
 close (g)
 end.
Program1.pas(10) : Ожидалась функция, встречена процедура Write.

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 03.10.2018 в 18:53.
Настя1303 вне форума Ответить с цитированием
Старый 03.10.2018, 18:40   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,097
По умолчанию

Код:
write (g) ('spades');
А что вы ожидали от такой записи?
Пишу программы на С++. ТЗ, цену и сроки на p51x.fr {@} яндекс.ру
p51x вне форума Ответить с цитированием
Старый 03.10.2018, 18:58   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,263
По умолчанию

ошибка номер раз:
Цитата:
Сообщение от Настя1303 Посмотреть сообщение
Код:
write (g) ('text');
оператор записи в файл выглядит по другому. Ознакомьтесь с уроком - https://www.tutorialspoint.com/pasca...s_handling.htm

Ошибка номер два.
Вы сначала пишете в файл g, а потом его связываете с реальным файлом и открываете на запись.
так нельзя.
нужно.
1) назначить файловой переменной имя файла (см. Assign())
2) открыть файл на запись или создать новый файл для записи
3) только после этого можно писать в файл, используя файловую переменную
4) после окончания процесса записи нужно закрыть файл.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2018, 09:28   #4
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию

Теперь пишет
Program1.pas(7) : Ошибка времени выполнения: Попытка считывания за концом текстового файла.


Код:
program n_1;
 var m: integer;
 f,g:text;
 begin
 assign(f,'input.txt');
 reset(f);
 read (f,m);
 close(f);
 assign (g,'output.txt');
 rewrite(g);
 case m of
 1: write (g, 'spades');
 2: write (g, 'clubs');
 3: write (g,  'diamonds');
 4: write (g, 'hearts')
 end;
 close (g)
 end.
Код нужно оформлять по правилам

Последний раз редактировалось Аватар; 04.10.2018 в 09:40.
Настя1303 вне форума Ответить с цитированием
Старый 04.10.2018, 09:33   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 2,700
По умолчанию

в Input.txt точно есть число?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 04.10.2018, 09:36   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

а в том файле есть что-то?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.10.2018, 09:40   #7
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию

Да,есть.
Настя1303 вне форума Ответить с цитированием
Старый 04.10.2018, 09:45   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

то тебе кажется ) Или не тот Input.txt смотришь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.10.2018, 09:56   #9
Настя1303
Пользователь
 
Регистрация: 27.09.2018
Сообщений: 16
По умолчанию

Да, спасибо, было полно папок, с названием паскаль, все удалила, заново установила, всё получилось)
Настя1303 вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как избавиться от этой ошибки? Templar() Общие вопросы .NET 1 12.11.2013 03:00
Как избавиться от ошибки #1060 - Duplicate column name 'sesId' GryyMo SQL, базы данных 1 29.04.2012 21:59
Как избавиться от ошибки если поля ввода пусты? kazzz Общие вопросы Delphi 7 22.03.2011 08:31
Как избавиться от ошибки 400 bulldog5293 Работа с сетью в Delphi 6 17.12.2010 10:04
Как избавиться от ошибки faraon1792 Помощь студентам 0 11.05.2010 20:24