Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
23 / 21 / 3
Регистрация: 27.10.2017
Сообщений: 192
1

Не получается запустить функцию через switch

12.03.2018, 16:23. Показов 600. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не получается запустить функцию через switch, где ошибка?

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
#include <iostream>
using namespace std;
 
 int const N = 256;
 void mystrlen(char strr[N]);
 
int main()
{
    int punkt;
        int k;
        char q;
    char strr[N];
    scanf("%d", &punkt);
        switch(punkt)
    {
        case 1:mystrlen(strr);
    break;
return 0;
}}
 
void mystrlen(char strr[N])
{
    int k,i;
    k=0;
    gets(strr);
    for(i=0;strr[i]!='\0'; i++)
    k++;
    printf("%d", k);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2018, 16:23
Ответы с готовыми решениями:

Не получается вызвать функцию в switch
Помогите пожалуйста. Начал писать программу на С++, для отображения аккаунтов из файла на консоль,...

Не получается запустить функцию по второму кругу
Написал программу, которую сам же и придумал (просто для тренировки навыков) #include &lt;stdio.h&gt;...

Не получается запустить Cron через DirectAdmin
Имеем сайт на жумле, компонент со встроенным Cronом. Необходимо чтобы он запускался каждый час....

Не получается запустить сайт через IIS
Здравствуйте. Пытаюсь запустить сайт через IIS. Выскакивает ошибка. Описание: Ошибка при...

6
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
12.03.2018, 16:29 2
у меня получается.
0
23 / 21 / 3
Регистрация: 27.10.2017
Сообщений: 192
12.03.2018, 16:36  [ТС] 3
После того как я ввожу (1) т.е. 1-ый пунтк, первая функция, по идее должен продолжится ввод самой строки, у меня же в функции gets стоит, но ничего не происходит, почему?

Добавлено через 1 минуту
в strr должна быть строка которую ввожу
0
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
12.03.2018, 16:41 4
Цитата Сообщение от nikita55050505 Посмотреть сообщение
функции gets стоит
в таком виде данная функция делает всё ровно наоборот - она считывает первый символ из строки. Тут нужно либо

C
1
getline(strr, N);
либо
C
1
scanf("%s", strr);
причём и то и то - стиль С, а не С++
0
23 / 21 / 3
Регистрация: 27.10.2017
Сообщений: 192
12.03.2018, 16:41  [ТС] 5
Извиняюсь, работает, но только если сразу вводить и пункт и строку через пробел, не жмакая не интер, исправить возможно?
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
12.03.2018, 16:44 6
Цитата Сообщение от nikita55050505 Посмотреть сообщение
почему?
даже после ввода только числа в буфере остался "мусор" - символ(ы) конца строки. Которые потом вводятся функцией gets(). Длина строки, естественно, 0. Можно сделать, например, так:
C
1
2
3
4
                do
                {
                    gets(strr);
                }while(strr[0]==0);
Чтобы игнорировать пустые строки.
Но это, действительно, С, а не С++
0
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
12.03.2018, 16:48 7
(то что мной написано ранее - бред)

Цитата Сообщение от nikita55050505 Посмотреть сообщение
но только если сразу вводить и пункт и строку через пробел, не жмакая не интер, исправить возможно?
добавить считывание этого enter'а, функцией getchar()
0
12.03.2018, 16:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2018, 16:48
Помогаю со студенческими работами здесь

Как создать меню без операторов if и switch через массив указателей на функцию?
к примеру простые арифметические действия (+, -)

Не получается запустить mysqld через командную строку ( --initialize-insecure --user=root)
Пытаюсь сделать хост по гайду, чтобы избежать неточностей/несовместимостей скачал пак по ссылке...

Как запустить php функцию через onclick?
$this-&gt;arrotp=&quot; &lt;head&gt; &lt;title&gt;Orders&lt;/title&gt; &lt;meta...

Не получается вызвать функцию через onmouseover
В общем нужно передать параметр функции. на странице: &lt;a href='proj.php'...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru