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

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

Войти
Регистрация
Восстановить пароль
 
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 864
Записей в блоге: 1
#1

Количество цифр в строке - C++

21.10.2013, 15:55. Просмотров 664. Ответов 3
Метки нет (Все метки)

Задание: Дана строка. Подсчитать количество содержащихся в ней цифр.
int countDigits(char * str);

Не хочет вводится строка с помощью гетлайн,и сама функция неправильно работает
Просьба помочь!

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
#include <iostream>
#include <locale>
#include <string.h>
 
#include "cstring.h"
 
using namespace std;
 
int main() {
    std::locale::global(std::locale(""));
    int i;
    char s[100];
   cout<<"Введите 1-5 (выбора задания) "<<endl;
   cin>>i;
   switch(i) {
    case 1: { cout<<"Введите строку желательно с цифрами "<<endl;
            cin>>s;//cin.getline(s,100);
            cout<<"Количество цифр в строке = "<<countDigits(s)<<endl;
          break;
        }
 
    case 2:
    case 3:
    case 4:
    case 5:
 
    ;}
    system("pause");
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
#include "cstring.h"
 
//1.Дана строка. Подсчитать количество содержащихся в ней цифр.
int countDigits(char * str) {
    int k=0;
    for (char * p = str; *p != 0; ++p) 
        if(*p>=0&&*p<=9) k++;
    return k;
}
Добавлено через 7 минут
Update функцию переделал,работает правильно а getline не хочет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 15:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество цифр в строке (C++):

Подсчитать общее количество цифр и количество единиц в строке - C++
Вводится текст. Среди символов этого текста имеется несколько цифр. Подсчитать общее количество цифр и количество единиц в строке. Если в...

Количество цифр в строке - C++
Написал программу, которая вычисляет количество цифр в строке. Но программа не работает. Что не правильно? #include...

Подсчитать количество цифр в строке - C++
???Ввести строку состоящую из цыфр и букв,и посчитать колтчество цыфр(быквы не должно брать считать к количеству)!

Подсчитать количество цифр в строке - C++
Найти количество цифр в строке

Посчитать количество цифр в строке - C++
Как посчитать количество цифр(функция void count)? Написал вот так, что в цикле писать(как передать массив в цикл)#include &lt;iostream&gt; ...

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

3
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
21.10.2013, 16:33 #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
#include <iostream>
#include <locale>
#include <cstring>
 
using namespace std;
 
//1.Дана строка. Подсчитать количество содержащихся в ней цифр.
int countDigits(char *str) {
    int k = 0;
    int i = 0;
    while (str[i] != '\0') {
        if (isdigit(str[i])) k++;
        i++;
    }
    return k;
}
 
int main() {
    std::locale::global(std::locale(""));
    int i;
    char s[100];
   cout<<"Введите 1-5 (выбора задания) "<<endl;
   cin>>i;
   switch(i) {
    case 1: { cout<<"Введите строку желательно с цифрами "<<endl;
            cin.get();
            cin.getline(s, 100);
            cout << s << endl;
            cout<<"Количество цифр в строке = "<<countDigits(s)<<endl;
          break;
        }
 
    case 2:
    case 3:
    case 4:
    case 5:
 
    ;}
    system("pause");
    return 0;
}
1
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 864
Записей в блоге: 1
21.10.2013, 16:37  [ТС] #3
Цитата Сообщение от GoldenChild Посмотреть сообщение
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
#include <iostream>
#include <locale>
#include <cstring>
 
using namespace std;
 
//1.Дана строка. Подсчитать количество содержащихся в ней цифр.
int countDigits(char *str) {
    int k = 0;
    int i = 0;
    while (str[i] != '\0') {
        if (isdigit(str[i])) k++;
        i++;
    }
    return k;
}
 
int main() {
    std::locale::global(std::locale(""));
    int i;
    char s[100];
   cout<<"Введите 1-5 (выбора задания) "<<endl;
   cin>>i;
   switch(i) {
    case 1: { cout<<"Введите строку желательно с цифрами "<<endl;
            cin.get();
            cin.getline(s, 100);
            cout << s << endl;
            cout<<"Количество цифр в строке = "<<countDigits(s)<<endl;
          break;
        }
 
    case 2:
    case 3:
    case 4:
    case 5:
 
    ;}
    system("pause");
    return 0;
}
Спасибо,но казалось что работало и без cin.get();
Вот старый код,все работало....:
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
#include "stringlesson.h"
#include <iostream>
#include <locale>
#include <string.h>
 
using namespace std;
 
int main() {
    std::locale::global(std::locale(""));
    cout<<"1-ое задание :"<<endl;
    cout<<"Введите строку "<<endl;
    char s[100];
    char s2[100];char s3[100];char s4[100];
    cin.getline(s,100);
    cout<<"Первая латинская гласная буква под номером = "<<FindFirstGlasn(s)<<endl;
    cout<<"2-ое задание :"<<endl;
    cout<<"Введите две строки "<<endl;
    cin.getline(s2,100);
    cin.getline(s3,100);
    cout<<"Количество вхождений второй строки в первую = "<<KolVhogdS2VS1(s2,s3)<<endl;
    cout<<"3-е задание :"<<endl;
    cout<<"Введите строку с хотя бы одним пробелом "<<endl;
    cin.getline(s4,100);
    cout<<"Индекс последнего пробела = "<<FindIndLastSpace(s4)<<endl;
system("pause");
return 0;
}
0
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
21.10.2013, 16:40 #4
Цитата Сообщение от DmitryM5 Посмотреть сообщение
Спасибо,но казалось что работало и без cin.get();
Вот старый код,все работало....:
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
#include "stringlesson.h"
#include <iostream>
#include <locale>
#include <string.h>
 
using namespace std;
 
int main() {
    std::locale::global(std::locale(""));
    cout<<"1-ое задание :"<<endl;
    cout<<"Введите строку "<<endl;
    char s[100];
    char s2[100];char s3[100];char s4[100];
    cin.getline(s,100);
    cout<<"Первая латинская гласная буква под номером = "<<FindFirstGlasn(s)<<endl;
    cout<<"2-ое задание :"<<endl;
    cout<<"Введите две строки "<<endl;
    cin.getline(s2,100);
    cin.getline(s3,100);
    cout<<"Количество вхождений второй строки в первую = "<<KolVhogdS2VS1(s2,s3)<<endl;
    cout<<"3-е задание :"<<endl;
    cout<<"Введите строку с хотя бы одним пробелом "<<endl;
    cin.getline(s4,100);
    cout<<"Индекс последнего пробела = "<<FindIndLastSpace(s4)<<endl;
system("pause");
return 0;
}
Когда вы вводите "1" для выбора в вашем меню, возможно (!!!), но я точно не могу сказать, а после этого читаете строку, то оно читает в нее пустой пробел. Можно проверить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <locale>
#include <cstring>
 
using namespace std;
 
 
int main() {
    std::locale::global(std::locale(""));
    int i;
    char s[100];
    cout<<"Введите 1-5 (выбора задания) "<<endl;
    cin>>i;
    cin.getline(s, 100);
    cout << s << endl; // Выведем строку, которую считали и увидим там " "
    system("pause");
    return 0;
}
1
21.10.2013, 16:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 16:40
Привет! Вот еще темы с ответами:

Посчитать количество цифр и букв в строке - C++
срочно. прошу вашу помощь_)) во введенной строке символов, заканчивающихся $. посчитать общее количество цифр и букв S. на с++.

Количество слов и цифр в строке, и последовательность - C++
Помогите, осталось решить всего 2 задачи из 10 заданных)) :) Нужно дописать решение, но чтобы его принимал компилятор BORLANDC, потому...

Рекурсивно вычислить количество цифр в строке - C++
Задача: Разработать рекурсивную функцию, возвращающую значение: для вычисления количества цифр в строке; с помощью данной функции...

Подсчитать количество цифр в введенной строке - C++
Прошу помочь найти ошибку в данном коде. Условие:с клавиатуры в строку вводятся числа и символы.подсчитать количество цифр в строке ...


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

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

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