Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545

Создал меню: первое условие работает, второе - нет

25.01.2019, 23:42. Показов 1446. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Первый кейс работает хорошо. 2й не выводит сообщение с результатом. Что я не так сделал? И сможете показать как выполнять дальше? Или хотя бы подскажите, почему не выводит результат с сообщением в кейс 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
//Пользователь вводит число. Определить количество цифр в этом числе, посчитать их сумму и средне арифметическое. 
//Определить количество нулей в этом числе. Общение с пользователем организовать через меню.
 
#include "pch.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(0, "rus");
 
    int a, n=1;
 
    cout << "выберете вариант\n >>" << endl;
    cout << "1. количество цифр\n"
        << "2. их сумма\n"
        << "3. средне арифметическое\n"
        << "4. определить количество нулей\n"
        << endl;
    cout << ">> ";
    cin >> a;
 
    switch (a)
    {
    case 1:
        cout << "ввести число >>";
        cin >> a;
        while ((a /= 10) > 0)n++;
        {
            cout << "результат = " << n;
        }
        break;
 
    case 2:
        cout << "ввести число >>";
        cin >> a;
        while (n+=a%10)n++;
        {
            cout << "результат = " << n;
        }
        break;
    }
}
Скрин не работающего результата в кейс 2
Миниатюры
Создал меню: первое условие работает, второе - нет  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2019, 23:42
Ответы с готовыми решениями:

Ниче не понимаю - написал, работает, создал exe, нет..
Доброго времени суток!! Вот такой код: #include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;windows.h&gt; using namespace std; void...

Не работает первое условие условного оператора
Требуется определить, принадлежит ли точка px py фигуре, ограниченной параболой y = x^2 и прямой y = kx + c. Не обращая внимания на...

Условные операторы. Будет ли проверено условие condition2, если первое условие condition1 ложно?
Подскажите знающие люди новичку в С++ есть условный оператор: 1) if( condition1 &amp;&amp; condition2 ) будет ли проверено условие...

9
1 / 1 / 1
Регистрация: 25.11.2018
Сообщений: 91
26.01.2019, 00:00
cout << "ввести число >>";
cin >> a; - зачем для каждого варианта?

зачем так все сложно? проще же через строку....
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
26.01.2019, 00:11  [ТС]
Цитата Сообщение от PEvgen Посмотреть сообщение
cin >> a; - зачем для каждого варианта?
Ну чтобы вывести.
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
26.01.2019, 00:26
Лучше уж так:
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 <iostream>
#include <algorithm>
#include <vector>
#include <string>
 
using namespace std;
 
 
int main(int argc, char *argv[])
{
    //т.к. тут нам не число, как число,
    //то для удобства будем работать с ним
    //как со строкой
    string num;
    int choose;
    
    //меню
    cout << "Choose one of the following options:" << endl
         << "1. Count number of figures" << endl
         << "2. Count their sum" << endl
         << "3. Arithmetic mean" << endl
         << "4. Count number of zeros" << endl;
    //запрашиваем номер опции
    cout << "Enter an option >>";
    cin >> choose;
 
    //запрашиваем число
    cout << "Enter number: ";
    cin >> num;
 
    switch(choose)
    {
        case 1:
            //т.к. мы работаем со строкой, то 
            //достаточно вывести её длину
            cout << "Number of figures = " << num.size();
            break;
        case 2:
        {
            //тут просто посчитать
            //все элементы в строке
            int sum = 0;
            for(char fig : num) sum += ( fig - '0' );
            cout << "The sum of figures = " << sum;
            break;
        }
        case 3:
        {
            //тут посчитать и поделить на длину
            int sum = 0;
            for(char fig : num) sum += ( fig - '0' );
            cout << "Arithmetic mean = " << double(sum) / num.size();
            break;
        }
        case 4:
        {
            //а тут просто сравнить
            int numOfZeros = 0;
            for(char fig : num) if(fig == '0') numOfZeros++;
            cout << "Number of zeros = " << numOfZeros;
            break;
        }
        default:
            cout << "Wrong option!";
    }
    return 0;
}
1
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
26.01.2019, 00:38  [ТС]
Цитата Сообщение от Cortas Посмотреть сообщение
Лучше уж так:
Можно только использовать логические операторы, свич меню, if else, циклы. Без добавления библиотек и просто посчитать строку так тоже делать нельзя. Нельзя потому что не примут эту задачу.
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
26.01.2019, 01:01
Лучший ответ Сообщение было отмечено Anonymous4722 как решение

Решение

Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Можно только использовать логические операторы, свич меню, if else, циклы.
Не велика беда:
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int num, choose;
    //меню
    cout << "Choose one of the following options:" << endl
         << "1. Count number of figures" << endl
         << "2. Count their sum" << endl
         << "3. Arithmetic mean" << endl
         << "4. Count number of zeros" << endl;
    //запрашиваем номер опции
    cout << "Enter an option >> ";
    cin >> choose;
 
    //запрашиваем число
    cout << "Enter number: ";
    cin >> num;
 
    switch(choose)
    {
        case 1:
        {
            //делим на 10 пока число не обнулится
            int size = 0;
            while(num) { size++; num /= 10; }
            cout << "Number of figures = " << size;
            break;
        }
        case 2:
        {
            //суммируем каждую цифру числа
            int sum = 0;
            while(num) { sum += num % 10; num /= 10; }
            cout << "The sum of figures = " << sum;
            break;
        }
        case 3:
        {
            //суммируем каждую цифру числа и считаем кол-во цифр
            int size = 0, sum = 0;
            while(num) { size++; sum += num % 10; num /= 10; }
            cout << "Arithmetic mean = " << double(sum) / size;
            break;
        }
        case 4:
        {
            //почти тоже самое, что при подсчете суммы
            //только сравниваем цифру с нулем, если эта
            //цифра ноль, то увл. счетчик нулей.
            int numOfZeros = 0;
            while(num) { if(num % 10 == 0) numOfZeros++; num /= 10; }
            cout << "Number of zeros = " << numOfZeros;
            break;
        }
        default:
            cout << "Wrong option!";
    }
    return 0;
}
1
1 / 1 / 1
Регистрация: 25.11.2018
Сообщений: 91
26.01.2019, 15:04
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Ну чтобы вывести.
Выводить.....это единственное, что умеет подавляющее большинство народа, к огромному сожалению...
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
26.01.2019, 20:46  [ТС]
Цитата Сообщение от PEvgen Посмотреть сообщение
Выводить.....это единственное, что умеет подавляющее большинство народа, к огромному сожалению...
Так учатся сначала вводу выводу, а потому уже остальному...
0
1 / 1 / 1
Регистрация: 25.11.2018
Сообщений: 91
26.01.2019, 20:55
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Так учатся сначала вводу выводу, а потому уже остальному...
Это понятно....за 6,5 лет учебы....как раз выводить и можно лишь научится...
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
26.01.2019, 23:37  [ТС]
Цитата Сообщение от PEvgen Посмотреть сообщение
Это понятно....за 6,5 лет учебы....как раз выводить и можно лишь научится...
Про универ согласен. Я сейчас повышаю квалификацию и учу конкретно разработке программного обеспечения. Учусь с ноября 2018 года. Пока научился только этому и еще учусь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.01.2019, 23:37
Помогаю со студенческими работами здесь

Не работает второе условие IF
Не работает второе условие, но если убрать &quot;parentNode.style.backgroundColor='yellow'&quot; то все будет работать, в чем может быть проблема? ...

Почему не работает второе условие?
$arr2 = array(5 =&gt; 1,2,3); for($i = 0; $i &lt; 10; $i++){ if(isset($arr2)){ //echo &quot;Элемент &quot; . $arr2 . &quot;...

Второе условие в цикле почему-то не работает
Этот код работает как нужно мне: $surname = 'Вася'; do { $rows = mysql_query(&quot;SELECT * FROM `users` WHERE...

Не понимаю, почему второе условие не работает if (х = 1.2)
Program varik3; uses crt; var a, b, c, fi, x:real; begin a:= 2.8; b:= -9.3; c:= 4; x:= 1; while (x &lt;= 2) do...

Одно приложение вконтакте работает, а второе нет
Создал одно приложение работает с контактом нормально. Создаю другое приложение, регистрирую вконтакте его, получаю другое id. И потом...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru