Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Flaerok
1 / 1 / 0
Регистрация: 26.09.2010
Сообщений: 22
1

Работа с текстовыми файлами. Произвольные символы заменить на символы, введенные с клавиатуры

31.05.2012, 19:38. Просмотров 788. Ответов 2
Метки нет (Все метки)

Ребята, помогите пожалуйста! Задали задачку по программированию вот условие:
В выбранном текстовом файле произвольные символы заменить на символы, введенные с клавиатуры и записать получившийся текст в другой текстовый файл.
Преподаватель сказал, что всё правильно, только нужно сделать так, чтобы мы выбирали текстовый файл по его директории, а не брали его из папки Паскаля. Подскажите пожалуйста что нужно исправить в данном коде:
Uses crt;
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
var
    s_out1, s_in1, s_out, s_in, str: string;
    f1, f2     : text;
    i, len : integer;
    booo:boolean;
begin
clrscr;
    assign(f1,'c:/text1.txt');            
    reset(f1);
    writeln('Начальный текст: ');
    writeln;
    while not Eof(f1) do begin                                                                          
    readln(f1,s_out1);
    writeln(s_out1);
    end;
    close(f1);                                                                
    assign(f1,'c:/text1.txt');            
    reset(f1);
    writeln;
    writeln('Какой(ие) символ(ы) заменять? ');   
    readln(s_out);
    writeln;
    writeln('Какой(ие) символ(ы) вставлять? ');  
    readln(s_in);
    len := length(s_out);
    assign(f2,'c:/text2.txt');            
    reset(f2);
    rewrite(f2);
    booo:=false;
    while not Eof(f1) do begin            
        readln(f1,str);                   
        i := 1;
        while i<>0 do begin
            i := pos(s_out,str);
            if i<>0 then begin
                delete(str,i,len);
                insert(s_in,str,i);
                booo:=true;
            end;
        end;
        writeln(f2, str);
    end;
    writeln;
    writeln;
    if
     booo<>false
    then
     writeln('Программа успешно завершена, полученный текст:')
     else writeln('’*Такого символа(ов) ','"',s_out,'"',' в текст нет, текст остался без изменений :');
     writeln;
     close(f2);                                                                                           
     assign(f2,'c:/text2.txt');                                              
    reset(f2);
      while not Eof(f2) do begin
    readln(f2,s_in1);
    writeln(s_in1);
    end;
    close(f1);                                                                 
    close(f2);
readln
end.
0
Вложения
Тип файла: txt код.txt (1.8 Кб, 7 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2012, 19:38
Ответы с готовыми решениями:

В строке все символы ‘7’ и ‘!’ заменить на символы ‘?’
1.Дана символьная строка S. Скопировать первые N сиволов из исходной строки в новую. N вводиться с...

Заполнить матрицу А[N,M] с файла символами, если символы повторяются в рядах то эти же символы заменить на их коды.
Заполнить матрицу А с файла символами, если символы повторяются в рядах то эти же символы заменить...

Заменить в введенной строке S все символы А на символы С
Заменить в введенной строке S все символы А на символы С. А и С также вводятся пользователем....

Заменить в строке все символы «х» на символы «у»
Дана строка. Вводится 2 символа «x» и «y». Заменить в строке все символы «х» на символы «у»....

Создать программу, которая будет удалять символы введенные с клавиатуры
Доброго времени суток. Мне нужна программа, которая удаляла бы введенные с клавиатуры символы....

2
memphis92
3 / 3 / 3
Регистрация: 15.01.2011
Сообщений: 13
31.05.2012, 20:48 2
Добавь еще 2 переменные типа string, в первую записывай адрес файла из которого считывается, во вторую адрес файла в который записывается, и вставь их вместо 'c:/text1,txt' и 'c:/text2.txt' соответственно. Выглядеть будет как то так :
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
var .....
     adr1,adr2:string;
     ......
begin
write('Введите путь к файлу для считывания');
readln(adr1);
write('Введите путь к файлу для записи');
readln(adr2);
...
assign(f1,adr1);
...
assign(f2,adr2);
...
end.
1
Flaerok
1 / 1 / 0
Регистрация: 26.09.2010
Сообщений: 22
31.05.2012, 22:39  [ТС] 3
Спасибо тебе большое выручил очень сильно!!! я бы тебе 100 спасибо за это дал, но к сожалению можно только 1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2012, 22:39

Проверить, является ли введенные символы элементом множества
Дано множество малых латинских букв L. Проверить, является ли введенные символы элементом...

В строке все символы О заменить на символы А
В строке все символы О заменить на символы А

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru