2013-02-27 4 views
-2

Взгляните на скрипт. Он вычисляет telop и печатает ответ. Как видите, теперь можно вычислять плюс (+). Я никогда не делал никакого C-кодирования, и поэтому я не знаю, как вычислить умножение (X или *), минус (-) и деление (: или /).Простой калькулятор в C с использованием strncpy

Так что в основном я надеялся, если кто-нибудь скажет мне, как включить умножение, минус и деление.

#include <stdio.h> 
#include <stdlib.h> 

int total = 0; 
void telop(char*s) { 
char sum[1024]; 

if (s[0]==0) return; 
if (s[0]=='+') 

{ 
     strncpy(sum, &s[1],1); 
     total += atoi(sum); 
} 
    telop(&s[2]); 
} 

int main() 

{ 
    telop("+1+2+3"); 
    printf("%d", total); 
} 
+2

это не сценарий. это исходный код для скомпилированного языка. – speeder

+0

Это домашнее задание? Попробуйте самостоятельно разобраться и задать точный вопрос о трудностях, с которыми вы сталкиваетесь. – greydet

+0

СОВЕТ: Небольшой калькулятор намного проще запрограммировать, если он использует ввод польских обозначений. – QuentinUK

ответ

2

Если вы измените «+» в «-», то он рассчитывает, вы также можете использовать это с «/» или «*»

void telop (char*s){ 
    char som[1024]; 
    if(s[0]==0) return; 

    if(s[0]=='+') 
    { strncpy (som, &s[1],1); 
     total += atoi(som); } 
    if(s[0]=='-') 
    { strncpy (som, &s[1],1); 
     total -= atoi(som); } 
    if(s[0]=='/') 
    { strncpy (som, &s[1],1); 
     total /= atoi(som); } 
    if(s[0]=='*') 
    { strncpy (som, &s[1],1); 
     total *= atoi(som); } 



    telop(&s[2]); 
} 
Смежные вопросы