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

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

Войти
Регистрация
Восстановить пароль
 
stels009
15 / 15 / 0
Регистрация: 05.04.2011
Сообщений: 403
#1

Найти сумму числовых значений цифр, содержащихся в строке (используя switch) - C++

26.10.2011, 00:32. Просмотров 586. Ответов 9
Метки нет (Все метки)

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

Желательно с живым примером.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 00:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму числовых значений цифр, содержащихся в строке (используя switch) (C++):

Вычислить сумму цифр, содержащихся в строке - C++
Дана строка. содержащая различные символы. среди которых есть цифры. помогите написать программу, которая вычисляет сумму цифр содержащихся...

Найти сумму всех слов-чисел, содержащихся в строке - C++
С клавиатуры вводиться строка длинной не более 100 символов. Строка состоит из слов, отделённых друг от друга один или несколькими...

Используя классы, найти количество цифр в строке - C++
Подскажите, что исправить ? Не особо понимаю как дальше описать программу. #include <iostream> #include <string> using...

Найти количество цифр в строке символов, используя функции - C++
НА ТУРБО СИ ИЛИ НА ДЕВС++ Желательно не с cout а с printf scanf HELP #2.Найти количество цифр в строке символов, используя функции.

Вводится строка. Подсчитать сумму цифр, содержащихся в ней - C++
Вводится строка. Подсчитать сумму цифр, содержащихся в ней.

Найти сумму цифр в строке - C++
Дан текст, в котором имеются цифры. Найти их сумму

9
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
26.10.2011, 00:47 #2
Для проверки данных при вводе используйте цикл while

Цитата Сообщение от stels009 Посмотреть сообщение
Написать программу, которая считывает строку символов, состоящую только из латинских букв, цифр и пробелов (с проверкой символов при вводе), и находит сумму числовых значений цифр, содержащихся в строке.
Затрудняюсь в выборе типов данных, или необходимо преобразование в строку?
0
greeezz
274 / 167 / 4
Регистрация: 10.07.2011
Сообщений: 441
26.10.2011, 00:51 #3
с while
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main(){
    char ch;
    int sum = 0;
         cout << "Enter smth.... : ";
    while((ch = getchar()) !='\n'){
        
        if(atoi(&ch) > 0 && atoi(&ch) < 9){
            sum += atoi(&ch);
        }
    }
    cout << sum << endl;
    cin.get();
    return 0;
}
0
stels009
15 / 15 / 0
Регистрация: 05.04.2011
Сообщений: 403
26.10.2011, 00:52  [ТС] #4
Тама должно быть чтото в роде как этот калькулятор со свитчем
C++
1
2
3
4
5
6
7
8
9
10
11
switch (ch)
        {
            case '/': c=a/b; break;
            case '*': c=b*a; break;
            case '+': c=a+b; break;
                        case '-': c=a-c; break;
            case '^': c=pow(a, b); break;
            case '%': c=(int)a % (int)b; break;
            //подсчитываются только видимые символы:  
        }
        cout<<"Ответ: "<<c<<"\n";
0
greeezz
274 / 167 / 4
Регистрация: 10.07.2011
Сообщений: 441
26.10.2011, 00:55 #5
Цитата Сообщение от stels009 Посмотреть сообщение
Тама должно быть чтото в роде как этот калькулятор
вам нужен консольный калькулятор??
0
stels009
15 / 15 / 0
Регистрация: 05.04.2011
Сообщений: 403
26.10.2011, 00:59  [ТС] #6
Нет, не калькулятор нужна программа которая считывает со строки символы, считает их количество(включая пробелы)...
если в строке есть числа программа должна посчитать сумму чисел...
И при этом должен использоваться оператор switch и case
0
greeezz
274 / 167 / 4
Регистрация: 10.07.2011
Сообщений: 441
26.10.2011, 01:03 #7
Вы уверены что ва мнужен 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
30
31
32
33
34
35
36
37
38
39
40
#include "stdafx.h"
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main(){
    char ch;
    int sum = 0;
    int sym = 0;
    cout << "Enter smth.... : ";
    while((ch = getchar()) !='\n'){
        switch(atoi(&ch)){
        case 1:
            sum +=1; break;
        case 2:
            sum +=2; break;
        case 3:
            sum +=3; break;
        case 4:
            sum +=4; break;
        case 5:
            sum +=5; break;
        case 6:
            sum +=6; break;
        case 7:
            sum +=7; break;
        case 8:
            sum +=8; break;
        case 9:
            sum +=9; break;
        default:
            sum +=0;
        }
        sym ++;
    }
    cout << "SUM :"<< sum << endl;
    cout << "Symbols : "<< sym << endl;
    cin.get();
    return 0;
}
глупая реализация получается
0
stels009
15 / 15 / 0
Регистрация: 05.04.2011
Сообщений: 403
26.10.2011, 01:18  [ТС] #8
А где программа считывает данные из строки и где она считает символы??
А если будет не цыфра а число...
0
greeezz
274 / 167 / 4
Регистрация: 10.07.2011
Сообщений: 441
26.10.2011, 04:43 #9
Цитата Сообщение от stels009 Посмотреть сообщение
А где .....??
А там где вы могли бы взять то что вам дали и переделать в то что вам надо.

А если будет не цыфра а число...
а если будет цИфра то будет сумма цИфр числа..

программа ниже возьмет любую вашу строку, посчитает сумму чисел и кол-во символов. если вам нужны проверки на наличие только латинского алфавита и вам надо использовать 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
30
31
#include "stdafx.h"
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
 
int main(){
    char str[100];
    char ch;
    int sum = 0, symb = 0, num = 0;
    cout << "Enter smth ..... :";
    while((ch = getchar())!='\n'){
        str[symb] = ch;
 
        symb++;
    }
    for(int j = 0; j < symb; j++){
        if(atoi(&str[j])>0 && sum == 0 || atoi(&str[j])>0 && num > 0){
                sum += atoi(&str[j]);
                num = 0;
        } else if(atoi(&str[j]) == 0 || str[j] == ' '){
            num = 1;
        }
    }
    cout << "Sum : " << sum;
    cout << "Symbols : " << symb;
    cin.get();
    return 0;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
26.10.2011, 09:45 #10
Цитата Сообщение от stels009 Посмотреть сообщение
Написать программу, которая считывает строку символов, состоящую только из латинских букв, цифр и пробелов (с проверкой символов при вводе), и находит сумму числовых значений цифр, содержащихся в строке.
Как это сделать используя оператор свич.
- Ниже простенькая С++ реализация всего этого
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main()
{
    char str[1024];//ГЌГі âîò ГІГ*êîé äëèГ*Г» ñòðîêó Г¬Г*ГҐ Г§Г*õîòåëîñü
    cout<<"Enter text :\n";
    cin.getline(str,1024);//Г—ГЁГІГ*ГҐГ¬ ñòðîêó Г± ïðîáåëГ*ìè
    long len = strlen(str);;
    long sum = 0;
    for(long i = 0; i < len; i++)
    {
        switch(str[i])
        {
        case '1':
            sum += 1;
            break;
        case '2':
            sum += 2;
            break;
        case '3':
            sum += 3;
            break;
        case '4':
            sum += 4;
            break;
        case '5':
            sum += 5;
            break;
        case '6':
            sum += 6;
            break;
        case '7':
            sum += 7;
            break;
        case '8':
            sum += 8;
            break;
        case '9':
            sum += 9;
            break;
        default:
            sum += 0;
            break;
        }
    }
    cout<<"sum of digits : "<<sum<<"\n";
    system("pause");
    return 0;
}
0
Миниатюры
Найти сумму числовых значений цифр, содержащихся в строке (используя switch)  
26.10.2011, 09:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 09:45
Привет! Вот еще темы с ответами:

Поиск символа в строке wchar_t используя switch - C++
А вообще возможно в switch запихнуть wchar_t? И если да, то как? Точнее в switch то получилось, а вот в case для этого switch ну никак не...

Найти сумму цифр в строке (исправить код) - C++
Я несколько написал, это все к чему я додумался!) #include &lt;iostream&gt; #include &lt;string.h&gt; const int n=100; using namespace std; ...

Вычислить таблицу значений функции, используя switch в паре с break, оператор перехода goto - C++
Доброго вам времени суток. Есть самое бредовое задание которое я только видел в своей жизни. Написать программу, используя операторы...

Найти сумму делитей. Подсчитать сумму цифр числа. Количество цифр - C++
Друзья,подскажите пожалуйста где ошибка?Цикл не считает сумму делителей числа. #include &lt;iostream&gt; using namespace std; void...


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

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

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