Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.05.2012
Сообщений: 11
1

Нужно исправить программы

29.05.2012, 21:06. Показов 568. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Обе программы выдают ошибку:неизвестный идентификатор IoResult.Помогите пожалуйста

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
    Program lab7_1;
USES CRT;
Var
F: file of real; {файловая переменная}
M: array [1..50] of real; {одномерный массив, состоящий из вещественных чисел}
c: real;   {произвольная переменная}
Code:byte; {переменная, содержащая код ошибки}
n,i: integer; {n-количество введенных чисел,i-счётчик,индекс элемента массива}
FName: string; {строковая переменная, путь к файлу F }
Procedure VS;  {процедура записи в файл введенных с клавиатуры чисел}
          begin
               Assign(F,FName); {процедура, связывающая переменную файлового
                            типа F с конкретным файлом на физическом носителе}
               {$i-}   { отключаем автоматический контроль }
               Rewrite(F);      {процедура открытия файла для записи}
               Code :=IoResult; { получили код результата }
               if Code <> 0 then
                  begin      { возникла ошибка! }
                    Writeln(' Ошибка при открытии файла: ');
                     Case Code of
                         1: Writeln ('Файл не найден');
                         3: Writeln ('Маршрут не найден');
                         4: Writeln ('Слишком много открытых файлов');
                         5: Writeln ('Доступ к файлу запрещен');
                         12: Writeln ('Некорректный код доступа к файлам')
                     else
                       Writeln('Неизвестный код ошибки');
                     end
               end;
               {$i+}  {включаем автоматический контроль }
 Write('Введите количество чисел для записи в файл n=');
 Readln(n);
 For i:=1 to n do
    begin
         Repeat
         {$i-}
            Write('Введите ',i,'-ое число: ');
            Read(c);
            write(F,c);
         {$i+}
         Until Ioresult=0  {Ioresult - функция, возвращающая 0, если тип переменной соответствует объявленному в разделе Var}
 end;
      Close(F); {завершение действий с файлом}
          end;
Procedure CTZ;  {процедура чтения из файла записи в массив и вывода на экран
                массива чисел}
          Begin
              Assign(F,FName);
              Reset(F);  {процедура открытия файла для чтения}
              writeln('В файле ',n,' элемента(ов)');
                       For i:=0 to filesize(f)-1 do
                       begin
                            Read(F,M[i]); {чтение элемента из   файла и запись его в массив}
                            Write (M[i]:5:3,' '); {вывод массива на экран}
                       end;
              writeln;
              close(F);
          end;
begin;
      clrscr;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
        Writeln;
      Fname:= 'c:\platon\m.dat';
      VS;  {вызов первой процедуры}
      CTZ; {вызов второй прцедуры}
      Write('Нажмите любую клавишу для выхода из программы');
      Readkey;
end.
2 программа:

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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
Program LAB7_2;
Program LAB7_2;
Uses CRT;
 
Type                   {объявление типа запись zap}
    ZAP = record
        S: string[10]; {фамилия}
        D: string[10]; {должность}
        O: real;       {оклад}
end;
 
Var
   F: file of ZAP;     {файловая переменная}
   M: array [1..100] of ZAP; {массив}
   i,n: integer;    {i-индекс элемента массива ,n-количество записей, счётчик}
   p,h,j,oklad: string;   {p-путь к файлу,h-переменная, хранящая символы
                          строки фамилия,j-переменная, хранящая символы
                     строки должность,oklad- величина оклада в строковом виде}
   Z: zap;                {запись}
   c: char;               {параметр процедуры readkey}
   tmp: string[10];        {признак окончания дополнения файла}
 
 
Procedure VMF;  {процедура ввода, записи в массив и записи из массива в файл данных }
Begin
     Writeln('+++++++++++++++++++++++++++');
     Writeln('Создание списка сотрудников');
     Writeln('+++++++++++++++++++++++++++');
     Writeln('Введите количество создаваемых записей n=');
     Readln(n);
     Writeln;
     Assign(F,p);  {Связь с файлом по пути р}
     Rewrite(F);   {Открытие файла для записи}
     For i:=1 to n do   {цикл заполнения массива}
         With M[i] do   {обращение к записи}
              Begin
                   Writeln('Сотрудник');
                   Write('Фамилия: ');
                   Readln(S);
                   Write('Должность: ');
                   Readln(D);
                   Write('Оклад: ');
                   Readln(O);
                   Write(F,M[i]); {запись элементов массива в файл}
              end;
    Close(F);  {Завершение действий с файлом}
end;
 
Procedure Dop;   {процедура дополнения файла}
Begin
     Writeln('+++++++++++++++++++++++++++++');
     Writeln('Дополнение списка сотрудников');
     Writeln('+++++++++++++++++++++++++++++');
     Writeln;
     Assign(F,p);
     Reset(F);    {Открытие файла для чтения}
     n := 0;
     Repeat         {Цикл чтения из файла и записи массива}
          n := n+1;
          Read(F,Z); {чтение записей из файла}
          M[n] := Z  {запись в массив}
     Until Eof(F);  {процедура, возвращающая значение истины, если достигнут
                     конец файла}
     Close(f);
     Rewrite(f);  {открытие файла для записи}
     Repeat       {цикл записи новых данных в массив и добавления их в ранее
                   созданный файл}
           Write('Введите фамилию или * (признак окончания ввода): ');
           Readln(tmp);
           if tmp<>'*' then
              Begin
                   n:= n+1;
                   With M[n] do
                        begin
                             S := tmp;
                             Write('Должность: ');
                             Readln(D);
                             Write('Оклад: ');
                             Readln(O);
                        end;
              end;
     Until tmp = '*' ;
     For i:=1 to n do Write(F,M[i]); {запись массива в файл}
     Close(f);
end;
 
Procedure ChV;   {процедура чтения из файла и вывода на экран списка}
Begin
     Writeln('                   +++++++++++++++++++++++');
     Writeln('                   +  Список сотрудников +');
     Writeln('                   +++++++++++++++++++++++');
     Assign(f,p);
     {$I-} { отключение автоматического контроля }
     Reset (F);
     {$I+} { включение автоматического контроля }
     if IoResult <> 0 then   { возникла ошибка! }
        begin
             Writeln('Ошибка при открытии файла для чтения');
             Writeln('Работа будет закончена.');
             Writeln;
             Writeln('Нажмите Enter ...');
             Readln;
             Exit   {Выход из процедуры}
        end;
        Writeln;
        Writeln('╔══════════════════╤═══════════════════╤══════════════╗');
        Writeln('║                  │                   │              ║');
        Writeln('║     Фамилия      │      Должность    │     Оклад    ║');
        Writeln('║                  │                   │              ║');
        Writeln('╟──────────────────┼───────────────────┼──────────────╢');
        Repeat    {цикл чтения из файла и вывода на экран записей в таблицу}
        Read(F,Z);
           h := z.s + '                ';
           j := z.d + '                ';
           Str(z.o:5:2,oklad);
           oklad :='          '+oklad;
           h:= Copy(h, 1,10);
           j:= Copy(j, 1,10);
           oklad:= Copy(oklad, Length(oklad)-6,7);
        Writeln('║    ',h,'    │    ',j,'     │    ',oklad,'   ║');
 
        Until Eof(F);
        close(F);
        Writeln('╚══════════════════╧═══════════════════╧══════════════╝');
end;
 
Begin    {Начало основной программы}
clrscr;
  Writeln;
 Readln;
 clrscr;
     Repeat  {Цикл, позволяющий создать несколько списков в файлах
              с разными именами}
           Writeln('Укажите путь к файлу и его имя: ');
           Readln(p);
           Writeln;
           VMF;  {вызов процедуры ввода, записи в массив и из массива в файл данных}
           writeln('Закончить ввод списков ? (Y)');
           Writeln;
           c:=readkey;
     until (c = #89) or (c= #121) or (c=#173) or (c=#141);
 
     clrscr;
      Repeat  {Цикл, позволяющий дополнять списки, сохраненные в файлах
              с разными именами}
 
     Writeln('Укажите путь к файлу, который нужно дополнить, и его имя: ');
     Readln(p);
     Dop;   {вызов процедуры дополнения файла}
          writeln('Закончить дополнение списка? (Y)');
          Writeln;
          c:=readkey;
     until (c = #89) or (c= #121) or (c=#173) or (c=#141);
 
 
     clrscr;
     Repeat  {Цикл, позволяющий читать списки из файлов с разными именами}
     Writeln('Какой файл прочитать? Укажите путь к файлу и его имя: ');
     Readln(p);
     ChV;   {вызов процедуры чтения из файла и вывода на экран списка}
          writeln('Закончить чтение указанного файла? (Y)');
          c:=readkey;
     until (c = #89) or (c= #121) or (c=#173) or (c=#141);
 
 
     Writeln('Для выхода из программы нажмите любую клавишу');
     Readkey;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2012, 21:06
Ответы с готовыми решениями:

Нужно исправить ошибки в тексте программы.
Нужно исправить ошибки в тексте программы. program 1; var T:Real; S=6 BEGIN Sum:T+S;...

Нужно написать программы.Очень нужно
Подпрограммы 1.Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9....

Нужно исправить
Сделать то же самое, только, не используя function Arcsin (x : real) : real; program primer4;...

Нужно исправить ошибку
Всем привет. При написании програмы у меня возникла проблема такого типа: Нужно создать массив С с...

1
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
29.05.2012, 21:29 2
В седьмом турбо паскале функция присутствует, проверил.
1
29.05.2012, 21:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2012, 21:29
Помогаю со студенческими работами здесь

Нужно исправить точность
var x,e,t,Eps,s:real; n:integer; begin writeln ('Введите точность вычислении'); ...

Нужно исправить программу
Помогите пожалуйста исправить программу Долно быть вот так: Произвести обход матрицы вот так...

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

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


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

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