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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
#1

Подсчет цифр и букв - C++

20.04.2011, 08:41. Просмотров 415. Ответов 3
Метки нет (Все метки)

Народ, есть такая проблема! Мне нужно написать прогу, которая считывает текст из файла и определяет чего больше: цифр или букв. Я сделал её, но она работает только для одной строки, а мне нужно для нескольких строк. Помогите доделать пожалуйста!

Вот код программы:
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
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
using namespace std;
 
void main()
{
setlocale(LC_ALL, "Russian");
char bukv[] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФЧЦШЩЪЫЬЮЯабвгдеёжзийклмнопрстуфчцшщъыьюя";
char chisla[]="1,2,3,4,5,6,7,8,9,10";
int cntbukv = 0;
int cntchisla = 0;
int i, j;
 
char str[300];
 
ifstream text("text.txt");
while (!text.eof())
    {
        text.getline(str,200);
    }
cout << "Дан текст:" << endl << str << endl;
 
for(i=0; i<strlen(str); i++)
for(j=0; j<strlen(bukv); j++)
if(str[i]==bukv[j])
cntbukv++;
 
for(i=0; i<strlen(str); i++)
for(j=0; j<strlen(chisla); j++)
if(str[i]==chisla[j])
cntchisla++;
 
cout <<"Число букв: " << cntbukv;
cout <<"\nЧисло цифр: " << cntchisla;
 
if(cntbukv > cntchisla) cout <<"\nБольше букв";
if(cntbukv < cntchisla) cout <<"\nБольше цифр";
if(cntbukv == cntchisla) cout <<"\nЧисло букв и цифр равно";
                                                                                                                                                                                                                                                                                                            
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2011, 08:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчет цифр и букв (C++):

Последовательность из цифр, букв и знаков. Подсчитать чего больше и составить строки только из цифр, букв и знаков - C++
Дана последовательность состоящая из цифр, букв и знаков пунктуации в произвольном порядке. Подсчитать чего больше и составить строки...

Введите с клавиатуры некоторый текст и подсчитать в нем количество слов, букв, цифр,строчных букв, заглавных б - C++
Напишите пожалуйста программу в С++: Введите с клавиатуры некоторый текст и подсчитать в нем количество слов, букв, цифр,строчных букв,...

Подсчет латинских букв - C++
надо подсчитать количество идущих подряд чисел и слова которые состоят только из латинских букв,с чтислами вроде получилось а вот с...

Подсчет повторенияя букв - C++
Здраствуйте! Помогите написать програмку для считивания текста из файла и подсчитивания количества повторений каждой буквы в нем.

Подсчет гласных букв - C++
Написать програму которая считает сколько в веденой пользователем строке гласнихбукв и четных цыфр! С++

Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных букв, цифр, знаков переноса, прочих символов. - C++
Помогите, пожалуйста, написать программу :scratch: Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных...

3
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
20.04.2011, 10:17 #2
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 <conio.h>
#include <fstream>
#include <cstring>
#include <windows.h>
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian");
    SetConsoleOutputCP(1251);
    char bukv[] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФЧЦШЩЪЫЬЮЯабвгдеёжзийклмнопрстуфчцшщъыьюя"
    , cifer[]="0123456789", str[300];
    int cntbukv = 0, cntchisla = 0, i, j;
    ifstream text("1.txt");
    if(!text){cerr<<"Файл не найден\n"; return 1;}
    text.getline(str, 300, '\0');
    text.close();
    cout << "Дан текст:\n" << str << endl;
    for(i=0; i<strlen(str); i++)
        for(j=0; j<strlen(bukv); j++)
            if(str[i]==bukv[j]) cntbukv++;
    for(i=0; i<strlen(str); i++)
        for(j=0; j<strlen(cifer); j++)
            if(str[i]==cifer[j]) cntchisla++;
    cout <<"Число букв: " << cntbukv;
    cout <<"\nЧисло цифр: " << cntchisla;
    if(cntbukv > cntchisla) cout <<"\nБольше букв";
    else if(cntbukv < cntchisla) cout <<"\nБольше цифр";
    else cout <<"\nЧисло букв и цифр равно";
    return 0;
}
1
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
20.04.2011, 10:59 #3
Просто читайте в буфер весь файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
  
 FILE *in;
 if ((in = fopen("1.txt", "r"))!= NULL)
 {
  fseek(in, 0, SEEK_END);
  int size=ftell(in)+1;
  fseek(in, 0, SEEK_SET);
  char *str=new char[size];
  fread(str, size, 1, in);
//  printf("%s\n", str);
  fclose(in);
}
2
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
20.04.2011, 18:21  [ТС] #4
Спасибо всем!
0
20.04.2011, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2011, 18:21
Привет! Вот еще темы с ответами:

Подсчет букв в словах в строке - C++
Дана строка, в которой слова разделены одним пробелом. Подсчитайте, сколько букв 'a' встречается в каждом слове.

подсчет букв во втором слове - C++
необходимо подсчитать количество букв &quot;А&quot; (англ) в предложении во втором слове. предложение по английски пишется

Подсчет русских букв в строке - C++
Всем привет :) Есть такая задача: Ввести с клавиатуры строку. Определить, сколько в этой строке гласных, согласных, строчных и прописных...

Подсчет букв по Кернигану Ритчи - C++
Здраствуйте,я начинаю программировать на Си и столкнулся с небольшими трудностями.... В Кернигане Ричи есть такой пример как подсчет букв...


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

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

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