Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Alex1205
6 / 6 / 4
Регистрация: 14.01.2011
Сообщений: 81
#1

Не вызывается функция по поиску цифр из заданной строки

07.04.2011, 00:42. Просмотров 347. Ответов 1
Метки нет (Все метки)

Никак не могу найти,где ошибка! Вроде все работает, а вот функция по поиску цифр из заданной строки не вызывается..
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
 //Функция поиска больших символов
void big(char *line)
{
    char *symbols = new char[100];
    int count1 = 0;
 
    strcpy(symbols,"");
    char alfa[2];
    strcpy(alfa,"A");
    do
    {
        strcat(symbols,alfa);
        alfa[0]++;
    }
    while(strstr(alfa,"Z")==NULL);
    while(*line!='\0')
    {
        line=line+strcspn(line,symbols);
        count1=count1+strspn(line,symbols);
        line=line+strspn(line,symbols);
     }
    cout<<" Found big letters : "<<count1<<"\n";
    cout<<"\n\n";
}
 //Функция поиска маленьких символов
void small(char *line)
{
    char *symbols = new char[100];
    int count2 = 0;
 
    strcpy(symbols,"");
    char beta[2];
    strcpy(beta,"a");
    do
    {
        strcat(symbols,beta);
        beta[0]++;
    }
    while(strstr(beta,"z")==NULL);
    while(*line!='\0')
    {
        line=line+strcspn(line,symbols);
        count2=count2+strspn(line,symbols);
        line=line+strspn(line,symbols);
    }
  cout<<" Found small letters : "<<count2<<"\n";
}
//функция поиска цифр
void figure(char *line)
 
{
    char *symbols = new *char[50];
    int count3=0;
    strcpy (symbols, "0123456789");
    
    while (line !='\0')
    {
        if (strpbrk (line,symbols)!=NULL)
        {
            line=line+strcspn(line,symbols);
            count3+=strspn(line,symbols);           
            line+=strspn(line,symbols);
        }
        
        cout<<" Found figures : "<<count3<<"\n"; 
    }   
    cout<<"\n\n";
}
 
//функция для повторения символов
char *double_size(char *line)
{    
    char *res = new char [100];
    char *result_pos;
    result_pos = res;
    char *r = line;
 
    for( r = line; *r != '\0';)
    {      
                 *result_pos = *r;
                result_pos++;
                
                *result_pos = *r;
                result_pos++;
                r++; 
                res='\0';
                cout << " The double symbol size is : " << res << "\n\n";
    }  
    
}
 
void main()
{
char *line = new char [100]; 
cout<<" Please,enter the line :\n>";
cout<<"\n\n";
gets(line);
big(line);
small(line);
figure(line);
double_size(line);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2011, 00:42
Ответы с готовыми решениями:

Функция по поиску элемента
всем доброго времени суток ))) господа программисты помогите написать функцию const int*...

Функция извлечения цифр из строки
int fromString( string&amp; s) { istringstream iss(s); int res; iss &gt;&gt; res; return res; }...

Не вызывается функция
Здравствуйте. Не работает условие в цикле. Просто не вызывается функция prior. Как исправить? int...

Не вызывается функция
Когда код функции находился в главной функции, то выполнялся без нареканий(не считая выскакивания...

Не вызывается функция
Здравствуйте. Не понимаю почему, но код работает, а программа даже не заходит в функцию. В чем...

1
DeadRipper
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
07.04.2011, 00:57 #2
во первых что сразу бросается в глаза


C++
1
while (line !='\0')

line это указатель, возможно должно быть так

C++
1
while (*line !='\0')
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2011, 00:57

Не вызывается функция?
int main() { cout&lt;&lt;&quot;Let's go!\n\n\n&quot;; int Fill_array(); } int Fill_array(double...

Функция доводит длину строки до заданной, вставляя пробелы между словами
Функция доводит длину строки до заданной, вставляя пробелы между словами. слово может складатса с...

Функция удаляет из строки заданное количество символов, начиная с заданной позиции
Подскажите, что не так в программе.? Функция удаляет из строки заданное количество символов,...


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

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

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