Форум программистов, компьютерный форум CyberForum.ru

пропукае ввод строки - C++

Войти
Регистрация
Восстановить пароль
 
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 18:10     пропукае ввод строки #1
Почему в этой программе пропускает ввод строки?
C++
1
gets(s);
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
 
const int n=10;
 
using namespace std;
void deletes(char s[], int pos);
void krapku(char []);
void koma(char [],int);
void kilkistneparnuxrechen(char[],int,int,int);
 
int main(){
   int count = 0;
   int size; 
   int word = 1; ;
   char str2[100];  
   cout<<"Enter string"<<endl; 
   gets(str2);
   kilkistneparnuxrechen(str2,word,count,size);
   char str1[n];
   cout<<"Enter string z : "<<endl;
     for(int i=0;i<n;i++)
       cin>>str1[i];
   krapku(str1);
   
   char s[150];
   int i;
   gets(s);
   koma(s,i);
   
   
   
getch();
return 0;
}
void kilkistneparnuxrechen(char str[100],int word,int count,int size){
{
    
    size = strlen(str);
    for (int i = 0; i < size; i++) 
    { 
        if(str[i] == ' '||str[i]==',') 
            word++; 
        if(str[i]=='?' || str[i]=='!' || str[i]=='.') 
        { 
            if(word % 2 != 0) 
                count++; 
            word=1; 
        } 
    } 
    cout << count << endl;
}
}
 
void krapku(char str[n])
{
     
    for(int i=0;i<n;i++){
        if(str[i]==':')
           for(int j=i+1;j<n;j++)
               cout<<str[j];
                          
        }
 }
void koma(char s[],int i)
{
     int size = strlen(s);
    for(int i = 0; i < size; i++){
      if(s[i] == ','){
            for(int j = i+2; j < size; j++){
              if(s[j] == ' '){
                break;
                  }
                    s[j] = ' ';
                    }
            }
            
    }
 
for (i = 0; i < size; i++)
 {  if ((s[i]==' ') && (s[i+1]==' '))
    deletes(s,i+1);
}
 cout <<s;
 }
 
 
 void deletes(char s[], int pos)
{ int i;
if ((s[pos]== ' ') && (s[pos+1]== ' '))
{ deletes(s,pos+1); }
for (i = pos; i < strlen(s); i++)
 {
  s[i]=s[i+1];
}
s[i]=0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 18:10     пропукае ввод строки
Посмотрите здесь:

C++ ввод строки
C++ с++ ввод строки и ....
C++ Ввод строки
C++ Ввод строки
ввод строки C++
Ввод строки C++
C++ Ввод строки в С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.11.2012, 18:15     пропукае ввод строки #2
size не инициализирована
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 18:19  [ТС]     пропукае ввод строки #3
Программа работает хорошо но только к этому
C++
1
2
3
4
5
char s[150];
   int i;
   cout<<"Enter ";
   gets(s);
   koma(s,i);
а до этого функции правильно работают!

Добавлено через 1 минуту
Цитата Сообщение от David Sylva Посмотреть сообщение
size не инициализирована
и у меня в отдельной функции size инициализирована
C++
1
size = strlen(str);
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.11.2012, 18:20     пропукае ввод строки #4
то же самое i не инициализирована, попробуй i = 0
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 18:21  [ТС]     пропукае ввод строки #5
все равно не вводится
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.11.2012, 18:24     пропукае ввод строки #6
ты посмотри, что ты передаёшь в качестве size
C++
1
2
3
4
5
6
int size; 
   int word = 1; ;
   char str2[100];  
   cout<<"Enter string"<<endl; 
   gets(str2);
   kilkistneparnuxrechen(str2,word,count,size);
у size нет значения
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 18:26     пропукае ввод строки
Еще ссылки по теме:

Ввод строки C++
Ввод строки с пробелами C++
Ввод строки до точки C++
Проверка на ввод строки C++
C++ Ввод строки

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

Или воспользуйтесь поиском по форуму:
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 18:26  [ТС]     пропукае ввод строки #7
я понял в чем проблема, нужно было
C++
1
cin.sync();
Yandex
Объявления
06.11.2012, 18:26     пропукае ввод строки
Ответ Создать тему
Опции темы

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