现在我正在通过阅读 Stephen Kockan 的“Programming in C, 3rd edition”一书来学习用 c 编程。书里的练习6-4真是让我头疼。书中说:
Write a program that acts as a simple "printing" calculator.
The program should allow the user to type in expressions of the form
数字运算符
程序应识别以下操作员:
'+' '-' '*' '/' 'S' 'E'
S 运算符告诉程序将“累加器”设置为输入的数字。E 操作符告诉程序执行结束。对累加器的内容执行算术运算,键入的数字作为第二个操作数。
这是一个链接,我也是如何弄清楚的。
不幸的是,它在 Objective-C 中(但仍然是相同的练习!),而且我不理解 Objective-C 语法。
更新
这是我到目前为止所做的:
// "Printing" Calculator
#include <stdio.h>
int main(void)
{
char operator;
float value, result, accumulator;
printf("Begin Calculations...\n\n");
operator = '0';
while ( operator != 'E')
{
scanf("%f %c", &value, &operator);
switch(operator)
{
case 'S':
accumulator = value;
printf("The accumulator = %f", accumulator);
break;
case '+':
result = accumulator + value;
printf("%f + %f = %f", accumulator, value, result);
break;
case '-':
break;
case '*':
break;
case '/':
break;
default:
printf("Unknown operator");
break;
}
}
printf("Calculations terminated");
return 0;
}
我不知道如何使用该scanf()
函数,并读取操作的值和累加器的值。因为这两件事可能不一样。