2 / 1 / 1
Регистрация: 16.09.2020
Сообщений: 51
1

Переделать программу. Тема: Текстовые файлы

10.11.2020, 06:46. Показов 1218. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, нужно подправить код чуть-чуть, сделать его без использования c_str и объявить переменную symbols типом char.

Пример текстового файла A: Some text here

and here

and some here

and a little bit here

C++
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
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string.h>
 
using namespace std;
 
void ReadFile(char A[]);
int func(char A[],char letter);
 
main()
    {
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251); 
        char letter;
        int count;
        cout<<"Содержимое исходного файла: "<<endl;
        ReadFile("A.txt");
        cout<<"\nВведите букву: "<<endl;
        cin >> letter;
        count = func("A.txt",letter);
        cout<<"\nКоличество слов: "<<count<<endl;
    }
 
int func(char A[],char letter)
    {
        int count = 0;
        ifstream F;
        string symbols;
        char array[256];
        F.open(A);
        if(F.fail())
            {
                cout<<"Ошибка";
                exit(1);    
            }   
        F>>symbols;
        strcpy(array, symbols.c_str());
        while(!F.eof())
            {
                if ((array[0] == letter) or (array[strlen(array) - 1] == letter))
                    {
                        cout<<symbols<<"   ";
                        count++;
                    }
                F>>symbols; 
                strcpy(array, symbols.c_str());
            }
        F.close();
        return count;
    }
 
void ReadFile(char A[])
    {
        int i = 0;
        ifstream F;
        string symbols;
        F.open(A);
        if(F.fail())
            {
                cout<<"Ошибка";
                exit(1);    
            }   
        F>>symbols;
        while(!F.eof())
            {
                cout<<symbols<<"   ";
                F>>symbols; 
            }
        F.close();
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2020, 06:46
Ответы с готовыми решениями:

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки))
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого...

Тема:Текстовые файлы.
Текстовый файл содержит несколько целых чисел. Определить сколько разных цифр входит в запись этих...

Как переделать программу под текстовые фаилы
Нужно из типизированных переделать в текстовые type tfile = file of real; procedure...

Текстовые файлы.Напишите программу которая
Напишите программу, которая выводит на экран максимальную оценку в группе среди учащихся....

4
Модератор
2637 / 1750 / 919
Регистрация: 16.10.2013
Сообщений: 5,065
Записей в блоге: 14
10.11.2020, 06:59 2
Лучший ответ Сообщение было отмечено weary как решение

Решение

C++
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
#include <fstream>
#include <iostream>
#include <cstring>
 
using namespace std;
 
void ReadFile(char A[]);
int func(char A[],char letter);
 
main()
    {
        char letter;
        int count;
        cout<<"Содержимое исходного файла: "<<endl;
        ReadFile("A.txt");
        cout<<"\nВведите букву: "<<endl;
        cin >> letter;
        count = func("A.txt",letter);
        cout<<"\nКоличество слов: "<<count<<endl;
    }
 
int func(char A[],char letter)
    {
        int count = 0;
        ifstream F;
        char symbols[256];
        char array[256];
        F.open(A);
        if(F.fail())
            {
                cout<<"Ошибка";
                exit(1);    
            }   
        F>>symbols;
        strcpy(array, symbols);
        while(!F.eof())
            {
                if ((array[0] == letter) or (array[strlen(array) - 1] == letter))
                    {
                        cout<<symbols<<"   ";
                        count++;
                    }
                F>>symbols; 
                strcpy(array, symbols);
            }
        F.close();
        return count;
    }
 
void ReadFile(char A[])
    {
        int i = 0;
        ifstream F;
        char symbols[256];
        F.open(A);
        if(F.fail())
            {
                cout<<"Ошибка";
                exit(1);    
            }   
        F>>symbols;
        while(!F.eof())
            {
                cout<<symbols<<"   ";
                F>>symbols; 
            }
        F.close();
    }
0
2 / 1 / 1
Регистрация: 16.09.2020
Сообщений: 51
10.11.2020, 07:21  [ТС] 3
long399, спасибо!
Теперь преподавателю нужно сделать условие с учетом регистра, совсем не понимаю как, не поможешь?
В if сравнение нужно приравнять регистр слова (symbols) к регистру буквы (letter) - то есть они должны быть одного регистра.
C++
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
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string.h>
using namespace std;
 
void ReadFile(char A[]);
int func(char A[],char letter);
 
main()
    {
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251); 
        char letter;
        int count;
        cout<<" Содержимое исходного файла:"<<endl;
        ReadFile("A.txt");
        cout<<"\n Введите букву:"<<endl;
        cin >> letter;
        count = func("A.txt",letter);
        cout<<"\nКоличество слов:"<<count<<endl;
    }
int func(char A[],char letter)
    {
        int count = 0;
        ifstream F;
        char symbols[256];
        F.open(A);
        if(F.fail())
            {
                cout<<"Ошибка";
                exit(1);    
            }   
        F>>symbols;
        while(!F.eof())
            {
                if ((symbols[0] == letter) or (symbols[strlen(symbols) - 1] == letter))
                    {
                        cout<<symbols<<"   ";
                        count++;
                    }
                F>>symbols; 
            }
        F.close();
        return count;
    }
void ReadFile(char A[])
    {
        int i = 0;
        ifstream F;
        string symbols;
        F.open(A);
        if(F.fail())
            {
                cout<<"Ошибка";
                exit(1);    
            }   
        F>>symbols;
        while(!F.eof())
            {
                cout<<symbols<<"   ";
                F>>symbols; 
            }
        F.close();
    }
0
Модератор
2637 / 1750 / 919
Регистрация: 16.10.2013
Сообщений: 5,065
Записей в блоге: 14
10.11.2020, 07:35 4
Цитата Сообщение от weary Посмотреть сообщение
C++
37
if ((symbols[0] == letter) or (symbols[strlen(symbols) - 1] == letter))
C++
37
if ((tolower(symbols[0]) == tolower(letter)) or (tolower(symbols[strlen(symbols) - 1]) == tolower(letter)))
1
2 / 1 / 1
Регистрация: 16.09.2020
Сообщений: 51
10.11.2020, 07:53  [ТС] 5
long399, спасибо. Сделал через 3 переменную
0
10.11.2020, 07:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2020, 07:53
Помогаю со студенческими работами здесь

Написать программу на текстовые файлы и массивы строк
Помогите с программой. В файле хранятся названия фирм. Каждая строка запись об отдельной фирме....

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

Написать программу, которая позволяет просматривать текстовые файлы
Написать программу, которая позволяет просматривать текстовые файлы...

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

Текстовые файлы. Составить программу вывода на экран содержимого файла в обратном порядке
Дан текстовый файл. Составить программу вывода на экран его содержимого в обратном порядке.

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


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

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

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