Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Arahn

Не работает gets()

18.06.2011, 00:56. Показов 2390. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#define _CRT_SECURE_NO_DEPRECATE
 
#include <iostream>
#include <Windows.h>
#include <time.h>
#include <string>
 using namespace std;
void main1();
void main2();
 int main(){
 SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string asi;
do {
cout<<"Выберите программу для запуска (1-2), 0 - выход: ";
    cin>>asi;
    if (asi=="1") { system("cls");
    main1();
    system("cls");}
if (asi=="2") { system("cls");
    main2();
    system("cls");}
if (asi=="0") break;
else {system("cls");
cout<<"Неправильный ввод\n";}}
while (asi!="1"||asi!="2"||asi!="0");}
 
 void main2(){
 char ch[401];
 int i;
 int v=0;
 int c=0;
 int b=0;
 for (i=0; i<401;i++) ch[i]=0;
 cout<<"Введите фразу до 400 символов ";
 gets(ch);
 for (i=0; i<401;i++) {
     switch (ch[i]) {
     case 0 : break;
     case ' ' : c++;
     default : v++;}
     if (((ch[i]=='к')||(ch[i]=='К'))&&(ch[i+1]=='о')&&(ch[i+2]=='т')) b++;
 }
 cout<<v<<" Весего символов\n";
  cout<<v-c<<" Букв без пробелов\n";
 cout<<b<<" Слов кот в тексте\n";
  system("pause");
 }
 void main1(){}
Доброго времени суток у меня проблема такая:
gets(ch); в функции main2() не дожидается ввода и сразу выдает цикл и соответственно нулевой ответ. Что делать может кто поможет.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2011, 00:56
Ответы с готовыми решениями:

Приложение работает в Debug, странно работает в Release и не работает при билде
Действия выполняются на эмуляторе Pixel 2. Android 9.0. Если я запускаю приложение с конфигурацией Debug, то всё в порядке. При запуске же...

Мышь работает через раз, то есть запустил ОС - мышь не работает, перезагрузил - мышь работает
Установлена Windows 7 со всеми последними обновлениями. Все всегда замечательно работало. Но с недавних пор мышь стала работать через раз....

Атрибут ALT не работает в выделенной области, хотя работает на всей картинке
&lt;html&gt; &lt;head&gt; &lt;title&gt;Атрибут ALT&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;center&gt; &lt;img src=&quot;picture.jpg&quot; usemap=&quot;#panel&quot; width=&quot;500&quot;...

6
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
18.06.2011, 01:00
Цитата Сообщение от Arahn Посмотреть сообщение
asi!="1"
"1" - это строка, а char это '1'
0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
18.06.2011, 01:08
C++
1
2
cin>>asi;
cin.ignore();
0
Arahn
18.06.2011, 11:12
Цитата Сообщение от OstapBender Посмотреть сообщение
C++
1
2
cin>>asi;
cin.ignore();
Спасибо помогло а то мучился весь вечер)
2 / 2 / 0
Регистрация: 31.07.2012
Сообщений: 71
02.08.2012, 05:07
всем привет! такая ситуация:
перед тем, как ввести стоку, нужно нажать на .
потом, когда я беру строку, почему-то первой буквы нет.
я ввожу, например, слово "дом" после ENTER’а, а он выводит тока "ом". почему?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        if(kbhit()) 
        {
            
                                int cr = getc(stdin);
        while(cr == 10)
        {
            printf("<ENTER>");
            cr = getc(stdin);
        }
 
        char s[20];
        gets(s);
        printf("text: %s\n",s);
        
        
        }
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 06:06
Для Arahn : http://cppstudy.wordpress.com/... et-and-co/

Добавлено через 11 минут
Цитата Сообщение от rambayke Посмотреть сообщение
почему?
cr = getc(stdin) извлекает символ из потока в cr, поэтому gets(s); извлекает на один символ меньше.
C++
1
printf("text: %c%s\n", cr, s);
0
2 / 2 / 0
Регистрация: 31.07.2012
Сообщений: 71
02.08.2012, 07:30
Огромнейшее спасибо! все работает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.08.2012, 07:30
Помогаю со студенческими работами здесь

Не работает монитор комп работает а на мониторе нет изображения что делать ?
У меня компьютер старый давно покупал и мне захотелось проверить включается или нет и тут возникла одна проблема не включается монитор (...

Решил портировать игру на андроид но управление не работает. Прыжок и стрельба работает
Решил портировать игру на андроид но управление не работает. Прыжок и стрельба работает. Очень странно. В этот раз решился заморочится и...

Multimap STL - работает только запись в файл, поиск в файле не работает
И снова здравствуйте. Снова я прошу вашей помощи. Переделал программу с мапом в мульти мап, но что то пошло не так и работает только запись...

Так работает или не работает второй слот для оперативной памяти
Моему компьютеру уже больше 7-ми лет, купили мне его в сентября 2005 года. На то время очень даже неплохие характеристики: Процессор:...

Надо понять правильно работает код или нет. И работает ли он вообще
Он должен вычислить сумму с точностью эпсилон #include &lt;iostream&gt; using namespace std; int main() {


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru