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

Написать программу, демонстрирующую работу функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считывание текста из файла!!! http://www.cyberforum.ru/cpp-beginners/thread146004.html
Помогите, пожалуйста! Как написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем заданное с клавиатуры слово.
C++ Указатели, адресная арифметика и передача аргументов функций по значению и по ссылке Подскажите, пожалуйста, как решить такую задачу вручную. На экзамене предложат задание такого типа НА БУМАГЕ, и надо будет написать, что выдаст машина Задание. Что будет выведено в результате... http://www.cyberforum.ru/cpp-beginners/thread145997.html
Определить класс с именем ZNAK C++
Пожалуйста, помогите написать программу по следующему заданию: 1. Определить класс с именем ZNAK, содержащий следующие поля: - фамилия, имя; - знак Зодиака; - день рождения (массив из трех...
Поиск по любому полю структуры C++
Нужно сделать поиск по любому полю структуры(Имя, фамилия или дата рождения) Вот собственно код самой структуры: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h>...
C++ Сравнение указателей и ссылок. http://www.cyberforum.ru/cpp-beginners/thread145940.html
В си есть указатели. Указатель и ссылка на низком уровне это одно и то же, но на уровне языка - разные вещи Не совсем так для них компилятор вырабатывает разный ассемблерный код int main() {...
C++ Пути из начальной вершины орграфа в конечную Люди, помогите пожалуйста, нужно составить рекурсивную программу для печати всех путей, ведущих из начальной вершины орграфа G в конечную. Начальную и конечную вершины ввести в ходе работы программы... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,848
16.06.2010, 03:22
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
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <cctype>
 
enum actions_t { SWAP_LETTERS = 1, CHANGE_CAPS = 2 };
 
std::string swap_letters(const std::string & s){
    std::string tmp;
    std::istringstream ist(s);
    std::ostringstream ost;
    while ( ist >> tmp ){
        std::swap(*tmp.begin(), *tmp.rbegin());
        ost << tmp << ' ';
    }
    return ost.str();
}
 
std::string change_caps(const std::string & s){
    std::ostringstream ost;
    for ( std::string::const_iterator i = s.begin(); i != s.end(); ++i ){
        if ( isupper(*i) )
            ost << static_cast<char>(tolower(*i));
        else
            ost << static_cast<char>(toupper(*i));
    }
    return ost.str();
}
 
std::string function(const std::string & s, actions_t a){
    switch ( a ) {
        case SWAP_LETTERS :
            return swap_letters(s);
        case CHANGE_CAPS :
            return change_caps(s);
        default :
            return "Unknown action!";
    }
}
 
int main(){
    std::string buf;
    int a;
    
    while ( true ){
        std::cout << "String: ";
        std::getline(std::cin, buf);
        if ( buf.empty() )
            break;
        std::cout << "Action (1 - swap letters; 2 - change caps): ";
        std::cin >> a;
        std::cin.ignore();
        std::cout << "Result: " << function(buf, static_cast<actions_t>(a)) << std::endl;
    }
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru