![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
cyxarik |
![]()
Сообщение
#1
|
Гость ![]() |
Сведения об автомобилях сост в файлах (марк, номер, фио) . Нужно вывести количество автомобилей каждой марки .
Uses crt; type zap=record mark:string; nomer:string; FIO:string; end; var k:integer; f:file of zap; name:string; procedure vvod(var name:string); var i,n:integer; a:zap; f:file of zap; begin clrscr; write('Vvedite im9I faila: '); readln(name); assign(f,name); rewrite(f); write('Vvedite kol-vo mashin : '); readln(n); for i:=1 to n do begin clrscr; with a do begin write('Vvedite marky mashini: '); readln(mark); write('Vvedite nomer: '); readln(nomer); write('Vvedite FIO vladelca: '); readln(FIO); end; write(f,a); end; close(f); end; procedure add(name:string); var i,x,n:integer; a:zap; f:file of zap; begin clrscr; assign(f,name); write('Vvedite kol-vo mashin, informaciu kotorix nada dobavitb v file: '); readln(x); reset(f); seek(f,filesize(f)); for i:=1 to x do begin clrscr; with a do begin write('Vvedite marky: '); readln(mark); write('Vvedite nomer: '); readln(nomer); write('Vvedite FIO: '); readln(FIO); end; write(f,a); end; n:=n+x; close(f); end; procedure vivod1(name:string); var n,z:integer; a:zap; f:file of zap; begin clrscr; assign(f,name); write('vvedite nomer zapisi,dannie o kotoroy cledyet prosmotretb: '); readln(z); reset(f); if z>filesize(f) then writeln('V faile menwee kol-vo zapisey, 4em vvedenoe 4islo!') else begin seek(f,z-1); read(f,a); write(a.mark,': ',' nomer: ',a.nomer,' FIO: ',a.FIO ); end; readkey; close(f); end; procedure vivod(name:string); var i,n:integer; a:zap; f:file of zap; begin clrscr; assign(f,name); reset(f); i:=0; while not(eof(f)) do begin i:=i+1; read(f,a); writeln(a.mark,': ,',' nomer: ',a.nomer,' FIO: ',a.FIO); end; readkey; close(f); end; procedure modif(name:string); var i,n,k,z,w:integer; a:zap; f:file of zap; q:array[1..25] of zap; begin assign(f,name); reset(f); repeat clrscr; writeln('1 - Izmenenie zapisi'); writeln('2 - Exit'); write('‚ўҐ¤ЁвҐ ‚ и ўлЎ®а: '); readln(k); if k=1 then begin write('Vvedite nomer zapisi,kotoruy nugno izmenitb: '); readln(z); w:=filesize(f); if (w<z) then writeln('v faile menwee kol-vo zapisey, 4em vvedenoe 4islo!') else begin write('Vvedite marky mashini: '); readln(a.mark); write('Vvedite nomer: '); readln(a.nomer); write('Vvedite FIO: '); readln(a.FIO); seek(f,z-1); write(f,a); end; end; readkey; until k=2; close(f); end; procedure OPERACIA(name:string); var i,n,k:integer; a:zap; xz:string; f:file of zap; begin clrscr; assign(f,name); reset(f); while not(eof(f)) do begin read(f,a); if (a.mark=xz) then begin i:=i+1; xz:=a.mark; writeln(a.mark,': ',i); end else begin i:=0; xz:=a.mark; writeln(a.mark,': ',i); end; end; readkey; end; begin clrscr; repeat clrscr; writeln('MENU:'); writeln('1 - Vvod dannix'); writeln('2 - Dopolnenie faila novimi zapisjami'); writeln('3 - Vivod odnoy zapisi'); writeln('4 - Vivod vcex zapisey'); writeln('5 - Izmenenie zapisey'); writeln('6 - Vivod kol-vo avtomobiley kagdoy marki'); writeln('7 - EXIT'); write('Vvedite vash vibor: '); readln(k); case k of 1:vvod(name); 2:add(name); 3:vivod1(name); 4:vivod(name); 5:modif(name); 6:operacia(name); end; until k=7; end. Осталось зделать только вывод количества автомобилей каждой марки, тело проги я пометил красным, посмотрите там ошибки пожалуйста. |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
опиши немного по другому данные, примерно так:
type Сообщение отредактировано: klem4 - 9.01.2008 18:32 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 18:25 |