С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 19
1

Создание числового файла

29.11.2013, 00:05. Показов 1416. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заранее огромное спасибо...

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

Программа:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
PROGRAM Pract_4;
USES CRT;
VAR F,F1:FILE OF INTEGER;
X,I,S:INTEGER;
R:BYTE; C:CHAR;
BEGIN
ASSIGN(F,'D:\F.TXT');
REPEAT
WRITELN('ГЛАВНОЕ МЕНЮ');
WRITELN('1- Создание файла');
WRITELN('2- Просмотр файла');
WRITELN('3- Дополнение в файл');
WRITELN('4- Удаление с файла');
WRITELN('5- Заменить отрицательные числа числом их квадрата');
WRITELN('0- Выход');
WRITELN('Укажите режим');
READ(R);
CASE R OF
 1:BEGIN
   {$I-}
   REWRITE(F);
   {$I+}
   IF FileExists('D:\F.TXT')=FALSE
   THEN   BEGIN
           WRITE('файл уже существует');
           CLOSE(F);
           EXIT;
          END;
   WRITELN('Прекращение создания файла-ЧИСЛО "9999"');
   REPEAT
    READ(X);
    IF X<>9999 THEN WRITE(F,X)
               ELSE BREAK;
   UNTIL FALSE;
   WRITELN(' Файл создан');
   CLOSE(F);
  END;
 2:BEGIN
    {$I-}
    RESET(F);
    {$I+}
    IF FileExists('D:\F.TXT')=FALSE
    THEN BEGIN
         WRITE('Файл не существует');
         CLOSE(F);
         EXIT;
         END;
   WRITELN('Содержимое файла');
   WHILE NOT EOF(F) DO BEGIN
                       READ(F,X);
                       WRITE(X,'  ')
                       END;
   WRITELN(' Файл прочитан полностью');
   CLOSE(F);
END;
3:BEGIN
  {$I-}
  RESET(F);
  {$I+}
  IF FileExists('D:\F.TXT')=FALSE THEN BEGIN
                                        WRITE('Файл не существует');
                                        CLOSE(F);
                                        EXIT;
                                        END;
  SEEK(F,FILESIZE(F));
  WRITELN('прекращение создания файла - число 9999');
   REPEAT
   READ(X);
   IF X<>9999 THEN write(f,x)
              ELSE BREAK;
   UNTIL FALSE;
   CLOSE(F);
END;
4:BEGIN
  ASSIGN(F1,'D:\F1.TXT');
  {$I-}
  REWRITE(F1);
  {$I+}
  IF CanCreateFile('D:\F1.TXT')=TRUE THEN  BEGIN
                                           WRITE('Файл уже существует');
                                           CLOSE(F1);
                                           EXIT;
                                           END;
   {$I-}
   RESET(F);
   {$I+}
   IF FileExists('D:\F.TXT')=FALSE THEN  BEGIN
                                          WRITE('Файл не существует');
                                          CLOSE(F);
                                          EXIT;
                                          END;
  WRITELN('Содержимое файла');
  WHILE NOT EOF(F) DO BEGIN
                      READ(F,X);
                      WRITELN(x,' Удалить?(Y/N)'); READ(C);
                      IF C='N' THEN WRITE(F1,X);
                      END;
 CLOSE(F);
 CLOSE(F1);
 ERASE(f);
 RENAME(f1,'D:\F.TXT');
END;
5:BEGIN
   ASSIGN(f1,'D:\F1.TXT');
   {$I-}
   REWRITE(F1);
   {$I+}
   IF CanCreateFile('D:\F1.TXT')=TRUE THEN  BEGIN
                                               WRITE('Файл уже существует');
                                               CLOSE(F1);
                                               EXIT;
                                               END;
   {$I-}
   RESET(F);
   {$I+}
   IF FileExists('D:\F.TXT')=FALSE THEN  BEGIN
                                           WRITE('Файл не существует');
                                           CLOSE(F);
                                           EXIT;
                                           END;
  WHILE NOT EOF(F) DO BEGIN
                      READ(F,X);
                      IF X>0 THEN BEGIN
                                   FOR I:=S-1 DOWNTO 1 DO
                                    if x<0 then break;
                                                   write(f1,I);
                                                        end
                                                   else
                                   X:=SQR(X);
                                   WRITE(F1,X);
                                   END;
  CLOSE(F);
  CLOSE(F1);
END;
0:EXIT;
END;
UNTIL FALSE;
END.
Но не работает. В чём может быть причина?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2013, 00:05
Ответы с готовыми решениями:

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

Создание числового массива произвольной длины
Как создать числовой массив не указывая его длины. Т.е. предполагается, что длина массива...

Визуализация числового массива (создание графика)
У меня есть числовой массив - числа с плавающей точкой - нет ли какой-нибудь функции или библиотеки...

Создание числового списка от 1 до заданного конечного числа, пребавляя к предыдущему 1
Форумчане, доброго времени суток! Есть &quot;Выражение1&quot;, значение которого изменяется, и которое,...

3
5 / 5 / 3
Регистрация: 17.06.2013
Сообщений: 74
29.11.2013, 00:15 2
Что именно не работает?
0
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 19
29.11.2013, 00:19  [ТС] 3
Цитата Сообщение от The_Netos Посмотреть сообщение
Что именно не работает?
Режим 5 - "Замена всех отрицательных чисел числом его квадрата"
0
5 / 5 / 3
Регистрация: 17.06.2013
Сообщений: 74
29.11.2013, 20:12 4
Для чего переменная S?
0
29.11.2013, 20:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2013, 20:12
Помогаю со студенческими работами здесь

чтение числового массива из файла
Думал что по циклу while (!f.eof() { --- } Однако получается лишний...

Вставка числового значения в произвольном месте файла
Коллеги, всем привет. Я новичок и учусь программировать на c++. Есть текстовый файл, в котором...

Вывод наименования числового интервала из файла формата .xml
Уважаемые форумчане. Подскажите пожалуйста по следующему вопросу. Возможно ли следующее:...

Шифрация и дешифрация текстового файла методом циклического сдвига алфавита на основе числового ключа (Шифр Гронсфельда)
Помогите сделать задание, &quot;Реализовать функции шифрации и дешифрации текстового файла методом...

Написать текстовый редактор, в котором продемонстрировать открытие файла, сохранение файла, создание нового файла
№ 5. Написать текстовый редактор, в котором продемонстрировать открытие файла, сохранение файла,...

Содержимое сгенерированного числового файла INPUT проинтерпретировать как последовательность квадратных матриц размера 2X2 и записать их в файлы 2
Содержимое сгенерированного числового файла INPUT проинтерпретировать как последовательность ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru