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

Подсчет количества букв в файле, их кодирование и расшифровка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка fatal error C1083: Не удается открыть файл Ttask.h http://www.cyberforum.ru/cpp-beginners/thread1130176.html
в чем причина?
C++ Найти булеан введенных чисел Программа должна позволять вводить 3(множество) числа с клавиатуры. И находить их булеан. P(A)={Æ, {a}, {b}, {c}, {a, b},{b, c}, {a, c}, {a, b, c}}. Заранее спасибо.) http://www.cyberforum.ru/cpp-beginners/thread1130175.html
Нужно ли под массив выделять память функциями malloc или new? C++
собственно вот программа по вводу размера массива, вводу массива, сортировки: #include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleOutputCP(1251); char con;
C++ Как сложить побитно два числа в двоичной с/с
Добрый день форумчане! У меня программа по переводу из 10 с/с в 2 с/с. Она сделана используя битовые поля. (см. код ниже) Вопрос, а как сложить по битно два числа в двоичной с/с (опять же используя битовые поля)?? У меня есть здесь сложение, но в 10 с/с происходит. Подскажите пожалуйста. Буду сильно благодарен, если мой код будет продолжен. #include <conio.h> #include <stdio.h>
C++ Сортировка массива из текстового файла по возрастанию http://www.cyberforum.ru/cpp-beginners/thread1130103.html
Сортировка массива из текстового файла по возрастанию Здравствуйте!Подскажите пожалуйста.У меня есть текстовый файл, в котором записаны числа.Нужно прочитать их,отсортировать по возрастанию и записать уже отсортированный массив в другой текстовый файл. Никак не получается вывести массив и записать его. #include "stdafx.h" #include <iostream> #include <fstream> #include <conio.h>...
C++ Опрос, объявление переменных - стиль программирования собственно каким вы способ пользуетесь и каким по вашему мнению правильно пользоваться: 1. pervaya_peremennay 2. first_variable 3. FirstVariable 4. fv // first variable / первая переменная 5. свой вариант подробнее

Показать сообщение отдельно
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113

Подсчет количества букв в файле, их кодирование и расшифровка - C++

26.03.2014, 13:00. Просмотров 381. Ответов 0
Метки (Все метки)

Здравствуйте. Мне нужно составить программу, которая подсчитает количество каждой буквы в файле input.txt (в этом файле находится некоторый текст) и запишет полученные числа в файл file.txt. Это должно быть оформлено следующим образом:
А - 2
Б - 5
В - 4
Я - 3
После текст, находящийся в файле input.txt, нужно закодировать и записать в file.txt. Так же программа должна уметь декодировать шифр, который будет находиться в файле file.txt и записывать полученный текст в файл output.txt. То есть текст, находящийся в input.txt, и текст, находящийся в output.txt, должен быть одним и тем же.
Дело в том, что программа у меня есть и компилируется она без ошибок, но в file.txt не отображается количество букв и в otput.txt не появляется декодированный текст. Думаю, где-то есть недочет.
Помогите мне в этом разобраться) заранее благодарен
Сама программа:
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
76
77
78
79
80
81
82
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <locale.h>
#define N 256
 
int main()
{setlocale(LC_ALL,"Russian");
int m;
int i, c[N];
unsigned int k;
FILE *f1, *f2, *f3;
for (i=0; i<N; i++)
{c[i]=0;
}
printf("Выберите необходимое действие 1) Кодировка данных /n 2) Расшифровка данных /n 3) Выход /n");
scanf("%d",&m);
switch(m)
{case 1:
    {f1=fopen("input.txt","r");
    f2=fopen("file.txt","w");
    if(NULL==(f1))
    {printf("Файл input.txt не найден");
    getch();
    exit(0);
    }
    fprintf(f2, "Буква - Количество\n");
    while((k=fgetc(f1))!=EOF)
    {k=toupper(k);
    if((k>=65)&&(k<=90)) c[k]++;
    if((k>=192)&&(k<=223)) c[k]++;
    if (k==168) c[k]++;
    }
    for (i=0;i<N;i++)
    if (c[i]!=0)
    fprintf(f2,"%c - %d\n",i,c[i]);
    fprintf(f2,"________\n");
    fprintf(f2,"*");
    fclose(f1);
    fclose(f2);
    f1=fopen("input.txt","r");
    f2=fopen("file.txt", "w");
    while ((k=fgetc(f1))!=EOF)
    {k++;
    fputc(k,f2);
    }
    printf("Данные записаны в file.txt");
    fclose(f1);
    fclose(f2);
    getch();
    }
    break;
    case 2:
        {f2=fopen("file.txt","r");
        if (NULL==(f2))
        {printf("file.txt не найден");
        getch();
        exit(0);
        }
        f3=fopen("output.txt","w");
        while ((k=fgetc(f2))!='*')
        {}
        
        while((k=fgetc(f2))!=EOF)
        {k--;
        fputc(k,f3);
        } 
        printf("Данные записаны output.txt");
        fclose(f2);
        fclose(f3);
        getch();
        }
    break;
        case 3: exit(0); break;
        default: printf("Нужно выбрать 1, 2 или 3"); 
 
getch();
}
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru