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

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

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

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

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

Всё связано с консольными приложениями

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

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

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

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

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

Класс «Номер телефона», проблема с парой функций - C++
Есть задание (ниже). Я сделал всё из обоих пунктов, но функции Out_All ShowSameCode ShowSameType Find не работают . Никак не могу понять...

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

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

Определить двузначное число, образованное парой цифр, в которую входит k-я цифра. - C++
Доброго времени суток! В С++ недавно, но в универе уже задали такие задачи: 2)Дано число k (1<k<180) и последовательность цифр...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
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,597
Записей в блоге: 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,133
09.11.2011, 19:07 #19
Цитата Сообщение от Ney4 Посмотреть сообщение
Chelioss, неудобно весь код писать, я с оперы мини
А как мы тогда узнаем, почему у вас _getch() не работает?
А вообще есть одно предположение.
Допустим, у вас перед вызовом _getch() был ввод данных с помощью cin >>.
Дело в том, что когда вводишь данные с помощью cin >> надо нажать на Enter, а это символ перехода на новую строку.
cin читает все символы кроме символов перехода на новую строку/пробела/еще каких-то спец символов, т.е. после чтения остается в потоке ввода символ перехода на новую строку.
И как раз вы функцией _getch() читаете этот символ, ибо функция _getch() читает любые символы, т.е. ничего не игнорирует. Вам надо после cin >> написать cin.ignore(), либо два раза написать _gecth(), чтобы в первый раз прочитать символ перехода на новую строку, а второй раз считать число.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.11.2011, 19:17 #20
Цитата Сообщение от Chelioss Посмотреть сообщение
diagon
Зачем так сложно, если можно на много проще?
Да там не особо сложнее.
С циклом менее удобно, имхо.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
09.11.2011, 19:18 #21
Цитата Сообщение от diagon Посмотреть сообщение
Да там не особо сложнее.
С циклом менее удобно, имхо.
Не особо, но сложнее.
"Будь проще" - из книги Страуструпа.
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 21:04  [ТС] #22
может всё из-за того, что у меня dev-c++ ?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
09.11.2011, 21:06 #23
Цитата Сообщение от Ney4 Посмотреть сообщение
может всё из-за того, что у меня dev-c++ ?
Выложите код. Мы не телепаты.
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 21:48  [ТС] #24
Напишу упрощенный вариант моего кода. Тк весь код целиком писать неудобно.

#include <iostream>
#include <conio.h>

using namespace std;

int main ()
{
int n,e,t;

cout<<"esli ....... najmite 9"<<endl;
cout<<"esli......napishite 10"<<endl;
e==getche (); \вот тут нужно, чтобы число не выводилось на экран

if(e==9) {
Тут куча разных действий
Пусть будет cout }

else if(e==10) {
Тоже куча действий}

else {
cout<<"nevernoe chislo"<<endl; }

system("pause");
}
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
09.11.2011, 21:49 #25
Цитата Сообщение от Ney4 Посмотреть сообщение
e==getche ();
C++
1
e=getch();
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 21:53  [ТС] #26
что ни напишешь (если использовать getche) - сразу переходит к выводу сообщения "неверное число"

Добавлено через 1 минуту
Chelioss, с вашим вариантом тоже так
Сыроежка
Заблокирован
09.11.2011, 21:53 #27
Цитата Сообщение от Ney4 Посмотреть сообщение
что ни напишешь (если использовать getche) - сразу переходит к выводу сообщения "неверное число"
Потому что вы вводите не значение целого числа 9, а его код, который в ASCII равен 57.
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
09.11.2011, 21:56  [ТС] #28
А как сделать чтобы само число принималось, а не его код?
Сыроежка
Заблокирован
09.11.2011, 21:58 #29
Цитата Сообщение от Ney4 Посмотреть сообщение
А как сделать чтобы само число принималось, а не его код?
Переводить код в число, то есть вычесть из кода 48.
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
09.11.2011, 21:59 #30
либо использовать ф-ию atoi(ch) в библиотеке stdlib
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2011, 21:59
Привет! Вот еще темы с ответами:

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

Найти наиболее и наименее удаленные точки. Вычисление расстояния между парой точек оформить функцией - C++
Даны координаты N точек на плоскости в виде маccивов X и Y. Найти наиболее и наименее удаленные точки. Вычисление расстояния между парой...

Найти диаметр графа, то есть, максимальное значение среди всех кратчайших расстояний между каждой парой вершин - C++
Найти диаметр графа, то есть максимальное значение среди всех кратчайших расстояний между каждой парой вершин. Ответ: номера двух вершин...

Вычисления для каждой точки, заданной парой координат, третьей координаты по заданной формуле - C++
Прошу подсказать в каком направлении работать для решения следующей задачи. Имеется текстовый файл, котором в каждой строке (всего строк...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.11.2011, 21:59
Ответ Создать тему
Опции темы

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