C/c++ Калькулятор Visual Studio

Тема в разделе "C/C++/C#", создана пользователем Vanua2, 3 янв 2012.

Статус темы:
Закрыта.
  1. Vanua2

    Vanua2 Гость

    #include <iostream>
    #include <stdlib.h>
    #include <string>
    #include <math.h>
    #define EMPTY 'e'
    #define ERROR 'r'
    #define END 'x'
    double result=0,diget,t;
    using namespace std;
    void main(){
    setlocale(LC_ALL,"Ukrainian");
    char string[255],history[255];
    char oper=EMPTY;
    history[0]='\0';
    cout<<"Введіть числа і знак(+,-,*,/,%,^).\n";
    while (1) {cin>>(string);
    strcat(history,string);
    diget=atof(string);
    if (diget==0){
    if(strlen(string)==1)
    oper=string[0];
    else if(strcmp(string,"cos")==0)
    result=cos(result);
    else if(strcmp(string,"sin")==0)
    result=sin(result);
    else if(strcmp(string,"tg")==0)
    result=tan(result);
    else if(strcmp(string,"ctg")==0)
    result=1/tan(result);
    else if(strcmp(string,"e")==0)
    result=exp(result);
    else{cout<<"Wrong function\n";
    history[strlen(history)-strlen(string)]='\0';
    }
    if (oper=='='){
    cout<<history<<result<<endl;
    history[0]='\0';
    oper=EMPTY;}
    if(oper==END) exit(1);}
    else if(oper==EMPTY) result=diget;
    else { switch(oper){
    case '+': result=result+diget; oper=EMPTY;break;
    case '-': result=result-diget; oper=EMPTY;break;
    case '*': result=result*diget; oper=EMPTY;break;
    case '/': if(diget==0)cout<<"На нуль ділити не можна";
    else{result=result+diget; oper=EMPTY;break;
    case '%': result=(int)result % (int)diget; oper=EMPTY;break;
    case '^': result=pow(result,diget); oper=EMPTY;break;
    case 'x': exit(1);
    case '=': break;
    default: t=ERROR; history[strlen(history)-strlen(string)-1]='\0';oper=EMPTY;}
    if (t==ERROR)
    cout<<"Неправильний знак\n";}
    }}}
     

    Вложения:

Загрузка...
Похожие Темы - c++ Калькулятор Visual
  1. DreamForse
    Ответов:
    0
    Просмотров:
    2.212
  2. Nadia_IT
    Ответов:
    0
    Просмотров:
    16
  3. kmm96
    Ответов:
    1
    Просмотров:
    21
  4. TriXel_01
    Ответов:
    5
    Просмотров:
    97
  5. acs-nexus
    Ответов:
    0
    Просмотров:
    87
Статус темы:
Закрыта.

Поделиться этой страницей