Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/40: Рейтинг темы: голосов - 40, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 20

клавиатурный тренажер

09.01.2017, 02:33. Показов 9092. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет,решил написать простенький клавиатурный тренажер

Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <fstream>
#include <windows.h>
 
using namespace std;
 
int main() {
    setlocale(LC_ALL, "rus");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    ifstream sos;
    int Level, ses = 0, i;
    const int buff = 100;
    char sus[100], sis[100];
    system("color 3");
    
 
    std::cout << "\t\tВыберите пункт:\n";
    std::cout << "1 - Начальный уровень;\n";
    std::cout << "2 - Средний уровень;\n";
    std::cout << "3 - Тяжелый уровень;\n";
    std::cout << "... ";
 
    cin >> Level;
 
    switch (Level) {
    case 1:
        sos.open("words.txt");
        sos.getline(sus, 100);
        cout << sus << "\n";
        cin >> sis;
        for (i = 0; i <= 100; i++){
            if (sus[i] != sis[i])
            {
                ses++;
            }
            cout << ses;
            break;
        }
        break;
 
    case 2:
        sos.open("words.txt");
        sos.getline(sus, 100);
        sos.getline(sus, 100);
        cout << sus << "\n";
        cin >> sis;
        for (i = 0; i <= 100; i++){
            if (sus[i] != sis[i])
            {
                ses++;
            }
            cout << ses;
            break;
        }
    case 3:
        sos.open("words.txt");
        sos.getline(sus, 100);
        sos.getline(sus, 100);
        sos.getline(sus, 100);
        cout << sus << "\n";
        cin >> sis;
        break;
 
    default:
        cout << "\nERROR! Invalid value!";
        exit(1);
    }
 
    cout << "\nPress "space" to clear screen";
    getch();
    system("cls");
 
 
    return 0;
}


в моем случае выводится на экран предложение,даже если ты сделал много ошибок,программа выводит 0,т.е ошибок нет,как сделать так,чтобы он нормально подсчитывал ошибки?вот никак понять не могу,подскажите пожалуйста

Добавлено через 10 минут
проблема в первом кейсе
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2017, 02:33
Ответы с готовыми решениями:

Клавиатурный тренажер на с++
Добрый,вечер всем! Люди добрые,помогите пожалуйста! Покажите пожалуйста простейший пример кода приложения &quot;Клавиатурный...

Написать клавиатурный тренажер
Всем доброго времени суток. Дали курсовой(( Составить программу обучения работе с клавиатурой. Программа должна выдавать на экран буквы,...

Клавиатурный тренажер Доработка
/*Разработка клавиатурного тренажера. Программа случайным образом выводит на экран символы,слоги,слова, которые нужно набирать на...

27
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 20
11.01.2017, 01:00  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от nd2 Посмотреть сообщение
Я к тому спросил, что ses нужно обнулять в каждом case.
ну это проблему не решило,что самое интересное,он выводит кол-во ошибок больше чем цифр и пробелов между ними в этой строке
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
11.01.2017, 01:06
Цитата Сообщение от kamaek777 Посмотреть сообщение
ну это проблему не решило,
Странно это всё. Я предположил, что может быть старые ошибки накопились. Полный код выложи и содержимое файла.
0
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 20
11.01.2017, 01:11  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Странно это всё. Я предположил, что может быть старые ошибки накопились. Полный код выложи и содержимое файла.
Кликните здесь для просмотра всего текста
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <iostream>
#include <conio.h>
#include <ctime>
#include <time.h>
#include <stdlib.h>
#include <fstream>
#include <windows.h>
 
using namespace std;
 
int main() {
    setlocale(LC_ALL, "rus");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    ifstream sos;
    int Level, ses = 0, i;
    const int buff = 100;
    char sus[100] = { 0 }, sis[100] = { 0 };
    system("color 2");
 
 
    cout << "\t\tВыберите пункт:\n";
    cout << "1 - Начальный уровень;\n";
    cout << "2 - Средний уровень;\n";
    cout << "3 - Тяжелый уровень;\n";
    cout << "4 - тренировка ввода цифр;\n";
    cout << "5 - справка;\n";
    cout << "6 - выход;\n";
    cout << "... ";
 
    cin >> Level;
 
    switch (Level) {
    case 1:{int ses = 0;
               sos.open("words.txt");
               sos.getline(sus, 100);
 
               cout << sus << "\n";
               unsigned int start_time = clock();
               cin.get();
               cin.getline(sis, 100);
               unsigned int end_time = clock();
               for (i = 0; i < 100; i++){
                   if (sus[i] != sis[i])
                   {
                       ses++;
                   }
               }
 
 
 
               cout << "у вас " << ses << " ошибок";
               unsigned int search_time = end_time - start_time;
               cout << "Скорость печати: " << search_time / CLOCKS_PER_SEC << "сек" << endl;
               break;
    }
    case 2:{int ses = 0;
               sos.open("words.txt");
               sos.getline(sus, 100);
               sos.getline(sus, 100);
               cout << sus << "\n";
               unsigned int start_time = clock();
               cin.get();
               cin.getline(sis, 100);
               unsigned int end_time = clock();
               for (i = 0; i < 100; i++){
                   if (sus[i] != sis[i])
                   {
                       ses++;
                   }
               }
               cout << "у вас " << ses << " ошибок";
               unsigned int search_time = end_time - start_time;
               cout << "Скорость печати: " << search_time / CLOCKS_PER_SEC << "сек" << endl;
               break;
    }
    case 3:{int ses = 0;
        sos.open("words.txt");
        sos.getline(sus, 100);
        sos.getline(sus, 100);
        sos.getline(sus, 100);
        cout << sus << "\n";
        unsigned int start_time = clock();
        cin.get();
        cin.getline(sis, 100);
        unsigned int end_time = clock();
        for (i = 0; i < 100; i++){
            if (sus[i] != sis[i])
            {
                ses++;
            }
        }
 
        cout << "у вас " << ses << " ошибок";
        unsigned int search_time = end_time - start_time;
        cout << "Скорость печати: " << search_time / CLOCKS_PER_SEC << "сек" << endl;
 
        break;
    }
    case 4:{int ses = 0;
               sos.open("words.txt");
               sos.getline(sus, 100);
               sos.getline(sus, 100);
               sos.getline(sus, 100);
               sos.getline(sus, 100);
               cout << sus << "\n";
               unsigned int start_time = clock();
               cin.get();
               cin.getline(sis, 100);
               unsigned int end_time = clock();
               for (i = 0; i <= 100; i++) {
                   if (sus[i] != sis[i])
                   {
                       ses++;
                   }
               }
 
               cout << "у вас " << ses << " ошибок";
               unsigned int search_time = end_time - start_time;
               cout << "Скорость печати: " << search_time / CLOCKS_PER_SEC << "сек" << endl;
 
               break;
    }
    case 5:{
               sos.open("spravka.txt");
               sos.getline(sus, 100);
               cout << sus << "\n";
    }
 
        break;
    case 6:{
               exit(1);
               break;
    }
    default:
        cout << "\n ОШИБКА! Неверный пункт!";
        exit(1);
    }
        
    
 
    cout << "\n нажмите любую кнопку для продолжения...";
    getch();
    system("cls");
 
 
    return 0;
}

words.txt
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
11.01.2017, 01:38
Цитата Сообщение от kamaek777 Посмотреть сообщение
i <= 100;
Исправь. Замени чтение ненужных строк на ignore, массивы, перед чтением нужной строки из файла и перед вводом с консоли, обнуляй.

Добавлено через 5 минут
И убери в файле побел в конце последней строки, его же не будет видно при выводе.
1
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 20
11.01.2017, 01:47  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Замени чтение ненужных строк на ignore
не совсем понимаю как это написать
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
11.01.2017, 01:49
Цитата Сообщение от kamaek777 Посмотреть сообщение
не совсем понимаю как это написать
Для каждой пропускаемой строки:
C++
1
sos.ignore(100, '\n');
0
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 20
11.01.2017, 01:56  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Исправь. Замени чтение ненужных строк на ignore, массивы, перед чтением нужной строки из файла и перед вводом с консоли, обнуляй.
спасибо,помогло
0
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 1
25.10.2019, 01:17
kamaek777, можешь кинуть готовый код с доработками ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.10.2019, 01:17

Клавиатурный тренажер - не прекращается выполнение цикла
Здравствуйте! Подскажите пожалуйста, вот часть кода main: void main() { srand((unsigned)time(0)); // Код клавиши Esc const...

Клавиатурный шпион или что-то в этом роде
Помогите написать программу, реагирующую на все нажатия клавиатуры в Windows и выполняющую какие-нибудь действия в зависимости от нажатой...

Пишу клавиатурный кликер в консоли. Хочу добавить автоклик
Как сделать так что бы можно было долбить по клаве и одновременно каждую секунду прибавлялись денюжки.

Посоветуйте тренажер по С++
Ищу тренажер по С++, чтобы на досуге можно было закрепить полученные навыки. Встречал по HTML - выдает какие-то конструкции, а ты...

Тренажер клавиатуры
Помогите, пожалуйста! как правильно реализовать такую задачу? Определить класс «Тренажёр клавиатуры», с закрытым элементом строкой s1...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru