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

Не могу до конца разобрать код программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Графы http://www.cyberforum.ru/cpp-beginners/thread156533.html
Задана система односторонних дорог(вбивается рандомно или вручную). Найти два города и соединяющий их путь, который проходит через каждую из дорог системы только один раз. помогите плиз, не могу...
C++ В чём ошибка? Начал писать класс: class TGame{ public: TGame(char *WorldFileName, char *TexturesFileName); void Render(); private: TPrimitives World; TTextures Textures; TTexturesData TexturesData; ... http://www.cyberforum.ru/cpp-beginners/thread156530.html
C++ Метод наследника?
Я не очень силен в наследовании в С++... Пусть у меня есть класс наследника и есть метод такой же как и у родителя... Как мне сначала выполнить в этом методе то, что у родителя, а затем у...
C++ Перегрузка оператора ++ , деструктор и конструктор копий
Привет всем! В продолжение Этой темы появились новые вопросы и непонятки. Буду признателен за советы и разъяснения ;) Начну с самого начала... Пишу class - обертку для файла. Цель -...
C++ Объект string! http://www.cyberforum.ru/cpp-beginners/thread156519.html
Нужно чтобы при вводе имени файла(даже с пробелами), или вообще других данных, они заносились в объект типа string! C помощью каких функций или операторов можно это сделать? Потому что если это...
C++ Ввод массива Помогите пожалуйста с вводом массива неизвестного размера. например мне надо ввести набор чисел 186146. И вывести. Пробовал sizeof, не получается подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,811
01.08.2010, 03:46
Цитата Сообщение от Kashtan$$$ Посмотреть сообщение
программа считывает текст из файла и выводит его на экран а потом выводит слова начинающиеся с гласных
+ считает все слова и отдельно те, что с гласной начинаются (кстати, буква Y в английском алфавите тоже гласной считается)
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
#ifndef MAX_PATH
#define MAX_PATH 1024
#endif
    
#define DELIM " ,.;:!?\t\n"
 
int main(void){
    char path[MAX_PATH], * p, * buf;
    long len, cntVowels, cntAll;
    FILE * f;
    const char * VOWELS = "AEIOUY";
    
    printf("File name: ");
    if ( ! fgets(path, MAX_PATH, stdin) ){
        perror("fgets");
        exit(EXIT_FAILURE);
    }
    if ( p = strrchr(path, '\n') )
        *p = '\0';
    
    if ( ( f = fopen(path, "rb") ) == NULL ){
        perror("fopen");
        exit(EXIT_FAILURE);
    }
    
    fseek(f, 0, SEEK_END);
    if ( ( len = ftell(f) ) < 1 ){
        fprintf(stderr, "Wrong or empty file!\n");
        exit(EXIT_FAILURE);
    }
    rewind(f);
    if ( ( buf = (char*)malloc(len + 1) ) == NULL ){
        perror("malloc");
        exit(EXIT_FAILURE);
    }
    if ( fread(buf, 1, len, f) != len ){
        fprintf(stderr, "Error reading file!\n");
        exit(EXIT_FAILURE);
    }
    buf[len] = '\0';
    
    if ( fclose(f) ){
        perror("fclose");
        exit(EXIT_FAILURE);
    }
    
    printf("\nFile contents:\n\n%s\n", buf);
    cntVowels = cntAll = 0;
    printf("Start by vowels:\n");
    for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ){
        ++cntAll;
        if ( strchr(VOWELS, toupper(*p)) ){
            ++cntVowels;
            printf("%s\n", p);
        }
    }
    
    printf("\nAll words: %d\nStarts by vowels: %d\n", cntAll, cntVowels);
    
    free(buf);
    exit(EXIT_SUCCESS);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru