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

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

Войти
Регистрация
Восстановить пароль
 
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
#1

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

06.11.2012, 18:10. Просмотров 237. Ответов 6
Метки нет (Все метки)

Почему в этой программе пропускает ввод строки?
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++
#include&lt;iostream&gt; #include&lt;clocale&gt; using namespace std; #define DEBUG class Monom{ protected: int Step,Kof; public: ...

с++ ввод строки и .... - C++
По заданию: Пользователь вводит строку и символ, программа выводит сколько раз символ встречался в строке. в другой програмке я...

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

ввод строки - C++
привет! у меня есть проблемка.. для начала прога: #include &lt;stdlib.h&gt; int main (void) { return system(&quot;ping 192.168.3.1&quot;); } ...

Ввод строки в С++ - C++
Подскажите как сделать так, чтобы введенная строка (string) сохранилась без учета пробелов? а то getline пробелы тоже сохраняет, а cin...

Ввод строки - C++
Помогите решить такую проблему: Мне нужно ввести строку, которая состоит более 1 слова. когда я пишу: ... char a, b, c; cin&gt;&gt;a; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 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
1285 / 947 / 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
1285 / 947 / 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++
У меня возникла такая проблема: как ввести строку из консоли. Написал вот что: cout&lt;&lt;&quot;Input time \&quot;hour:minute:second\&quot;\n&quot;; char...

Ввод строки - C++
Как ввести массив символов (строку)? (желательно все возможные варианты) А то через gets фигня какая-то получается.

Ввод строки с клавиатуры - C++
Помогите найти, в чем ошибка. При вводе строки программа аварийно завершается. Вот кусок кода #include&lt;iostream&gt; int main() {...


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

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

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