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

Не работает оператор gets() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ [C++]Проблемы с вычитанием одномерного массива... http://www.cyberforum.ru/cpp-beginners/thread366038.html
Ситуация такая.. Надо сделать функцию, которая будет вычитать определенные элементы массива. Не могу разобраться как правильно записать результат вычисления... template<class T> T Math_SubEl(int count, T * a, int n) { T result = NULL; int * newMassive = new int ; int i = 0; int x;
C++ Откуда можно скачать C++ Builder 6? скачиваю с торрента серийный номер спрашивает. http://www.cyberforum.ru/cpp-beginners/thread366034.html
Совершенные числа C++
Вводится число n, требуется вывести совершенные числа до n. #include "stdafx.h" #include <iostream> using namespace std; void main() { int n; cin >> n;
C++ Вычислить сумму ряда
Решил выложить решенную задачу с лабораторной работы: Задание: см. рисунок! Листинг: #include "stdafx.h" #include <stdio.h> #include <conio.h>
C++ Как использовать функцию getline http://www.cyberforum.ru/cpp-beginners/thread366017.html
есть программа структура о книгах, с поиском по дате из-за функции cin можно ввести только одно слово так как после пробела cin не видет, препод сказал использовать ф-цию getline я почитал пару посто но разобратся не смог помогите, плиз #include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <iomanip>
C++ Не работает элементарное сравнение [работа со строками] Привет всем, подскажите, пожалуйста, что не так с этим кодом, пытаюсь просто сравнить введённую строку с эл-тами массива char и, в случае их совпадения, записать индекс массива в переменную result : #include <stdio.h> #include <conio.h> #include <string.h> int main() { подробнее

Показать сообщение отдельно
Мартиника
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 43
13.10.2011, 23:50  [ТС]     Не работает оператор gets()
теги конечно надо ставить, об этом мне напомнят, но мб хоть кто-то объяснит мне как?)))
а вот код:
с gets() обычная рабочая прога:
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
char concat(char*s1, char*s2, char*s3)
{
do
{
*s1=*s2;
*s1++;
*s2++;
}
while(*s2 !='\0');
do
{
*s1=*s3;
*s1++;
*s3++;
}
while(*s3 !='\0');
*s1='\0';
return *s1;
}
 
void concat1()
{
char s2[20];
char s3[20];
char s1[20];
setlocale(LC_ALL,"");
cout<<"ВВедите первую строку: \n";
gets(s2);
cout<<"ВВеди вторую строку: \n";
gets(s3);
 
concat(s1,s2,s3);
cout<< s1 << endl;
_getch();
}
 
вот уже под классы:
 
char stroki::concat(char*s1, char*s2, char*s3)
{
do
{
*s1=*s2;
*s1++;
*s2++;
}
while(*s2 !='\0');
do
{
*s1=*s3;
*s1++;
*s3++;
}
while(*s3 !='\0');
*s1='\0';
return *s1;
}
 
void stroki:: vvod_dvuh_strok()
{
setlocale(LC_ALL,"");
cout<<"ВВеди первую строку: \n";
gets(s2);
cout<<"ВВеди вторую строку: \n";
gets(s3);
}
 
 
void stroki:: st(){
concat(s1,s2,s3);
cout<< s1 << endl;
_getch();
}
 
вызов этой ф-и:
void menu_class(){
  setlocale(LC_ALL, "");
  int p;
stroki t;
  do{
    system("cls");
    cout<<"\n ÏîäìåГ*Гѕ ";
    cout<<"\n 1)Слияние двух строк"<<endl;
    cout<<"\n 2)ÄëèГ*Г* ñòðîêè"<<endl;
    cout<<"\n 3)ÂåðГ*ГіГІГјГ±Гї Гў ГЈГ«Г*ГўГ*îå ìåГ*Гѕ"<<endl;
    cin>>p;
    system("cls");
    switch(p){
    case 1:{ t.vvod_dvuh_strok();   
     t.st();
         _getch();
            break;
            } 
    case 2:{ cout<<"fdg";
             break;}
             
}}
       
  while (p!=3);
  _getch();
}
Добавлено через 1 минуту
CПАСИИИБООО!!!!
cin.ignore() - то что нужно))
 
Текущее время: 08:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru