Рекомендация: прочитайте задачу! Выполните ее и сравните полученный результат с картинкой CMD
Если вы полностью уверены что не можете осилить эту задачу, советую вам просмотреть код и полностью в нем разобраться! Протестировать все в отладчике!
Цифровой счетчик, это переменная с ограниченным диапазоном . Значение которой сбрасывается, когда ее целочисленное значение достигает определенного максимума (например, k принимает значения в диапазоне от 0 . .100) . В качестве примера такого счетчика можно привести цифровые часы, счетчик километража . Опишите класс такого счетчика . Обеспечьте возможность установления максимального и минимального значений, увеличения счетчика на 1, возвращения текущего значения .
#include <iostream>
#include <string>
#include <Windows.h>
#include <conio.h> // keyboard
using namespace std;
#define STOP_CMD system("pause >> void"); // system commands
#define CLS_CMD system("cls");
#define COLOR_CMD system("color 0A");
class Counter {
public:
Counter() { // CONSTRUCT
START = 0;
END = 0;
check = 0;
}
void Set_END() { // SET END
while (END == 0) {
cout << "Enter end counter value: [MAX 100]" << endl;
getline(cin, I_User_End);
END = Check_User_Input(I_User_End);
if (END == 0) {
STOP_CMD
CLS_CMD
}
}
}
int Get_End() {
return END;
}
void Set_Start() { // SET START
while (START == 0) {
cout << "Enter start counter value: [MIN 0]" << endl;
getline(cin, I_User_Start);
START = Check_User_Input(I_User_Start);
if (START == 0) {
STOP_CMD
CLS_CMD
}
}
}
int Get_Start() {
return START;
}
void Display_Counter() { // DISPLAY
if (START == END) {
cout << "Enter Any key" << endl;
STOP_CMD
}
for (int i = START; i <= END; i++) {
cout << "STOP ESC ==>> " << i << endl;
Sleep(100); // speed counter
if (_kbhit())
{
int c = _getch();
if (c == 0x1B) {
cout << "START any key ==>>" << endl;
STOP_CMD
}
}
if (i == END)
cout << "Enter Any key" << endl;
}
}
private:
int START,END; // START END Variables
long long int check;
string I_User_Start, I_User_End;
int Check_User_Input(string s) { // Check method user input
if (s == "") { // if str empty
return 0;
}
if (s.find_first_not_of("0123456789") == string::npos) { //if str have number
check = stoi(s);
}
else
return 0;
if (check <= 100 && check >= 1)
return check;
else {
cout << "error input" << endl;
return 0;
}
}
};
int main() {
COLOR_CMD
for (;;) {
cout << "HELLO I COUNTER PLEASE ANY KEY START!" << endl;
STOP_CMD
CLS_CMD
//-------------------------------------------------------
Counter count;
count.Set_Start();
count.Set_END();
count.Display_Counter();
//-------------------------------------------------------
STOP_CMD
CLS_CMD
}
STOP_CMD
CLS_CMD
return 0;
}
Написать класс, описывающий группу студентов . Студент также реализуется с помощью соответствующего класса .
//H.h
#pragma once
#include <iostream>
#include <string>
using namespace std;
#define STOP_CMD system("pause >> void");
#define CLS_CMD system("cls");
#define COLOR_CMD system("color 0A");
#define ENTER_INPUT cout << endl;
//MAIN
#include "H.h"
class Student
{
public:
Student(string n, string s, string g, int a) { //CONSTRUCT
name = n;
surname = s;
group = g;
age = a;
}
Student() {}
void Set_Name(string n) { // name
name = n;
}
string Get_Name() {
return name;
}
void Set_Surname(string s) { // surname
surname = s;
}
string Get_Surname() {
return surname;
}
void Set_Group(string g) { // group
group = g;
}
string Get_Group() {
return group;
}
void Set_Age(int a) { // Age
age = a;
}
int Get_Age() {
return age;
}
void Display_Message() {
cout << "Name = " << name << "\n";
cout << "Surname = " << surname << "\n";
cout << "Group = " << group << "\n";
cout << "Age = " << age << "\n";
}
private:
string name, surname, group;
int age;
};
int main() {
COLOR_CMD
//---------------------------------------------------
Student ob;
ob.Get_Name();
ob.Get_Surname();
ob.Get_Group();
ob.Get_Age();
ob.Display_Message();
ENTER_INPUT
//---------------------------------------------------
Student ob1("Igor", "Dombrovsky", "32PPS11", 29);
ob1.Display_Message();
ENTER_INPUT
//---------------------------------------------------
Student ob2;
ob2.Set_Name("Reroriko");
ob2.Set_Surname("Reroritovich");
ob2.Set_Group("32PPS15");
ob2.Set_Age(65);
ob2.Display_Message();
ENTER_INPUT
//---------------------------------------------------
cout << "Please enter ANY KEY:" << endl;
STOP_CMD
return 0;
}