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

Защита от ввода букв - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ найти в промежутке от a до b число, с максимальной суммой делителей. pascal http://www.cyberforum.ru/cpp-beginners/thread575360.html
Необходимо найти в промежутке от a до b число, с максимальной суммой делителей.
C++ найти значение функции f(x,y)... помогите плиз решить задачку!!!! только самым простым способом,даже не через массивы или еще что то!!! просто через простые условия. заранее благодарю))) я написала программу но у меня почему то ошибки(( #include <iostream> #include <math.h> using namespace std; int main(void) { double x,y,f; cout<<"\nVvedite koordinaty x, y: \n"; cin>>x>>y; http://www.cyberforum.ru/cpp-beginners/thread575356.html
C++ Дана матрица размера M × N (N — четное число)
Дана матрица размера M × N (N — четное число). Поменять местами левую и правую половины матрицы. Добавлено через 5 часов 2 минуты ответь плз
Описать тип TDate C++
Описать тип TDate — запись с полями целого типа Day (день), Month (месяц) и Year (год) и описать функцию DaysInMonth(D) целого типа с параметром типа TDate, которая возвращает количество дней для месяца, указанного в дате D. Вывести значение функции DaysInMonth для пяти данных дат (предполагается, что все даты являются правильными). Добавлено через 5 часов 3 минуты ответьте плз
C++ найти в промежутке от a до b число, с максимальной суммой делителей http://www.cyberforum.ru/cpp-beginners/thread575350.html
Необходимо найти в промежутке от a до b число, с максимальной суммой делителей. В pascal.
C++ Составьте структуру, проинициализируйте переменную типа структуры и выведите на экран полное значение такой переменной. Составьте структуру, проинициализируйте переменную типа структуры и выведите на экран полное значение такой переменной. -структура месяца(название, количество дней) Добавлено через 5 часов 4 минуты ответьте плз подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
10.01.2013, 11:19
SuperMario, не хочу критиковать твой код(мне просто не хочется вносить острую критику в ответ), я показываю как делать твоё задание на плюсах.
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
#include <iostream>
using namespace std;
 
//Îáúÿâëÿåì ГґГіГ*êöèþ ГёГ*áëîГ*
//ÔóГ*êöèÿ ГўГҐГ°Г*ВёГІ ÈÑÒÈÍÀ åñëè ГЇГ*Г°Г*ìåòð val áûë âåäåГ* êîððåêòГ*Г®
//Гў ïðîòèâГ*îì ñëó÷Г*ГҐ âîçâðГ*ГІ îò ГґГіГ*êöèè ËÎÆÜ
template <class T>
bool SafeInput
(
    const char * msg,//ñîîáùåГ*ГЁГҐ êîòîðîå áóäåò ñîïóòñòâîâГ*ГІГј ââîäó
    T &val
);
//ГЋГЎГ°Г*áîò÷èêè ГЇГіГ*êòîâ ìåГ*Гѕ
void p1();
void p2();
 
int main()
{
    int iChoise    = 0;//ÏåðåìåГ*Г*Г*Гї îòâå÷Г*ГѕГ№Г*Гї Г§Г* ââîä ïîëüçîâГ*òåëÿ
    bool bContinue = true;//Г”Г*ëã ïðîäîëæåГ*ГЁГї Г°Г*áîòû
    while(bContinue)
    {
        cout<<"1 - Mult 3 digits"<<endl;
        cout<<"2 - Add  3 digits"<<endl;
        cout<<"0 - Exit"<<endl;
        if(!SafeInput("Your choise : ",iChoise))
            cout<<"Incorrect input"<<endl;
        else
        switch(iChoise)
        {
        case 1:
            p1();
            break;
        case 2:
            p2();
            break;
        case 0:
            bContinue = false;
            break;
        default:
            cout<<"Unsupported key pressed"<<endl;
            break;
        }
    }
    return 0;
}
 
template <class T>
bool SafeInput
(
    const char * msg,//ñîîáùåГ*ГЁГҐ êîòîðîå áóäåò ñîïóòñòâîâГ*ГІГј ââîäó
    T &val
)
{
    bool bOk = true;//ÔëГ*ГЈ ГіГ±ГЇГҐГёГ*îãî ââîäГ*
    cout<<msg;//Âûâîä Г*Г* ГЅГЄГ°Г*Г* ñîïóòñòâóþùåãî ñîîáùåГ*ГЁГї
    //ÏðîâåðêГ* Г*Г* êîððåêòГ*ûé ââîä äîëæГ*Г* ñîäåðæГ*ГІГј Г*ГҐ òîëüêî if(!(cin>>val) )
    //Г*Г® ГЁ ïðîâåðêó Г*Г* ГІГ® Г·ГІГ® ñòðîêГ* áîëåå Г*ГҐ ñîäåðæèò ñèìâîëîâ ГІ.ГҐ cin.get() != '\n'
    if(!(cin>>val) || cin.get() != '\n')
        bOk = false;
    if(!bOk)
    {
        cin.clear();//Ñáðîñ ГґГ«Г*ãîâ îøèáîê
        cin.sync();//ГЋГ·ГЁГ±ГІГЄГ* ГЎГіГґГҐГ°Г* ââîäГ*
    }
    return bOk;
}
 
void p1()
{
    double p1, p2, p3;
    cout<<"\tMult 3 digits"<<endl;
    if(!SafeInput("Enter 1-st parameter : ",p1))
        cout<<"Incorrect input"<<endl;
    else
    if(!SafeInput("Enter 2-nd parameter : ",p2))
        cout<<"Incorrect input"<<endl;
    else
    if(!SafeInput("Enter 3-rd parameter : ",p3))
        cout<<"Incorrect input"<<endl;
    else
        cout<<p1<<" * "<<p2<<" * "<<p3<<" = "<<p1 * p2 * p3<<endl;
}
 
void p2()
{
    double p1, p2, p3;
    cout<<"\tAdd 3 digits"<<endl;
    if(!SafeInput("Enter 1-st parameter : ",p1))
        cout<<"Incorrect input"<<endl;
    else
    if(!SafeInput("Enter 2-nd parameter : ",p2))
        cout<<"Incorrect input"<<endl;
    else
    if(!SafeInput("Enter 3-rd parameter : ",p3))
        cout<<"Incorrect input"<<endl;
    else
        cout<<p1<<" + "<<p2<<" + "<<p3<<" = "<<p1 + p2 + p3<<endl;
}
Отдельно об этом
Цитата Сообщение от SuperMario Посмотреть сообщение
if((!(scanf)("%1023[^\n]%c",inpStr,&bufStub)) || bufStub != '\n')
* * * * {
* * * * * * cout << "Вы ввели несуществующий пункт меню. "<<endl;
- да простят меня читатели, но я бы бил линейкой по рукам программистов пишущих одновременно на сурогате Си и С++! Си и С++ это два разных языка(хотя и близких) - писать на их смеси - очень плохой тон программирования (хотя да так можно).
Миниатюры
Защита от ввода букв  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru