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

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

Войти
Регистрация
Восстановить пароль
 
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
#1

Файл: Сравнить количество цифр и букв верхнего регистра - C++

16.04.2012, 16:33. Просмотров 789. Ответов 4
Метки нет (Все метки)

задание: Сравнить количество цифр и букв верхнего регистра
понимаю, что нужно сначала использовать isalpha чтобы определить, что это не буква, а цифра; потом isupper чтобы определить буква ли это верхнего регистра! то есть цикл будет примерно такой
C++
1
2
3
4
5
6
7
for (j=0;j<длина файла;j++)
{
if (isalnum(a[j])=0)
 {kol++;}//если это не буква, значит цифра  
 if (isupper(a[j])!=0)
   {kol1++;}//определяем количество букв верхнего регистра 
}
но как определить длину файла(то есть сколько символов в файле) и вообще записать содержимое файла в массив а? поможете?
пытался вот так
C++
1
2
3
4
5
6
7
FILE *f1;
f1=fopen("failik.txt","r");
if (f1 == NULL)
 printf ("error");
  else {
    while (!feof(f1)){
    fread(&j, sizeof(int),1, f1);
работает, но в результате программы числа больше 1000.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 16:33     Файл: Сравнить количество цифр и букв верхнего регистра
Посмотрите здесь:

C++ В последовательности символов подсчитать количество букв и количество цифр
Заменить все буквы нижнего регистра в строке на буквы верхнего регистра C++
C++ Перевести символ верхнего регистра в нижний и наоборот
C++ Открыть существующий текстовый файл и копировать его в новый файл, с заменой всех букв нижнего регистра
C++ Написать функцию которая в строке заменяет все символы верхнего регистра в символы нижнего регистра
C++ Функция преобразует буквы верхнего регистра в строке s в буквы нижнего регистра
C++ Создать файл, ввести символы, вывести на экран количество не латинских букв, количество цифр
C++ Не записывается буквы верхнего регистра в файл
Операции с текстом (длина, количество цифр, количество букв) C++
Пользователь вводит строку. Определить количество букв (рус eng), количество цифр и количество остальных C++
Легкое задание на строки, найти слова верхнего и нижнего регистра С++ C++
C++ Преобразовать символы верхнего регистра в нижний

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexcoder
1449 / 663 / 88
Регистрация: 03.06.2009
Сообщений: 3,413
Завершенные тесты: 1
17.04.2012, 09:26     Файл: Сравнить количество цифр и букв верхнего регистра #2
но как определить длину файла
C++
1
2
3
fseek(f,0,SEEK_END);
size=ftell(f);
fseek(f,0,SEEK_BEG);
Но я бы сделал примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
FILE *f1;
f1=fopen("failik.txt","r");
if (f1 == NULL)
 printf ("error");
  else {
    while (!feof(f1)){
    fread(&j, sizeof(int),1, f1);
if (isdigit(j)!=0)
 {kol++;}//если это не буква, значит цифра  
 if (isupper(j)!=0)
   {kol1++;}//определяем количество букв верхнего регистра 
 
}
castaway
Эксперт С++
4873 / 3012 / 370
Регистрация: 10.11.2010
Сообщений: 11,061
Записей в блоге: 10
Завершенные тесты: 1
17.04.2012, 09:40     Файл: Сравнить количество цифр и букв верхнего регистра #3
Файл текстовый? Цифры и буквы записаны без пробелов? Значит надо считывать побайтно:
C
1
2
3
4
5
6
7
8
    int c;
    ...
    while ( 1 ) {
        c = fgetc( fp );
        if ( c == EOF ) break;
        ... // проверка и счетчик
    }
    fclose( fp );
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
17.04.2012, 10:52  [ТС]     Файл: Сравнить количество цифр и букв верхнего регистра #4
то есть конечный код будет такой?
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
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
 
void main()
{
int kol=0,kol1=0,c;
clrscr();
FILE *f1;
while ( 1 ) {
        c = fgetc( f1 );
        if ( c == EOF ) break;
if (isdigit(c)!=0)
 {kol++;}//если это не буква, значит цифра  
 if (isupper(c)!=0)
   {kol1++;}//определяем количество букв верхнего регистра 
 
}
fclose(f1);
printf("%d\n",kol);
printf("%d\n",kol1);
getch();
}
в результате все равно 0
castaway
Эксперт С++
4873 / 3012 / 370
Регистрация: 10.11.2010
Сообщений: 11,061
Записей в блоге: 10
Завершенные тесты: 1
17.04.2012, 10:59     Файл: Сравнить количество цифр и букв верхнего регистра #5
Попробуй открыть файл.
Yandex
Объявления
17.04.2012, 10:59     Файл: Сравнить количество цифр и букв верхнего регистра
Ответ Создать тему
Опции темы

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