Still gives me wrong result (always 96) and yes, i had to write an own power, cuz cannot use math.h:
Code:
#include <stdio.h>
int hatvany(int alap, int exp)
{
int res = 1;
for (;;)
{
if (exp & 1)
res *= alap;
exp >>= 1;
if (!exp)
break;
alap *= alap;
}
return res;
}
int main(void) {
char op;
int num1, num2, kitevo;
int res;
int i;
FILE* fp = fopen ("be.txt", "r");
FILE* outfile = fopen("ki.txt", "w");
fprintf(outfile, "%d\n", res);
while (fscanf(fp, "%c%d%d%d\n", &op, &num1, &num2, &kitevo) == 4) {
switch (op) {
case '+' :
for (int i = num1; i <= num2; i++);
{
res += hatvany(i, kitevo);
}
break;
case '*' :
for (int i = num1; i <= num2; i++);
{
res *= hatvany(i, kitevo);
}
break;
}
}
return 0;
}