Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2012, 14:31   #1
vanua2
 
Регистрация: 14.12.2011
Сообщений: 3
Сообщение C/C++ калькулятор среда visual studio

//ето чтото похожее на калькулятор.Нужно найти ошибки и сказать
//почему он не пашет
#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";}
}}}
Изображения
Тип файла: png 2012-01-03_211007.png (3.2 Кб, 113 просмотров)

Последний раз редактировалось vanua2; 03.01.2012 в 23:11.
vanua2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Среда разработки Visual C (альтернатива Visual Studio) plyeh Visual C++ 5 25.06.2010 16:27
Visual Studio Standard 2008 против Visual Studio Express 2008. Стоит ли покупать? Casper-SC Софт 4 31.12.2009 11:46
VISUAL STUDIO 2008 defaul language - как переключить в VISUAL STUDIO 2008 язык программирования, использ Эйнж Общие вопросы C/C++ 0 27.12.2009 20:39
как среда или калькулятор вычесляет синус? Iceman Софт 13 06.05.2009 18:47
среда Visual studio 2008 и vs 6 Roman Visual C++ 2 09.10.2008 10:17