Сделать программу для обработки текстового файла с некоторыми фразами. Программа должна выполнять такие действия:
Записывать в текстовый файл любимую пословицу пользователя, что была введена с клавиатуры.
Выводить на экран всю информацию с данного файла.
Выводить на экран кол-во пословиц, которые находятся в файле.
Выводить на экран пословицу, что написано в рядке с номером, который был введен пользователем.
Другие языки программирования и технологии
Здравствуйте, помогите с задачей по Pascal. Зарание спасибо!!
решение на Turbo Pascal 7.0 (Pascal ABC = shift + F9)
ссылка на скачивание программы + пословиц "my-files.ru/2yhmet"
uses crt;
label lab1;
var case_num, i, c, s: integer;
f: text;
stroka, slovo: string;
begin
clrscr;
gotoxy (32,12);
textcolor (white);
writeln (' Самара 2017, ssau.ru');
repeat until keypressed;
lab1:
clrscr;
gotoxy (1,5);
writeln (' 1 - Добавить пословицу в файл ...');
writeln;
writeln (' 2 - Вывести на экран базу пословиц ...');
writeln;
writeln (' 3 - Вывести на экран кол-во пословиц в базе ...');
writeln;
writeln (' 4 - Вывести на экран пословицу # ...');
writeln;
writeln (' 0 - Выход ...');
readln (case_num);
while case_num <> 0 do
begin
clrscr;
case case_num of
{добавление }
1 : begin
assign (f, 'poslov.txt');
reset (f);
c:=1;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
end;
writeln (' ВВедите пословицу #',c,': ');
readln (stroka);
str(c, slovo);
stroka:= slovo+'. '+stroka;
append (f);
writeln (f, stroka);
close (f);
gotoxy(10, 20);
writeln (' Пословица добавлена... press any key... ');
repeat until keypressed;
goto lab1;
end;
{игра}
2: begin
assign (f, 'poslov.txt');
reset (f);
c:=1;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
writeln (stroka);
writeln;
end;
close (f);
repeat until keypressed;
goto lab1;
end;
3: begin
assign (f, 'poslov.txt');
reset (f);
c:=0;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
end;
close (f);
write (' в базе ',c,' пословиц');
repeat until keypressed;
goto lab1;
end;
4: begin
assign (f, 'poslov.txt');
reset (f);
write (' введите номер пословицы для просмотра #');
readln (s);
c:=0;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
if s=c then begin writeln; writeln (' ', stroka); end;
end;
close (f);
repeat until keypressed;
goto lab1;
end;
{выход}
0 : exit;
else
begin
writeln (' Допущена ошибка при выборе ...press Enter for restart program, ');
repeat until keypressed;
readln;
halt;
end;
end;
end;
end.
ссылка на скачивание программы + пословиц "my-files.ru/2yhmet"
uses crt;
label lab1;
var case_num, i, c, s: integer;
f: text;
stroka, slovo: string;
begin
clrscr;
gotoxy (32,12);
textcolor (white);
writeln (' Самара 2017, ssau.ru');
repeat until keypressed;
lab1:
clrscr;
gotoxy (1,5);
writeln (' 1 - Добавить пословицу в файл ...');
writeln;
writeln (' 2 - Вывести на экран базу пословиц ...');
writeln;
writeln (' 3 - Вывести на экран кол-во пословиц в базе ...');
writeln;
writeln (' 4 - Вывести на экран пословицу # ...');
writeln;
writeln (' 0 - Выход ...');
readln (case_num);
while case_num <> 0 do
begin
clrscr;
case case_num of
{добавление }
1 : begin
assign (f, 'poslov.txt');
reset (f);
c:=1;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
end;
writeln (' ВВедите пословицу #',c,': ');
readln (stroka);
str(c, slovo);
stroka:= slovo+'. '+stroka;
append (f);
writeln (f, stroka);
close (f);
gotoxy(10, 20);
writeln (' Пословица добавлена... press any key... ');
repeat until keypressed;
goto lab1;
end;
{игра}
2: begin
assign (f, 'poslov.txt');
reset (f);
c:=1;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
writeln (stroka);
writeln;
end;
close (f);
repeat until keypressed;
goto lab1;
end;
3: begin
assign (f, 'poslov.txt');
reset (f);
c:=0;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
end;
close (f);
write (' в базе ',c,' пословиц');
repeat until keypressed;
goto lab1;
end;
4: begin
assign (f, 'poslov.txt');
reset (f);
write (' введите номер пословицы для просмотра #');
readln (s);
c:=0;
while not Eof (f) do
begin
readln (f, stroka);
inc (c);
if s=c then begin writeln; writeln (' ', stroka); end;
end;
close (f);
repeat until keypressed;
goto lab1;
end;
{выход}
0 : exit;
else
begin
writeln (' Допущена ошибка при выборе ...press Enter for restart program, ');
repeat until keypressed;
readln;
halt;
end;
end;
end;
end.
примени эту программу
program pr413;
uses crt;
const namein='in.txt';
nameout='out.txt';
var
f,f1:Text;
s,s1:string;
n,i,j,k:integer;
z:char;
BEGIN
clrscr;
writeln('Sozdanie faila');
assign(f,namein);
rewrite(f);
assign(f1,nameout);
rewrite(f1);
z:='y';
while z='y' do begin
Writeln('Ââåñòè ïðåäëîæåíèå');
ReadLn(s);
writeln(f,s);
write('Äîáàâèòü åùå ïðåäëîæåíèå?(y/n) ');
readln(z);
end;
writeln('Ñîçäàíèå ôàéëà çàêîí÷åíî');
close(f);
writeln('Ïðîñìîòð èñõîäíîãî ôàéëà');
reset(f);
writeln('-------------------------------------');
n:=0;
while not eof(f) do
begin
n:=n+1;
readln(f,s);
k:=1;
for i:=length(s) downto 1 do begin
if (S[I] =' ')then inc(k);
end;
str(k,s1); s1:=' '+s1;
writeln(f1,s+s1);
writeln(s);
end;
close(f);
close(f1);
writeln;
reset(f1);
writeln('Ïðîñìîòð êîíå÷íîãî ôàéëà');
writeln('-------------------------------------');
while not eof(f1) do begin
readln(f1,s);
writeln(s);
end;
close(f1);
readln;
END.
program pr413;
uses crt;
const namein='in.txt';
nameout='out.txt';
var
f,f1:Text;
s,s1:string;
n,i,j,k:integer;
z:char;
BEGIN
clrscr;
writeln('Sozdanie faila');
assign(f,namein);
rewrite(f);
assign(f1,nameout);
rewrite(f1);
z:='y';
while z='y' do begin
Writeln('Ââåñòè ïðåäëîæåíèå');
ReadLn(s);
writeln(f,s);
write('Äîáàâèòü åùå ïðåäëîæåíèå?(y/n) ');
readln(z);
end;
writeln('Ñîçäàíèå ôàéëà çàêîí÷åíî');
close(f);
writeln('Ïðîñìîòð èñõîäíîãî ôàéëà');
reset(f);
writeln('-------------------------------------');
n:=0;
while not eof(f) do
begin
n:=n+1;
readln(f,s);
k:=1;
for i:=length(s) downto 1 do begin
if (S[I] =' ')then inc(k);
end;
str(k,s1); s1:=' '+s1;
writeln(f1,s+s1);
writeln(s);
end;
close(f);
close(f1);
writeln;
reset(f1);
writeln('Ïðîñìîòð êîíå÷íîãî ôàéëà');
writeln('-------------------------------------');
while not eof(f1) do begin
readln(f1,s);
writeln(s);
end;
close(f1);
readln;
END.
Юрий Мизгирев
Вот вместо этих иероглифов, получается первое это "Введите пословицу", второе "Хотите ли вы ещё ввести", третье "Количество пословиц", четвертое "Введите строку", пятое"Пословица с этой строки" ???
Похожие вопросы
- помогите с задачей по Pascal abc!!!
- Помогите написать задачу в Pascal.
- Помогите решить задачу в Pascal!
- Помогите с задачей на Pascal ABC
- Помогите написать задачу на Pascal 7.0
- Помогите составить задачу в Pascal
- Помогите решить задачи на Pascal...
- Помогите решить задачу на Pascal!)
- Помогите составить задачу на Pascal или С++
- Помогите с задачей на Pascal.