Форум языка CPP

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум языка CPP » Код домашнего задания » Программа калькулятор(написана до изучения switch)


Программа калькулятор(написана до изучения switch)

Сообщений 1 страница 2 из 2

1

Код:
float fVar1, fVar2, fRes;
	char chOpr=' ', chExit='d';
    
	std::cout<<"Программа калькулятор. Внимание!!!"<<std::endl;
	std::cout<<"Защиты от ввода символ нету. Ввод производить:"<<std::endl;
	std::cout<<"Переменная Операция Переменная, Enter равно."<<std::endl;
	std::cout<<"Результат сохраняется до обнуления, символ ";
	std::cout<<"'d' при выходе,\nвместо любого символа для продолжения или ";
	std::cout<<"'q' для выхода."<<std::endl;
	
	for(;((chExit!='q')&&(chExit!='Q'));) //Проверка выхода из цыкла
	{

    if((chExit=='d')||(chExit=='D')) // Проверка нужноли обнулять результат,
    {
    	std::cout<<"Введите данные для обработки согласно установленному шаблону"<<std::endl;
    	std::cin>>fVar1>>chOpr>>fVar2; // Полный ввод данных для обработки
    	
    	if( ((chOpr!='+') && (chOpr!='-')) && ((chOpr!='/') && (chOpr!='*')) ) // Проверка знака операции
    	{
        std::cout<<"Нет такой операции"<<std::endl;
        std::cout<<"Повторите ввод операции"<<std::endl;
        for(;(((chOpr!='+') && (chOpr!='-')) && ((chOpr!='/') && (chOpr!='*')));)
        {
        	std::cin>>chOpr;
        }
    	}
            
    	if((fVar2<=0)&&(chOpr=='/')) // Проверка деления на 0
    	{
        for(;fVar2<=0;)
        {
        	std::cout<<"Делить на \"0\" или отрицательное число нельзя!! Введите значение больше \"0\""<<std::endl;
        	std::cin>>fVar2;
        }
    	}
    }

    if( ((chOpr=='+')||(chOpr=='-')) || ((chOpr=='/')||(chOpr=='*')) ) // Проверка перед обработкой данных
    {
    	if(chOpr=='+')
    	{
        fRes=fVar1+fVar2;
    	}
    	
    	if(chOpr=='-')
    	{
        fRes=fVar1-fVar2;
    	}
    	
    	if(chOpr=='/')
    	{
        
        fRes=fVar1/fVar2;
    	}
    	
    	if(chOpr=='*')
    	{
        fRes=fVar1*fVar2;
    	}

    	std::cout<<fVar1<<chOpr<<fVar2<<'='<<fRes<<std::endl; // Вывод данных после обработки
    	fVar1 = fRes; //Присвоение для обработки результата
    	
    	std::cout<<"Для обнуления результат введите символ \"d\" или \"D\""<<std::endl; //Выбор, продолжать или нет
    	std::cout<<"Для выхода введите \"Q\" или любой другой символ для продолжения"<<std::endl;
    	std::cin>>chExit;
    	system("cls");
        	
    	if( ((chExit!='q') && (chExit!='Q')) && ((chExit!='d') && (chExit!='D')) ) // Проверка выбора пользователя
    	{
        std::cout<<fVar1; // Обработка полученного результата
        std::cin>>chOpr>>fVar2;

        if( ((chOpr!='+') && (chOpr!='-')) && ((chOpr!='/') && (chOpr!='*')) ) // Проверка знака операции
        {
        	std::cout<<"Нет такой операции"<<std::endl;
        	std::cout<<"Повторите ввод операции"<<std::endl;
        	for(;(((chOpr!='+') && (chOpr!='-')) && ((chOpr!='/') && (chOpr!='*')));)
        	{
            std::cin>>chOpr;
        	}
        }        
        
        if((fVar2<=0)&&(chOpr=='/')) // Проверка деления на 0
        {
        	for(;fVar2<=0;)
        	{
            std::cout<<"Делить на \"0\" или отрицательное число нельзя!! Введите значение больше \"0\""<<std::endl;
            std::cin>>fVar2;
        	}
        }
    	}

    	system("cls");
    	
    }
            
	}

0

2


Вы здесь » Форум языка CPP » Код домашнего задания » Программа калькулятор(написана до изучения switch)