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

Калькулятор на Си. Как реализовать триногометрические ф-ции и функцию логарифм? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как считать матрицу 3*3 из файла если он там задан неправильно http://www.cyberforum.ru/cpp-beginners/thread697881.html
как считать матрицу 3*3 из файла если он там задан неправильно например в файле 4 5 6 7 8 1 2 3 4 9 8 7 а должно считать 4 5 6 1 2 3 9 8 7
C++ 2 задачи по строкам 1)Дан текст.Первое по порядку самое короткое слово текста заменить первым по порядку самым длинным словом, если их длинны не совпадают. 2)Дан текст.Удалить все слова, которые начинаются на одну и ту же букву. сделать при помощи функций обработки строк и без данных функций(то есть работать только с массивом, не применяя функции обработки строк) заранее спасибо, друзья... http://www.cyberforum.ru/cpp-beginners/thread697877.html
C++ Массивы. Статические и динамические
Объясните, пожалуйста, что такое статические массивы и что такое динамические? Чем отличаются? Как их создавать? Какой лучше?
C++ При компиляции программы в dev C++ выдает ошибки
http://files.mail.ru/0JL3TJ
C++ Английские слова: перевод из единственного числа во множественное http://www.cyberforum.ru/cpp-beginners/thread697865.html
В программе в комментарии, то что не могу сделать. Описание: В файле in.txt находятся слова на английском языке в единственном числе (через запятую, табуляции и переносы строк игнорируются). Пробелы внутри "слов" (т.е. пробелы без запятых) не считаются разделителями (т.е. "black fox" считается одним словом и обрабатывается соответственно), пробелы в начале и в конце слов выкидываются. В...
C++ Перевод из консольного вида в обычный задачка: Дан текстовый файл..считать из него ( это я знаю как), потом изменить в нем строку(вводиться пользователем какую заменить и на что) и сохранить. #include <stdio.h> #include <string.h> /* stf - что ищем; rtf - на что меняем; fpath - путь к файлу; str - стока текста*/ int main () { char file_path = { 0 }, stf = { 0 }, rtf = { 0 }, str = { 0 }; FILE* file = NULL; подробнее

Показать сообщение отдельно
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
15.11.2012, 00:33     Калькулятор на Си. Как реализовать триногометрические ф-ции и функцию логарифм?
Написал код в котором надо вводить каждый елемент(первое число, знак операции, второе число, знак операции, 3... знак "=") по отдельности. + - * / работают, а вот sin... не работают. Во первых как сделать чтоб в програма могла проверить есть ли знаком операции не только символ но и строку? во вторых, если я введу sin то функция бралась от следущей введеной строки?
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main ()
{
    float g, res=0;
    bool EXIT = false;
    char str[100],op='\0',history[255];
    history[0]='\0';
    while (EXIT == false)
    {
        cout << "Input string: ";
        cin >> str;
        strcat(history,str);
        if (str[0] == '=') EXIT = true;
        g = atoi(str);
        if (g==0) op = str[0];
        else
        {  
            if  (op!='\0')
            {
                if (op == '+') res+=g;
                if (op == '-') res-=g;
                if (op == '*') res*=g;
                if (op == '/') res/=g;
                if (op == "sin") res=sin(g);
                if (op == "cos") res=cos(g);
                if (op == "tan") res=tan(g);
                if (op == "cot") res=cot(g);
                if (op == "log") res=log(g);
                op = '\0';
            }
            else res = g;
        }
    }
    cout << history << res; 
    getch();
    return 0;
}
Добавлено через 16 минут
и как правильно вызвать функцию котангенса?

Добавлено через 10 минут
сделал проверку операции через strcmp, но что дальше делать не знаю.
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#define c cos; 
using namespace std;
int main ()
{
    float g, res=0;
    bool EXIT = false;
    char str[100],op='\0',history[255];
    history[0]='\0';
    while (EXIT == false)
    {
        cout << "Input string: ";
        cin >> str;
        strcat(history,str);
        if (str[0] == '=') EXIT = true;
        g = atoi(str);
        if (g==0) op = str[0];
        else
        {  
            if  (op!='\0')
            {
                if (op == '+') res+=g;
                if (op == '-') res-=g;
                if (op == '*') res*=g;
                if (op == '/') res/=g;
                if (strcmp(&op, "sin")==0) res=sin(g);
                if (strcmp(&op, "cos")==0) res=cos(g);
                if (strcmp(&op, "tg")==0) res=tan(g);
                if (strcmp(&op, "log")==0) res=log(g);
                op = '\0';
            }
            else res = g;
        }
    }
    cout << history << res; 
    getch();
    return 0;
}

Добавлено через 50 минут
ну, кто нибуть, кто знает как ето сделать??

Добавлено через 1 час 50 минут
АААУУУ, та помогите кто нибуть с етим калькулятором, пожалуста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru