Форум программистов, компьютерный форум CyberForum.ru

Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... - C++

Восстановить пароль Регистрация
 
nens
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 5
25.08.2013, 15:32     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #1
Нужно создать файл с буквами, цифрами, и знаками препинания. Вывести на экран результаты 3 файлов, которые содержат отдельно каждий букви, цифры и знаки препинания...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 15:32     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания...
Посмотрите здесь:

Двоичные файлы.Дано предложение.Создать файл и вывести в него все символы этого предложения,отличные от знаков препинания.Вывести содержимое на экран. C++
C++ Обработать исходный файл и определить число каждого из символов (при этом регистр букв не учитывать, а цифры, знаки препинания и пробелы учитывать)
вывести все цифры, которые содержат число 7 C++
Вывести на экран предложения из файла, которые содержат введенное с клавиатуры слово C++
Вывести на экран те строки файла, которые содержат в качестве фрагмента заданный текст C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.08.2013, 16:43     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #2
Подсказка, для начала работы: используйте функции cctype: isalpha(), isdigit(), ispunct().
nens
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 5
25.08.2013, 20:16  [ТС]     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #3
Что ето за функции и как их использовать в програме???
Hugra
 Аватар для Hugra
47 / 47 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
25.08.2013, 20:27     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #4
Цитата Сообщение от nens Посмотреть сообщение
Что ето за функции и как их использовать в програме???
Сделал столько сложную работу для вас, прогуглил.
Функция isalpha() возвращает ненулевое значение, если ее аргумент ch является буквой, в противном случае возвращается нуль. Принадлежность символа к буквам зависит от конкретного языка. Для английского языка таковыми являются прописные и строчные буквы от А до Z.
Функция isdigit() возвращает ненулевое значение, если ее аргумент ch является цифрой, т.е. попадает в диапазон 0-9. В противном случае возвращается нуль.
Функция ispunct() возвращает ненулевое значение, если аргумент ch является знаком пунктуации. В противном случае возвращается нуль. Под знаками пунктуации подразумеваются все печатаемые символы за исключением пробела, которые не относятся к алфавитно-цифровым.
nens
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 5
25.08.2013, 20:37  [ТС]     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #5
Помогите пожалуйста с написаниям програмы...
Hugra
 Аватар для Hugra
47 / 47 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
25.08.2013, 20:47     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #6
Цитата Сообщение от nens Посмотреть сообщение
Помогите пожалуйста с написаниям програмы...
Сформулируй корректно цель задачи, лично я не понял, поэтому и помочь не могу.
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 689
25.08.2013, 20:57     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #7
В общем просто читаете по символьно ваш файл, и создаете 3 проверки:
1) если число
2) если буква
3) если цифра
Ну и куда зайдет, оттуда и записывайте в нужный вам файл.
Процедуры проверки вам выше в посте написали.
nens
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 5
25.08.2013, 21:20  [ТС]     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #8
нужно написать програму в которой чтения происходит из одного файла, имеющиво в себе буквы, цифри и знаки припинания. И вывести на екран состовляющие троих файлов, которые имеют в себе отдельно буквы, цифри и знаки припинания.... Другими словами нужно из одного файла создать три, в первом - буквы, втором - цифры, третем - знаки припинания....
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 21:33     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #9
Цитата Сообщение от nens Посмотреть сообщение
нужно написать програму в которой чтения происходит из одного файла, имеющиво в себе буквы, цифри и знаки припинания. И вывести на екран состовляющие троих файлов, которые имеют в себе отдельно буквы, цифри и знаки припинания.... Другими словами нужно из одного файла создать три, в первом - буквы, втором - цифры, третем - знаки припинания....
В каком этапе загвоздка? Открываешь файл№0, считываешь посимвольно. Делаешь проверку:
1) если буква, записываешь в файл№1
2) если цифра, записываешь в файл№2
3) если знак препинания, записываешь в файл№3
4) если еще что-то, то пропускаешь

Если файл№0 закончился, закрываешь все файлы, конец программы.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
25.08.2013, 21:45     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #10
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
#include <iostream>
#include <cctype>
#include <string>
#include <fstream>
 
using namespace std;
 
int main() {
    std::ifstream in("in.txt");
    std::ofstream digit("digit.txt"); //цифры
    std::ofstream letters("letters.txt"); //буквы
    std::ofstream marks("marks.txt"); //препинания
    std::string str;
    if (!in.is_open())
        cout << "File not open!\n";
    else {
        while (!in.eof()) {
            in >> str;
            for (int i = 0; i < str.length(); i++) {
                if (isalpha(str[i]))letters << str[i] << ' ';
                else {
                    if (isdigit(str[i]))digit << str[i] << ' ';
                    else {
                        if (ispunct(str[i]))marks << str[i] << ' ';
                    }
                }
            }
        }
    }
    return 0;
}
Добавлено через 3 минуты
Цитата Сообщение от Nekto Посмотреть сообщение
закрываешь все файлы,
разве std::ofstream сам не закрывает?
если нет, то ТС:
C++
1
2
3
4
 in.close();
    digit.close();
    letters.close();
    marks.close();
Hugra
 Аватар для Hugra
47 / 47 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
25.08.2013, 21:45     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #11
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
#include <iostream>
#include <fstream>
#include <cctype>
 
int main()
{
    std::fstream fs("input.txt", std::ios::in);
 
    std::ofstream fDigit("digit.txt");
    std::ofstream fAlpha("alpha.txt");
    std::ofstream fPunct("punct.txt");
    
    for (char ch; fs.get(ch);)
    {
        if(isdigit(ch))
            fDigit << ch;
        else if(isalpha(ch))
            fAlpha << ch;
        else if(ispunct(ch))
            fPunct << ch;
    }
 
    fs.close();
    fDigit.close();
    fAlpha.close();
    fPunct.close();
 
    system("PAUSE");
    return 0;
}
пока писал, уже ответили =)
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.08.2013, 22:06     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #12
Цитата Сообщение от Belfegor Посмотреть сообщение
разве std::ofstream сам не закрывает?
Закрывает при выходе из области видимости. Но мало ли, какие там еще действия будут Просто личная привычка освобождать ресурсы, когда они уже не нужны.
nens
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 5
26.08.2013, 11:23  [ТС]     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #13
я не могу понять как зделать ету проверку, через разветвления, если да, то как правильно условия описать?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.08.2013, 13:20     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #14
Цитата Сообщение от nens Посмотреть сообщение
я не могу понять как зделать ету проверку, через разветвления, если да, то как правильно условия описать?
11 пост, строки 15 - 20.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2013, 14:01     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания...
Еще ссылки по теме:

C++ Вывести на экран в текущем каталоге имена тех каталогов, которые в себе не содержат подкаталогов
Скопировать из файла в файл все строки, которые не содержат цифры. Подсчитать количество строк по условию C++
Скопировать из файла F1 в файл F2 все строки, которые не содержат цифры C++

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

Или воспользуйтесь поиском по форуму:
zeland
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 1
27.08.2013, 14:01     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания... #15
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
72
73
74
75
#include <iostream>
#include <fstream>
#include <string.h>
#include <new>
 
void digits(char mass[100]);
void alphas(char mass[100]);
void puncts(char mass[100]);
 
using namespace std;
 
int main ()
{
    char digit[100],alph[100],punct[100];
    char *s = new char[100];
 
    ifstream f ("Text.txt",std::ios::in);
    if(!f)
    {
        cout<<"Cannot open file...\n";
        return 1;
    }
    f.getline(s,100);
    cout<<"All text: "<< s <<endl;
 
    digits(s);
    alphas(s);
    puncts(s);
 
    ifstream f1("Digit.txt",std::ios::in);
    f1.getline(digit,100);
    cout<<"All digits: "<<digit<<endl;
 
    fstream f2("Alpha.txt",std::ios::in);
    f2.getline(alph,100);
    cout<<"All letters: "<<alph<<endl;
 
    fstream f3("Punct.txt",std::ios::in);
    f3.getline(punct,100);
    cout<<"All characters: "<<punct<<endl;
 
    f.close();
    f1.close();
    f2.close();
    f3.close();
    delete []s;
    return 0;
}
 
void digits(char mass[100])
{   
    ofstream outfile("Digit.txt",std::ios::out);
    for(int i=0;i<strlen(mass);i++)
        if (isdigit(mass[i]))
            outfile.put(mass[i]);
        outfile.close();
}
 
void alphas(char mass[100])
{
    ofstream outfile("Alpha.txt",std::ios::out);
    for(int i=0;i<strlen(mass);i++)
        if (isalpha(mass[i]))
            outfile.put(mass[i]);
    outfile.close();
}
 
void puncts(char mass[100])
{
    ofstream outfile("Punct.txt",std::ios::out);
    for(int i=0;i<strlen(mass);i++)
        if (ispunct(mass[i]))
            outfile.put(mass[i]);
    outfile.close();
}
Yandex
Объявления
27.08.2013, 14:01     Файл: Вывести на экран результаты 3 файлов, которые содержат отдельно каждый букви, цифры, и знаки препинания...
Ответ Создать тему
Опции темы

Текущее время: 18:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru