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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 5.00
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
07.11.2011, 23:51     Помогите с парой вопросов по С++ #1
Всё связано с консольными приложениями

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

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

3) Как изменить размер шрифта?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2011, 23:51     Помогите с парой вопросов по С++
Посмотрите здесь:

C++ [C++]Поле шахматной доски определяется парой натуральных целых чисел, каждое из которых не превосходит восьми:
Помогите с парой прог на C C++
C++ плз помогите написать любой тест на 20 вопросов (курсовая)
C++ Поле шахматной доски определяется парой натуральных чисел
C++ Найти наиболее и наименее удаленные точки. Вычисление расстояния между парой точек оформить функцией
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
08.11.2011, 00:09     Помогите с парой вопросов по С++ #2
Цитата Сообщение от 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 окне? по моему никак.
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
08.11.2011, 00:22  [ТС]     Помогите с парой вопросов по С++ #3
Спасибо.
Нет, циклов я пока не знаю (только недавно начал изучать С++), но я почитаю о них и сделаю как вы написали
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
08.11.2011, 00:24     Помогите с парой вопросов по С++ #4
Ney4, без цикла тут никак не обойтись, так что учи)
на счет второго пукта немного непонял, ты хочешь чтобы после ввода данных экран окна очищался? и выводился на пустом экране ответ?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
08.11.2011, 00:37     Помогите с парой вопросов по С++ #5
Цитата Сообщение от Ney4 Посмотреть сообщение
2) Можно ли сделать так, чтобы введенные тобой символы не отображались в окне программы? А просто считывались после нажатия Enter?
Есть функция _gectch(); , которая возвращает код веденного символа , а веденный символ в консоли не отображается.
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 17:09  [ТС]     Помогите с парой вопросов по С++ #6
У меня с getch не получается.

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

Добавлено через 1 час 32 минуты
помогите
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
09.11.2011, 17:21     Помогите с парой вопросов по С++ #7
Цитата Сообщение от 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
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 17:26  [ТС]     Помогите с парой вопросов по С++ #8
Так у меня if и есть сейчас Просто мне нужно чтобы когда я вводил 9 или 10, эти цифры не выводились на экран. А просто считывались (желательно после нажатия enter)
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
09.11.2011, 17:28     Помогите с парой вопросов по С++ #9
ну может тогда дело в том что тебе подсказывали функцию
_gectch() а ты использовал функцию getch?
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
09.11.2011, 18:20     Помогите с парой вопросов по С++ #10
Цитата Сообщение от Ney4 Посмотреть сообщение
1) После получения результата программа пишет "нажмите любую клавишу". После нажатия она закрывается. Как сделать, чтобы программа повторялась с самого начала (перед этим спрашивая о повторении) ?
можно грубо и не по стандарту рекурсией функции main

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

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

Добавлено через 27 секунд
Цитата Сообщение от Ney4 Посмотреть сообщение
Как быть?
Покажите полностью код. Мы тут не телепаты.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
09.11.2011, 18:24     Помогите с парой вопросов по С++ #12
Цитата Сообщение от Ney4 Посмотреть сообщение
2) Можно ли сделать так, чтобы введенные тобой символы не отображались в окне программы? А просто считывались после нажатия Enter?
есть ещё функция get с какимто извращённым окончанием она не выводит символ но и не тормозит программу и функция getch тоже не выводит символ но тормозит программу
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
09.11.2011, 18:25     Помогите с парой вопросов по С++ #13
Цитата Сообщение от Van111 Посмотреть сообщение
getch тоже не выводит символ но тормозит программу
Бред. getch() - функция ввода символа.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
09.11.2011, 18:27     Помогите с парой вопросов по С++ #14
Цитата Сообщение от Ney4 Посмотреть сообщение
3) Как изменить размер шрифта?
тут по ходу тока win api
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.11.2011, 18:31     Помогите с парой вопросов по С++ #15
Цитата Сообщение от 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;
}
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
09.11.2011, 18:35     Помогите с парой вопросов по С++ #16
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;
}
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
09.11.2011, 18:40     Помогите с парой вопросов по С++ #17
Цитата Сообщение от Chelioss Посмотреть сообщение
Бред. getch() - функция ввода символа.
а я не спорю я говорю что она не выводит символа при его нажатие
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 19:02  [ТС]     Помогите с парой вопросов по С++ #18
Chelioss, неудобно весь код писать, я с оперы мини
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
09.11.2011, 19:07     Помогите с парой вопросов по С++ #19
Цитата Сообщение от Ney4 Посмотреть сообщение
Chelioss, неудобно весь код писать, я с оперы мини
А как мы тогда узнаем, почему у вас _getch() не работает?
А вообще есть одно предположение.
Допустим, у вас перед вызовом _getch() был ввод данных с помощью cin >>.
Дело в том, что когда вводишь данные с помощью cin >> надо нажать на Enter, а это символ перехода на новую строку.
cin читает все символы кроме символов перехода на новую строку/пробела/еще каких-то спец символов, т.е. после чтения остается в потоке ввода символ перехода на новую строку.
И как раз вы функцией _getch() читаете этот символ, ибо функция _getch() читает любые символы, т.е. ничего не игнорирует. Вам надо после cin >> написать cin.ignore(), либо два раза написать _gecth(), чтобы в первый раз прочитать символ перехода на новую строку, а второй раз считать число.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2011, 19:17     Помогите с парой вопросов по С++
Еще ссылки по теме:

Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») C++
Разработать класс (Объект «рациональная дробь, представлен парой целых чисел») C++
Определить двузначное число, образованное парой цифр, в которую входит k-я цифра. C++

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.11.2011, 19:17     Помогите с парой вопросов по С++ #20
Цитата Сообщение от Chelioss Посмотреть сообщение
diagon
Зачем так сложно, если можно на много проще?
Да там не особо сложнее.
С циклом менее удобно, имхо.
Yandex
Объявления
09.11.2011, 19:17     Помогите с парой вопросов по С++
Ответ Создать тему
Опции темы

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