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

Реализовать меню для работы с файлами

28.02.2011, 20:37. Показов 1617. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите !!!
нада напсать прогу которая предлагает меню....з 4-мя командами...
-ввод даных
-запис их в файл
-чтение даных с файла
и выход ..
я тут набросал кое-что но оно только вводит даные... не записывает их в файл и не читает их..
помогите кто-то..

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
program go;
uses crt;
type reestr=record
name:string[15];
priz:string[15];
rik:integer;
stat:string[1];
oz1,oz2,oz3:integer;
end;
masiv=array[1..30]of reestr;
var
i,n,k:integer; a:masiv; c,z:char;
 f:file of masiv ;
 
procedure menu;
begin
clrscr;
writeln('******************************');
writeln('1.input data');
writeln('   2.write to file');
writeln('      3.read from file');
writeln('         4.exit');
writeln('******************************');
  write('Vuberit pynkt menu:  ');
read(k);
end;
 
 
procedure input;
begin
n:=0;
repeat
   clrscr;
write('prizvushe: ');
readln(a[n+1].priz);
write('mame: ');
readln(a[n+1].name);
write('rik narodzhennia: ');
readln(a[n+1].rik);
write('CTATb(m/w): ');
readln(a[n+1].stat);
write('ozika 1: ');
readln(a[n+1].oz1);
write('ozika 2: ');
readln(a[n+1].oz2);
write('ozika 2: ');
readln(a[n+1].oz3);
n:=n+1;
clrscr;
writeln('prodovzhutu vvodutu dani?(y/n)');
readln(c);
until c='n';
 menu;
end;
 
procedure vvod;
begin
assign (f,'reestr');
rewrite(f);
for i:=1 to n do
write (a[i].name,' ',a[i].priz,' ',a[i].rik,' ',a[i].stat,' ',a[i].oz1,' ',a[i].oz2,' ',a[i].oz3);
close(f);
end;
 
 
procedure vivod;
begin
assign  (f,'reestr');
reset(f);
while not eof(f) do
begin
read (f,a);
write(a[i].priz,'  ',a[i].name,'  ',a[i].rik,'  ',a[i].stat,'  ',a[i].oz1,'  ',a[i].oz2,'  ',a[i].oz3);
end;
close(f);
end;
 
 
BEGIN
clrscr;
menu;
case  k of
1:input;
2:vvod;
3:vivod;
4:exit;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2011, 20:37
Ответы с готовыми решениями:

Спроектировать программу, содержащую пункты меню для работы с файлами
Спроектировать программу, содержащую следующие пункты меню: 1.Ввод данных с клавиатуры; 2.Ввод...

cоставить программу, используя процедуры и функции для работы с файлами
Дан файл вещественных чисел. Найти количество его локальных максимумов.

Реализовать меню для выбора разнотипных действий
такс ..надо написать программу в которой 4 квадратных рисунка...когда нажимаешь(курсором ) на 1...

Реализовать меню для управления двусвязным списком
Создать двусвязный список. главное меню: 1) Добавить элемент в начало списка 2) Добавить...

4
0 / 0 / 2
Регистрация: 10.02.2011
Сообщений: 10
01.03.2011, 20:31 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот 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
program mmenu;
uses
   crt;
const
   k=4;
   m:array [1..k] of string [9] = (' year ',' mounth ',' day ','  Exit   ');
var
   i:byte;
   ch:char;
   n:byte;
procedure menu (v:byte);
begin
   for i:=1 to k do
   begin
      textcolor (white);
      Window ((i-1)*11+24,1,i*11+24,2);
      if i=v then
      TextBackground (red)
      else
      TextBackground (blue);
      write (m[i]);
   end;
   n:=v;
   TextBackground (blue);
   window (2,3,79,24);
   clrscr;
   textbackground (black);
   window (1,25,80,25);
   textcolor (white);
   gotoxy (65,1);
 
end;
procedure year;
begin
   TextBackground (blue);
   window (2,3,79,24);
   clrscr;
   textcolor (white);
   writeln(' . .2010');
   readkey;
end;
procedure mounth;
begin
   TextBackground (blue);
   window (2,3,79,24);
   clrscr;
   textcolor (white);
   writeln(' .12. ');
   readkey;
end;
procedure day;
begin
   TextBackground (blue);
   window (2,3,79,24);
   clrscr;
   textcolor (white);
   writeln('29. . ');
   readkey;
end;
begin
   n:=1;
   repeat
   window (1,1,80,25);
   TextBackground (black);
   clrscr;
   menu (n);
   ch:=readkey;
   if ch = #0 then
   ch:=readkey;
   case ch of
      #27:halt;
      #77:
      begin
         if n<4 then
         menu (n+1)
         else
         menu (1)
      end;
      #75:
      begin
         if n>1 then
         menu (n-1)
         else
         menu (4)
      end;
      #13:
      begin
         case n of
            1:year;
            2:mounth;
            3:day;
            4:halt
         end
      end
   end;
   until false;
end.
и

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
program abc;
uses crt;
const n=15;
type stroka=string[15];
masmenu=array[1..n]of stroka;
var i,k:integer; kod:char; menu:masmenu;
begin
clrscr;
k:=1;
menu[1]:='VUZ';
menu[2]:='Group';
menu[3]:='STUDENT';
menu[4]:='EXIT';
while true do
begin
textmode(3);
kod:=' ';
 while kod<>#13 do
  begin
  for i:=1 to n do
   begin
   if i=k then
    begin
    textbackground(3);
    textcolor(2);
    end
   else
   begin
   textbackground(12);
   textcolor(4);
   end;
  gotoxy(2,i+1);
  write(menu[i]);
  end;
 kod:=readkey;
 delay(5);
 if kod=#0 then
 begin
 kod:=readkey;
 if kod=#72 then
 begin
 if k>1 then k:=k-1
 else k:=n;
 end;
 if kod=#80 then
 begin
 if k<n then k:=k+1
 else k:=1
 end;
 end;
end;
if k=n then
begin
window(1,1,80,25);
clrscr;
halt;
end
else
if k=1 then
begin
textbackground(6);
textcolor(15);
window(7,k+1,12,k+1);
clrscr;
gotoxy(1,1);
write('vnn');
readln;
end
else
if k=2 then
begin
textbackground(6);
textcolor(15);
window(7,k+1,12,k+1); clrscr;
gotoxy(1,1);
write('ffgh');
readln;
end
else
if k=3 then
begin
textbackground(6);
textcolor(15);
window(7,k+2,12,k+1); clrscr;
gotoxy(1,1);
write('hgf');
readln;
end;
end;
end.
0
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 10
02.03.2011, 21:19  [ТС] 3
да ето круто но мне ещо надо чтобы даные записовались в файл...у меня меню работает а вот на щот файлов проблемы ...не заисывает ...
0
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
02.03.2011, 21:25 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Либо дай мне полное задание, либо вот, тоже самое только на 3 меню :

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
Program Lab_17_18;
  uses crt;
   Type ORDER = record
          rsplat, rspolyt, psumma:word;
                end;
        massiv = array[1..5] of Order;
    Var f:file of ORDER;
        A:massiv;
        p_m:char;
    Procedure Proc_A;
    Var i:byte;
      Begin
       rewrite(f);
       for i:=1 to 5 do
         Begin
           Writeln ('Vvedite info o ', i ,' platel: ');
           Write ('Vvedite r/s platelch  ');
           Readln (A[i].rsplat);
           Write ('Vvedite r/s polych:    ');
           Readln (A[i].rspolyt);
           Write ('Vvedite perechisl summu:   ');
           Readln (A[i].psumma);
 
           Write(f,A[i]);
       end;
            close(f);
            Reset(f);
            Writeln ('R/S PLAT',' ':10,'R/S POLYT',' ':10,'SUMMA',' ':5 );
            Writeln('___________________________________________________');
            for i:=1 to 5 do
              Begin
                read(f,A[i]);
                Writeln(A[i].rsplat:11,A[i].rspolyt:12,A[i].psumma:18);
                Writeln ('___________________________________________________');
                end;
                close(f);
                readln;
                end;
                
          Procedure Proc_B;
             Var i1:byte;
          Begin
              Reset(f);
             Writeln ('r/s plat':20,'     summa':8);
             Writeln (' ':10,'______________________________':14);
              While not(eof(f)) do
                Begin
                  Read(f, A[1]);
                  Writeln (A[1].rsplat:20,A[1].psumma:12);
                   end;
                   Writeln (' ':10,'______________________________':14);
                    close(f);
                    readln;
                    end;
       Begin
        assign(f,'J:\2\file');
        repeat
          clrscr;
           Writeln ('1 - sozdat new file');
           Writeln ('2 - nuzhniy nam spisok');
           Writeln ('3 - exit ');
           Write(' Viberite punct menu ');
           Readln (p_m);
           case p_m of
           '1':  Proc_A;
           '2': Proc_B;
           '3': Writeln ('End of work');
           end;
           until (p_m = '3');
           readln;
           end.
0
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 10
02.03.2011, 22:00  [ТС] 5
в програме должно быть меню не важно какое ,главное чтобы с него виполнялись такие действия как
1,ввод информации про студентов (процедура)
2.запись етих даних в файл...(процедура)
3.прочитать те даные которые туда записаны...(процедура)
4.виход...(не обезтельно процедуно но надо ка-то выйти)
тема лабораторной ФАЙЛЫ так-что меню служет для того лиш чтобы удобно было виполнить запис даных в файл...
информация студентов должны быть типа масив...ну как в мооей програме....
она впринсыпе верная но не делает самого главного НЕ ЗАПИСЫВАЕТ ДАНЫЕ В ФАЙЛ поетому я и прошу помочь ммне ....а то никак не получается.....
0
02.03.2011, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2011, 22:00
Помогаю со студенческими работами здесь

Реализовать функции для работы с однонаправленным списком
Реализовать функции для работы с однонаправленным списком Реализовать следующие функции для работы...

Описать рекурсивную функцию Palindrome(S) логического типа: переделать программу для работы с файлами
Доброго дня суток! помогите пожалуйста переделать программу, чтобы она работала с файлом. Не могу...

Реализовать следующие функции для работы с двунаправленным списком
Помогите пожалуйста написать программу. Задание: Реализовать следующие функции для работы с...

Реализовать следующие функции для работы с двунаправленные списком:
Реализовать следующие функции для работы с двунаправленные списком: - добавление элемента в начало...


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

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