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

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

Войти
Регистрация
Восстановить пароль
 
Belarus
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 33
#1

Функции с++ - C++

03.12.2013, 22:43. Просмотров 504. Ответов 5
Метки нет (Все метки)

Написать предложенные функции (в одном модуле, используя прототипы). Обосновать количество и тип аргументов и тип возвращаемого значения. Продемонстрировать работу функций.



Все функции работают с маленькими английскими буквами.

1) функция, которая выводит на экран символы от h до q.

2) функция, которая принимает 2 символа и выводит все символы, находящиеся между ними (по алфавиту).

3) функция, которая принимает 2 символа и возвращает количество символов между ними (по алфавиту).

4*) (по желанию) функция, которая при каждом вызове возвращает следующий символ (начиная с h и заканчивая q).













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
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
char f1(char i)
{for(char i ='h';i<='q'; ) i++;
    return i;
}
char f2(char m, char w)
{
    cout << "Введите два символа" << endl;
    cin >> m >> w ;
    char w=2;
    for(char m =1;m<=w;m++){
        return m;
 
    }
        }
 
int main()
 
{
setlocale(LC_CTYPE,"Russian");
float k=1, p=1, o=1,y=1, u=1 ;
cout << f1(k) << f2(p,o)<< endl;
system ("pause");
return 0;
}
 Комментарий модератора 
Изучите правила форума, в частности по оформлению тем и сообщений.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2013, 22:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции с++ (C++):

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции - C++
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке . Вычисление величины f(x) оформить в виде...

А почему ошибка, что функции print и read не определены в функции main()? - C++
Что-то не понимаю. Они определены в заголовочном файле. А подчеркивается красным что нет.... #include &lt;iostream&gt; #include...

Вычислить где значение функции меняет знак(отделение корней функции) - C++
Имеется следующая функция f(x)=sqrt(4*x+7)-3*cos(x) Нужно написать программу, где будет выводится таблица, где будет видно при каком...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции - C++
Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. f=arctgx+ln^2 x^2 Нужно...

Различные функции, для которых можно создать массив указателей на функции - C++
Придумайте не менее 3-х различных функций, для которых можно создать массив указателей на функции.

5
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 1
04.12.2013, 00:31 #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
void Func1(void)
{
    for (char index = 'h'; index <= 'q'; index++)
        std::cout << index << " ";
}
 
void Func2(char c1, char c2)
{
    char tmpC1 = c1;
    char tmpC2 = c2;
 
    if (tmpC1 >= 'A' && tmpC1 <= 'Z')
        tmpC1 = tolower(c1);
 
    if (tmpC2 >= 'A' && tmpC2 <= 'Z')
        tmpC2 = tolower(c2);
 
    if (tmpC2 <= tmpC1)
        return; 
 
    std::cout << "Символы между '" << tmpC1 << "' и '" << tmpC2 << "': ";
 
    for (char index = tmpC1 + 1; index < tmpC2; index++)
        std::cout << index << " ";
}
 
void Func3(char c1, char c2)
{
    char tmpC1 = c1;
    char tmpC2 = c2;
 
    if (tmpC1 >= 'A' && tmpC1 <= 'Z')
        tmpC1 = tolower(c1);
 
    if (tmpC2 >= 'A' && tmpC2 <= 'Z')
        tmpC2 = tolower(c2);
 
    if (tmpC2 <= tmpC1)
        return; 
 
    std::cout << "Между символами '" << tmpC1 << "' и '" << tmpC2 << "' - " << ((tmpC2 - tmpC1) - 1) << " символ(а/ов)";
}
 
void Func4(void)
{
    static char tmp = 'h' - 1;
    if (tmp < 'q')
        tmp++;
    std::cout << tmp;
}
1
Belarus
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 33
04.12.2013, 18:09  [ТС] #3
выдаёт ошибку

---------------------------
Microsoft Visual Studio
---------------------------
Unable to start program 'C:\Users\Компьютер\Desktop\Егор\Лабораторки С++\лаб4\3\Debug\3.exe'.



Не удается найти указанный файл.


---------------------------
ОК
---------------------------

Добавлено через 16 минут
Цитата Сообщение от Yanush Посмотреть сообщение
Держите:
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
void Func1(void)
{
    for (char index = 'h'; index <= 'q'; index++)
        std::cout << index << " ";
}
 
void Func2(char c1, char c2)
{
    char tmpC1 = c1;
    char tmpC2 = c2;
 
    if (tmpC1 >= 'A' && tmpC1 <= 'Z')
        tmpC1 = tolower(c1);
 
    if (tmpC2 >= 'A' && tmpC2 <= 'Z')
        tmpC2 = tolower(c2);
 
    if (tmpC2 <= tmpC1)
        return; 
 
    std::cout << "Символы между '" << tmpC1 << "' и '" << tmpC2 << "': ";
 
    for (char index = tmpC1 + 1; index < tmpC2; index++)
        std::cout << index << " ";
}
 
void Func3(char c1, char c2)
{
    char tmpC1 = c1;
    char tmpC2 = c2;
 
    if (tmpC1 >= 'A' && tmpC1 <= 'Z')
        tmpC1 = tolower(c1);
 
    if (tmpC2 >= 'A' && tmpC2 <= 'Z')
        tmpC2 = tolower(c2);
 
    if (tmpC2 <= tmpC1)
        return; 
 
    std::cout << "Между символами '" << tmpC1 << "' и '" << tmpC2 << "' - " << ((tmpC2 - tmpC1) - 1) << " символ(а/ов)";
}
 
void Func4(void)
{
    static char tmp = 'h' - 1;
    if (tmp < 'q')
        tmp++;
    std::cout << tmp;
}


без main() работать не будет
0
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 1
04.12.2013, 20:54 #4
Цитата Сообщение от Belarus Посмотреть сообщение
без main() работать не будет
Это да. Просто я скинул сами фунции, а Вы уже дальше сами вызывайте в том порядке, котором необходимо ; )
0
Belarus
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 33
05.12.2013, 18:23  [ТС] #5
Цитата Сообщение от Yanush Посмотреть сообщение
Это да. Просто я скинул сами фунции, а Вы уже дальше сами вызывайте в том порядке, котором необходимо ; )
боюсь что могу не справиться
если не трудно скиньте main
чтобы выводило по очереди все функции
0
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 1
05.12.2013, 21:36 #6
Вроде ничего не забыл.

Вкладка "Project" -> "Properties" -> "Configuration properties" -> "General" -> Character Set поставь на "Use Multi-Byte character Set".

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
#include <iostream>
 
void Func1(void)
{
    for (char index = 'h'; index <= 'q'; index++)
        std::cout << index << " ";
}
 
void Func2(char c1, char c2)
{
    char tmpC1 = c1;
    char tmpC2 = c2;
 
    if (tmpC1 >= 'A' && tmpC1 <= 'Z')
        tmpC1 = tolower(c1);
 
    if (tmpC2 >= 'A' && tmpC2 <= 'Z')
        tmpC2 = tolower(c2);
 
    if (tmpC2 <= tmpC1)
        return; 
 
    std::cout << "Символы между '" << tmpC1 << "' и '" << tmpC2 << "': ";
 
    for (char index = tmpC1 + 1; index < tmpC2; index++)
        std::cout << index << " ";
}
 
void Func3(char c1, char c2)
{
    char tmpC1 = c1;
    char tmpC2 = c2;
 
    if (tmpC1 >= 'A' && tmpC1 <= 'Z')
        tmpC1 = tolower(c1);
 
    if (tmpC2 >= 'A' && tmpC2 <= 'Z')
        tmpC2 = tolower(c2);
 
    if (tmpC2 <= tmpC1)
        return; 
 
    std::cout << "Между символами '" << tmpC1 << "' и '" << tmpC2 << "' - " << ((tmpC2 - tmpC1) - 1) << " символ(а/ов)";
}
 
void Func4(void)
{
    static char tmp = 'h' - 1;
    if (tmp < 'q')
        tmp++;
    std::cout << tmp;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    Func1(); 
    std::cout << "\n";
 
    /*тут нужно подставить символы - начальный и конечный.
    В функции есть проверка, поэтому можно и в верхнем регистре писать (она сама переведет в нижний)
    Ещё есть проверка на "старшинство" (если первый аргумент по алфавиту старше второго - например: 'j' и 'a' то функция ничего не выведет)
    */
    Func2('A', 'G');
    std::cout << "\n";
 
    // Аналогично
    Func3('A', 'D');
    std::cout << "\n";
 
    // вызываем 4ю функцию несколько раз подряд, чтобы убедиться в том, что будут выводиться символы от h до q
    for (int index = 0; index < 12; index++)
    {
        Func4();
        std::cout << "\n";
    }
 
    system ("pause");
    return 0;
}
0
05.12.2013, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 21:36
Привет! Вот еще темы с ответами:

Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции - C++
А этой нету: 3.Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции f=(x*sin⁡ π/4) /...

Вызов функции внутри другой функции с передачей локальной переменной по ссылке - C++
Столкнулся с очень с интересной проблемой. Можно ли так делать? #include &lt;iostream&gt; using std::cout; void f(const int &amp;ref){...

Вычислить функции с использованием их разложения в степенной ряд. Функции и Перегрузка функций - C++
Добрый день. Дана лабораторная работа, (см. ниже 2 скриншота) по заданию нужно вычислить функции с использованием их разложения в степенной...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции - C++
здраствуйте знатаки!! помогите пожалуйсто решить задачу.Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2,...


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

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

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