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

Помогите с парой вопросов по С++

07.11.2011, 23:51. Показов 6224. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всё связано с консольными приложениями

1) После получения результата программа пишет "нажмите любую клавишу". После нажатия она закрывается. Как сделать, чтобы программа повторялась с самого начала (перед этим спрашивая о повторении) ?

2) Можно ли сделать так, чтобы введенные тобой символы не отображались в окне программы? А просто считывались после нажатия Enter?

3) Как изменить размер шрифта?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2011, 23:51
Ответы с готовыми решениями:

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

плз помогите написать любой тест на 20 вопросов (курсовая)
любые 20 вопросов и чтобы в конце показывала кол-во набранных балов

Помогите с парой вопросов
Я только на прошлой неделе взялся за Basic поэтому ответы ,если можно, более подробные. 1)Как сделать фоновую музыку к проге если на...

35
82 / 82 / 24
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
08.11.2011, 00:09
Цитата Сообщение от Ney4 Посмотреть сообщение
1) После получения результата программа пишет "нажмите любую клавишу". После нажатия она закрывается. Как сделать, чтобы программа повторялась с самого начала (перед этим спрашивая о повторении) ?
заключить основной код программы в функции main в цикл(например do while), которая будет повторятся до нажатия определенной кнопки, которая будет в условии while.(надеюсь вы знаете циклы, очень надеюсь)
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
int main() {
 char ch;
 do {
   std::cout << "write char = ";
   std::cin >> ch;
 } while ( ch != 'q') ;
 return 0;
}

Цитата Сообщение от Ney4 Посмотреть сообщение
3) Как изменить размер шрифта?
в dos окне? по моему никак.
0
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
08.11.2011, 00:22  [ТС]
Спасибо.
Нет, циклов я пока не знаю (только недавно начал изучать С++), но я почитаю о них и сделаю как вы написали
0
82 / 82 / 24
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
08.11.2011, 00:24
Ney4, без цикла тут никак не обойтись, так что учи)
на счет второго пукта немного непонял, ты хочешь чтобы после ввода данных экран окна очищался? и выводился на пустом экране ответ?
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
08.11.2011, 00:37
Цитата Сообщение от Ney4 Посмотреть сообщение
2) Можно ли сделать так, чтобы введенные тобой символы не отображались в окне программы? А просто считывались после нажатия Enter?
Есть функция _gectch(); , которая возвращает код веденного символа , а веденный символ в консоли не отображается.
0
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 17:09  [ТС]
У меня с getch не получается.

В программе написано, что если Е будет 10, то нужно выполнять одно действие, если Е будет 9, то выполнять другое действие. Во всех остальных случаях писать "неверное число".
Я вместо cin<<E пишу в коде E = getch () . Но когда вводишь 10 или 9, всё равно выводит сообщение "неверное число". Как быть?

Добавлено через 1 час 32 минуты
помогите
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
09.11.2011, 17:21
Цитата Сообщение от Ney4 Посмотреть сообщение
getch ()
getch это кажется вообще функция задержки экрана...
а если хочешь чтоб если ввел 10 или 9 то попробуй через if сделать тоесть
C++
1
2
3
4
5
cin>> ch;
if (ch==10)
cout << "deistvie kotoroe tebe nugno";
if (ch==9) 
cout <<"drugoe deistvie" Else cout << "nevernoe chislo
если помогло жми спасибо +1
0
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 17:26  [ТС]
Так у меня if и есть сейчас Просто мне нужно чтобы когда я вводил 9 или 10, эти цифры не выводились на экран. А просто считывались (желательно после нажатия enter)
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
09.11.2011, 17:28
ну может тогда дело в том что тебе подсказывали функцию
_gectch() а ты использовал функцию getch?
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.11.2011, 18:20
Цитата Сообщение от Ney4 Посмотреть сообщение
1) После получения результата программа пишет "нажмите любую клавишу". После нажатия она закрывается. Как сделать, чтобы программа повторялась с самого начала (перед этим спрашивая о повторении) ?
можно грубо и не по стандарту рекурсией функции main

Добавлено через 1 минуту
Цитата Сообщение от Ney4 Посмотреть сообщение
Так у меня if и есть сейчас Просто мне нужно чтобы когда я вводил 9 или 10, эти цифры не выводились на экран. А просто считывались (желательно после нажатия enter)
тут с win api можно связать
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
09.11.2011, 18:24
Цитата Сообщение от lexflax Посмотреть сообщение
getch это кажется вообще функция задержки экрана...
Нет. Это функция ввода символа.
getch() это же самое, что и _getch().

Добавлено через 30 секунд
Цитата Сообщение от lexflax Посмотреть сообщение
_gectch()
Такой функции нет

Добавлено через 27 секунд
Цитата Сообщение от Ney4 Посмотреть сообщение
Как быть?
Покажите полностью код. Мы тут не телепаты.
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.11.2011, 18:24
Цитата Сообщение от Ney4 Посмотреть сообщение
2) Можно ли сделать так, чтобы введенные тобой символы не отображались в окне программы? А просто считывались после нажатия Enter?
есть ещё функция get с какимто извращённым окончанием она не выводит символ но и не тормозит программу и функция getch тоже не выводит символ но тормозит программу
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
09.11.2011, 18:25
Цитата Сообщение от Van111 Посмотреть сообщение
getch тоже не выводит символ но тормозит программу
Бред. getch() - функция ввода символа.
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.11.2011, 18:27
Цитата Сообщение от Ney4 Посмотреть сообщение
3) Как изменить размер шрифта?
тут по ходу тока win api
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.11.2011, 18:31
Цитата Сообщение от Ney4 Посмотреть сообщение
1) После получения результата программа пишет "нажмите любую клавишу". После нажатия она закрывается. Как сделать, чтобы программа повторялась с самого начала (перед этим спрашивая о повторении) ?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <setjmp.h>
 
int main()
{
    jmp_buf env;
    setjmp(env);
    
        //some code...
 
    char ch;
    printf("Repeat? [y\\n]: ");
    scanf("\n%c", &ch);
    
    if ( ch == 'y' || ch == 'Y' )
        longjmp(env, 0);
                
    return 0;
}
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
09.11.2011, 18:35
diagon
Зачем так сложно, если можно на много проще?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    char answer = 'y';
    
    do
    {
        std::cout << "Repeat? y/n\n";
        std::cin >> answer;
    }while( answer == 'y' || answer == 'Y' );
    return 0;
}
1
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.11.2011, 18:40
Цитата Сообщение от Chelioss Посмотреть сообщение
Бред. getch() - функция ввода символа.
а я не спорю я говорю что она не выводит символа при его нажатие
0
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 19:02  [ТС]
Chelioss, неудобно весь код писать, я с оперы мини
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
09.11.2011, 19:07
Цитата Сообщение от Ney4 Посмотреть сообщение
Chelioss, неудобно весь код писать, я с оперы мини
А как мы тогда узнаем, почему у вас _getch() не работает?
А вообще есть одно предположение.
Допустим, у вас перед вызовом _getch() был ввод данных с помощью cin >>.
Дело в том, что когда вводишь данные с помощью cin >> надо нажать на Enter, а это символ перехода на новую строку.
cin читает все символы кроме символов перехода на новую строку/пробела/еще каких-то спец символов, т.е. после чтения остается в потоке ввода символ перехода на новую строку.
И как раз вы функцией _getch() читаете этот символ, ибо функция _getch() читает любые символы, т.е. ничего не игнорирует. Вам надо после cin >> написать cin.ignore(), либо два раза написать _gecth(), чтобы в первый раз прочитать символ перехода на новую строку, а второй раз считать число.
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.11.2011, 19:17
Цитата Сообщение от Chelioss Посмотреть сообщение
diagon
Зачем так сложно, если можно на много проще?
Да там не особо сложнее.
С циклом менее удобно, имхо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.11.2011, 19:17
Помогаю со студенческими работами здесь

USBBIT помогите,куча вопросов!!!
Кароч собрал зачетный программатор по этой ссылке - http://reddylab.eu/rclab/. На работе есть возможность платки на заводе заказывать...

Помогите, есть несколько вопросов....
1. Ситуация следующая: С одного компьютура на другой на время поставили жёсткий диск. Вернули винчестеры в исходное положение, после этого...

Помогите с базой в Access. Много вопросов!
Существует следующая проблема: Есть таблица в Access с ней взаимодействует форма допустим, она называется 'Основа'. К данной форме по...

Много вопросов. Помогите, пожалуйста, кто чем может
Даю вводную. Есть сайт издательского дома. Темы журналов: №1 строительство, №2 ландшафт №3 сад, огород + мелочевка. Во всех изданиях ВСЕ...

Как в тестах из 60 вопросов сделать, чтобы выдавалось только 30 вопросов случайным образом?
скажите пожалуйста, как в тестах из 60 вопросов сделать с помощью random чтоб выподало только 30 вопросов или не через random.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru