5 / 5 / 1
Регистрация: 31.10.2010
Сообщений: 94
1

Исправить программу

31.03.2011, 06:59. Показов 603. Ответов 5
Метки нет (Все метки)

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
139
140
141
142
143
144
145
146
147
148
uses
    crt;
type
    mas=array [1..4] of string;
    student=record
       gruppa:string[5];
       fio:record
       f,o,i:string[20];
           end;
       data:record;
       d,m,g:string;
       end;
       adrres:record;
       yl,dom:string;
    end;
     end;
const
     menu:mas=('Ñîçäàíèÿ Áàçû Äàííûõ','Ïðîñìîòð áàçû äàííûõ','Óäàëåíèå áàçû äàííûõ','Âûõîä');
var
   t:file of student;
   s:student;
   n,i,k,j:integer;
   c:char;
procedure
         sozd_faila;
         begin
assign(t,'Áàçà.txt');
rewrite(t);
clrscr;
write('Âåäèòå êîë-âî ñòóäåíòîâ: ');
readln(n);
writeln('Ââåäèòå äàííûå î ñòóäåíòàõ:');
for i:=1 to n do
 begin
   writeln('Ñòóäåíò ',i);
   with s do
   begin
    write(' Ãðóïïà: ');
    readln(gruppa);
    write('Ôàìèëèÿ: ');
    readln(fio.f);
    write('Èìÿ: ');
    readln(fio.i);
    write('Îò÷åñòâî: ');
    readln(fio.o);
    write('Äåíü ðîæäåíèÿ: ');
    readln(data.d);
    write('ìåñÿö: ');
    readln(data.m);
    write('Ãîä: ');
    readln(data.g);
    write('Ìåñòî æèòåëüñòâà:');
    readln(adrres.yl);
    write(t,s);
    writeln('Ñòóäåíò áûë óñïåøíî äîáàâëåí â áàçó äàííûõ');
    writeln;
   end;
   end;
   close(t);
    end;
procedure
         vivod_bazi;
begin
assign(t,'Áàçà.txt');
reset(t);
repeat
clrscr;
writeln('Ñïèñîê ñòóäåíòîâ 208-Ï :');
while not eof(t)  do
 begin
  read(t,s);
  with s do
  begin
    write(gruppa,' ');
    write(fio.f,' ');
    write(fio.i,' ');
    write(fio.o,' ');
    write(data.d,'.');
    write(data.m,'.');
    write(data.g,' ') ;
    write(adrres.yl);
    writeln;
   end;
 end;
textcolor(3);
writeln('Äëÿ Âûõîäà â ìåíþ íàæìèòå ESC');
c:=readkey;
until c=#27;
close(t);
end;
procedure
         del;
          begin
               assign(t,'Áàçà.txt');
               reset(t);
               clrscr;
               repeat
               truncate(t);
               writeln('Áàçà áûëà óäàëåííà óñïåøíî');
               textcolor(3);
               writeln('Äëÿ Âûõîäà â ìåíþ íàæìèòå ESC');
               c:=readkey;
               until c=#27;
               close(t);
          end;
 
procedure
        sozd_menu;
            begin
clrscr;
k:=1;
while c<>#13 do
               begin
                clrscr;
               for j:=1 to 4 do
               begin
               if j=K then
               begin
               textcolor(magenta);
               end
               else
               begin
               textcolor(red);
               end;
               gotoxy(30,j+1);
               write(menu[j]);
               end;
c:=readkey;
          if c=#72 then
           if k>1 then k:=k-1;
          if c=#80 then
            if k<4 then k:=k+1;
            if c=#13 then
            begin
            clrscr;
            case k of
            1:sozd_faila;
            2:vivod_bazi;
            3:del;
            4:writeln('Ïðîãðàììà Çàâåðøåííà');
            end;
            end;
            end;
            end;
begin
 
sozd_menu;
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
procedure
         sozd_faila;
         begin
assign(t,'Áàçà.txt');
rewrite(t);
clrscr;
write('Âåäèòå êîë-âî ñòóäåíòîâ: ');
readln(n);
writeln('Ââåäèòå äàííûå î ñòóäåíòàõ:');
for i:=1 to n do
 begin
   writeln('Ñòóäåíò ',i);
   with s do
   begin
    write(' Ãðóïïà: ');
    readln(gruppa);
    write('Ôàìèëèÿ: ');
    readln(fio.f);
    write('Èìÿ: ');
    readln(fio.i);
    write('Îò÷åñòâî: ');
    readln(fio.o);
    write('Äåíü ðîæäåíèÿ: ');
    readln(data.d);
    write('ìåñÿö: ');
    readln(data.m);
    write('Ãîä: ');
    readln(data.g);
    write('Ìåñòî æèòåëüñòâà:');
    readln(adrres.yl);
    write(t,s);
    writeln('Ñòóäåíò áûë óñïåøíî äîáàâëåí â áàçó äàííûõ');
    writeln;
   end;
   end;
   close(t);
    end;
Сдесь нужно добавить
Pascal
1
2
3
4
repeat
 
c:=readkey;
until c=#27;
А вот куда поставить не знаю!!!! Мож кто знает помогите!!!!

Добавлено через 21 минуту
Что не кто не может помочь??!!!!

Добавлено через 31 минуту
Хоть кто нибуть предложите что нить, чем это можно заменить!!!! или как правельно записать!!! у меня МОЗГ отказал!!!!

Добавлено через 17 минут
Что совсем не кто не знаю! мне это срочно надо исправить!!

Добавлено через 8 часов 44 минуты
!!!!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2011, 06:59
Ответы с готовыми решениями:

Исправить программу
Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан массив целых чисел А, где...

Исправить программу
Необходимо было реализовать следующее: В одномерном массиве, состоящем из n вещественных...

Исправить программу
Program kj; Var s: String; i: Byte; Begin Write('Введите строку: '); Readln(s); For...

Исправить программу
Здравствуйте. Написал программу, но преподаватель сказал исправить. Требуется правильно расставить...

5
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.03.2011, 08:00 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
procedure  sozd_faila;
var c:char;
begin
assign(t,'База.txt');
rewrite(t);
clrscr;
writeln('Введите данные о студентах, окончание ввода Esc:');
repeat
   writeln('Студент ',i);
   with s do
   begin
    write(' Группа: ');
    readln(gruppa);
    write('Фамилия: ');
    readln(fio.f);
    write('Имя: ');
    readln(fio.i);
    write('Отчество: ');
    readln(fio.o);
    write('День рождения: ');
    readln(data.d);
    write('месяц: ');
    readln(data.m);
    write('Год: ');
    readln(data.g);
    write('Место жительства:');
    readln(adrres.yl);
    write(t,s);
    writeln('Студент был успешно добавлен в базу данных');
    writeln;
   end;
c:=readkey;
until c=#27;
close(t);
end;
0
5 / 5 / 1
Регистрация: 31.10.2010
Сообщений: 94
31.03.2011, 08:02  [ТС] 3
После того как ввожу все данные он сразу завершает программу!! а мне надо чтоб при нажатие еsc он выходил обратно в меню!!!
0
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.03.2011, 08:10 4
Так у Вас неправильно организована работа меню.
Это тоже все должно быть в цикле. Вот здесь например посмотрите.
https://www.cyberforum.ru/pascal/thread135004.html
Принцип такой
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
repeat
clrscr;
выводим пункты меню
выбираем пункт
readln(w);
case w of
1:выполняется пункт 1
   после выполнения например
   readln;
   end;
...............
4:exit;
end;
until w=4;
0
5 / 5 / 1
Регистрация: 31.10.2010
Сообщений: 94
31.03.2011, 08:18  [ТС] 5
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
procedure
         menu;
          begin
               repeat
                    gotoxy(6,1);
                     writeln('Ïðîèçâåñòè ââîä çàäàííîãî êîëè÷åñòâà ñòóäåíòîâ');
                     gotoxy(6,2);
                     writeln('Äîáàâèòü îäíîãî ñòóäåíòà');
                     gotoxy(6,3);
                     writeln('Ïîêàçàòü âñåõ ñòóäåíòîâ');
                     gotoxy(6,4);
                     writeln('Ðåäàêòèðîâàòü äàííûå î âûáðàííîì ñòóäåíòå');
                     gotoxy(6,5);
                     writeln('óäàëèòü áàçó äàííûõ');
                     gotoxy(6,6);
                     writeln('Âûõîä èç ïðîãðàììû');
                     gotoxy(1,y);
                     writeln('>>>');
                     c:=readkey;
                     if c=chr(72) then y:=y-1;
                     if c=chr(80) then y:=y+1;
                    clrscr;
              until c=chr(13);
          end;
а вот это меню правельное??? если да то помогите сделать чтоб цвета пунктов менялись!!!!!!
0
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
31.03.2011, 10:57 6
Я за Вас делать ничего не буду, вот пример меню в Паскале АВС, попробуйте так сделать.
Или по другому.

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
uses crt;
{массив названий пунктов меню}
const vybor:array[1..5] of string=('1-Фамилия',
                                   '2-Домашний адрес',
                                   '3-Год рождения',
                                   '4-Доп. сведения',
                                   '5-Выход');
     date:array[1..4] of string=('Иванов','ул. Пушкина, 12-125','1990','студент 5 курса университета');
procedure Menyu(var k:byte;kol:byte);
var kod: char;
    i:byte;
begin
textbackground(15);
clrscr;
k:=1;
gotoxy(5,1);
k:=1;
repeat
  for i:=1 to kol do
   begin
     if i=k then//активный пункт меню
      begin
         textbackground(7);
         textcolor(13);
      end
     else//неактивный
      begin
         textbackground(3);
         textcolor(4)
      end;
     gotoxy(18*(i-1)+1,1);
     write(vybor[i]);
   end;
  repeat
  kod:=readkey;//читаем код клавиши
  until kod in [#13, #75, #77];//допустимые Enter,стрелки влево-вправо
  case kod of
  #77: begin  {стрелка влево}
       k:=k-1;
       if k=0 then k:=kol;{если левый край, в конец}
       end;
  #75: begin  {стрелка вправо}
       k:=k+1;
       if k>kol then k:=1;{если правый край, в нaчало}
       end;
  end;
 until kod=#13;//если Enter - выход
end;
 
var k:byte;//номер пункта меню
begin
repeat
   Menyu(k,5);{выводим меню}
   case k of{выбираем стрелками действие}
   1:begin
     textbackground(15);
     clrscr;
     write(date[1]);
     readln;
     Menyu(k,5);{выводим меню}
     end;
   2:begin
     textbackground(15);
     clrscr;
     write(date[2]);
     readln;
     Menyu(k,5);{выводим меню}
     end;
   3:begin
     textbackground(15);
     clrscr;
     write(date[3]);
     readln;
     Menyu(k,5);{выводим меню}
     end;
   4:begin
     textbackground(15);
     clrscr;
     write(date[4]);
     readln;
     Menyu(k,5);{выводим меню}
     end;
   5:begin
     clrscr;
     exit;
     end;
   end;
 until k=5;//пока не пункт 5
end.
0
31.03.2011, 10:57
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2011, 10:57
Помогаю со студенческими работами здесь

Исправить программу
Помогите скажите почему не работает и где что надо испрявить!!! Спасибо/ и как тут round...

Исправить программу
Кому не сложно помогите исправить программу - неправильно выводит вектор удовлетворяющий условию...

Исправить программу
Дана степень числа А. Найти её показатель. Не въехал что к чему, написал вот это : var...

Исправить программу
Помогите сделать программу через procedure.Программа работает, только нужно написать через...

Исправить программу
Помогите пожалуйста исправить программу.... Переделайте программу что бы она была не в цикле...

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


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

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

Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru