Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
25 / 0 / 1
Регистрация: 18.03.2018
Сообщений: 236
1

Задача с символьным файлом

04.05.2018, 20:59. Просмотров 788. Ответов 3
Метки нет (Все метки)

Добрый вечер. Сделал вот такую задачу, но с текстовым файлом, подскажите пожалуйста, как сделать СИМВОЛЬНЫЙ файл, который нормально работает с делфи? И ещё просьба, подскажите как доделать эту задачу, чтобы в случае если оба первых символа не являются числовыми он выдавал соответствующую ошибку?
Условие задачи: Дан символьный файл f. В файле f не менее двух компонент. Определить, являются ли два первых символа файла цифрами. Если да, то узнать, является ли число, образованное этими цифрами, четным.
Моя программа:

Delphi
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
const
chisla = ['0','1','2','3','4','5','6','7','8','9'];
 
procedure TForm1.Button1Click(Sender: TObject);
var
f: textfile;
s,c: string;
i, l: integer;
begin
  Label3.Caption:=('Информация, записанная в файл:');
  AssignFile(f,'file.txt');
  reset(f);
  read(f,s);
  Edit1.Text:=s;
  l:=length(s);
    for i:=1 to l do begin
      if s[1] in chisla then begin
        if s[2] in chisla then begin
        c:=s[1]+s[2];
        end;
      end;
    end;
    Label1.Caption:=('Первые два числа файла : '+c);
    if StrToInt(c) mod 2 = 0 then Label2.Caption:=('Образованное число является четным')
    else Label2.Caption:=('Образованное число является нечетным');
    closefile(f);
  end;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2018, 20:59
Ответы с готовыми решениями:

Работа с символьным файлом. Удаление элементов
Доброго времени суток! Помогите, пожалуйста, решить вот такую задачу: "Дан символьный файл,...

Задача по символьным и строковым величинам
Первое слово заменяет последним .С клавиатуры вводится строка,состоящая из четырех слов.

Задача с файлом
Дан файл определить сколько раз встречается в нем слово вывести на экран номер строк где это слово...

Задача с файлом
Плиззззз сделайте задачку, уже незнаю как попросить чтоб сделали её.... Очень нужна ваша помощь. ...

3
Модератор
62531 / 46709 / 32193
Регистрация: 18.05.2008
Сообщений: 113,031
05.05.2018, 09:25 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Сначала нужно программно создать типизированный файл, лучше в отдельной программе, например так.
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
var f:file of char;
    i:integer;
begin
assignfile(f,'symboly');
rewrite(f);
for i:=1 to length(Edit1.Text) do
write(f,Edit1.Text[i]);
closefile(f);
end;
Затем этот файл скопировать в паку с основной программой.
Основная программа.
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
const cifry=['0'..'9'];
var f:file of char;
    c:char;
    i,k,ct:integer;
begin
Label1.Caption:='Информация, записанная в файл:';
assignfile(f,'symboly');
reset(f);
i:=0;
k:=0;
ct:=0;
Label2.Caption:='';
while not eof(f) do
 begin
  read(f,c);
  Label2.Caption:=Label2.Caption+c;
  inc(i);
  if (i in [1,2])and(c in cifry)then inc(k);
  if(k=2)and(ord(c)mod 2=0) then ct:=1;
 end;
closefile(f);
Memo1.Clear;
if k=2 then
 begin
  Memo1.Lines.Add('Первые два символа файла цифры');
  if ct=1 then Memo1.Lines.Add('Число образованное ими четное')
  else Memo1.Lines.Add('Число образованное ими не четное');
 end
else Memo1.Lines.Add('Среди первых двух символов файла есть не цифры');
 
end;
1
25 / 0 / 1
Регистрация: 18.03.2018
Сообщений: 236
05.05.2018, 18:39  [ТС] 3
Puporev, Спасибо! А я ещё нашел расширение .dsm, мол, это "Символьный файл Delphi". Он не подойдёт?
0
Модератор
62531 / 46709 / 32193
Регистрация: 18.05.2008
Сообщений: 113,031
05.05.2018, 18:41 4
Типизированным файлам расширения вообще не нужны, чаще принято давать расширение .dat, но это на любителя.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2018, 18:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Задача с файлом
Помогите пажалуйста мне нужно создать файл (hello.txt) в нем имеется цифры с 10,200,30,400,50,600...

Задача с файлом
Помогите,пожалуйста,найти ошибку. Вот задание: Вывести содержимое справочника в виде...

Задача на работу с файлом
Суть задачи такова : дан файл, в нем текст на русском языке. Надо слова в тексте расположить по...

Задача с файлом и функцией
Мне была задана такая задача: Для хранения данных о ноутбуках описать структуру вида (при...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.