Программа должна получать от пользователя как прописные, так и строчные буквы, и каждой букве присваивается значение.
Пример. S равно 0, K равно 1 и E равно 2.
Формула общей стоимости: ((A*10)+(B))*10^C
A - первый вход B - 2-й вход C - 3-й вход.
Предполагается, что функция int lettervalue(char letter)
возвращает значение буквы. Я использовал конструкцию переключателя для присвоения буквенного значения.
Каждый раз, когда я компилирую, я получаю error: conflicting types for 'pow'
. Принимает ли функция pow переменные, и нужно ли что-то изменить в функции int lettervalue(char letter)
?
#include <stdio.h>
#include <math.h>
int pow(int x, int y);
int lettervalue(char letter)
{
int val;
switch (letter){
case 'S':
case 's':
val = 0;
break;
case 'K':
case 'k':
val = 1;
break;
case 'E':
case 'e':
val =2;
break;
}
return val;
}
int main(void)
{ int valueA, valueB, valueC, totalvalue;
char A, B, C;
printf("Please input the letter: ");
scanf("%c%c%c", &A, &B, &C);
valueA = lettervalue(A)*10;
valueB = lettervalue(B);
valueC = lettervalue(C);
totalvalue = (valueA+valueB)*pow(10, valueC);
printf("The total value is %d", totalvalue );
return 0;
}
#include <math.h>
илиint pow(int x, int y);
или оба? Вам следует удалить толькоint pow(int x, int y);
и оставить#include <math.h>
. - person chux - Reinstate Monica   schedule 06.01.2014int val = 0;
вlettervalue()
для работы со значениямиletter
, которые не являются SsKkEe. - person chux - Reinstate Monica   schedule 06.01.2014