Я очень новичок в кодировании и в настоящее время в начале курса CS50 по edx (поэтому я изучаю C на данный момент).Я пытаюсь попрактиковаться в написании программ на основе того, что я уже изучил (правда, не очень), и мне кажется, что я немного перерасходовал.
Я пытаюсь написать калькулятор подоходного налога.Я уже написал простой, который использует базовые операторы if_else в зависимости от суммы, введенной в начале программы.Сейчас я пытаюсь немного сложнее.Обычно при запуске программы пользователю предлагается указать, является ли тип дохода зарплатой или личным доходом.В зависимости от ответа он выбирает направление и использует соответствующие выражения if_else для скобок подоходного налога.Я получил его на работу, но не так, как планировал.
В настоящее время, если тип дохода - зарплата, пользователь вводит S. В противном случае пользователь вводит P и на основе этого ввода использует программуправильные скобки.Как я уже сказал, скобки различаются в зависимости от типа дохода.
Что меня интересует, так это то, как я могу кодировать свою программу, чтобы использовать строки (такие как «Зарплата» и «Частный») вместо использованиясимволы ('S' и 'P')?Я буквально потратил на это часы, но, учитывая мои текущие знания, я не уверен, что смогу найти решение самостоятельно.
#include <stdio.h>
#include <cs50.h>
int main(void)
{
char c = get_char("Income Type(S/P): ");
int x = get_int("Your Income: ");
int y;
if (c == 'S')
{
if (x <= 14800)
{
y = x * 0.15;
printf("Your Income Tax: %i\n", y);
}
else if ( x > 14800 && x <= 34000)
{
y = (14800 * 0.15) + (x - 14800) * 0.20;
printf("Your Income Tax: %i\n", y);
}
else if ( x > 34000 && x <= 120000)
{
y = (14800 * 0.15) + ((34000 - 14800) * 0.20) + (x - 34000) * 0.27;
printf("Your Income Tax: %i\n", y);
}
else
{
y = (14800 * 0.15) + ( (34000 - 14800) * 0.20) + ((120000 - 34000) * 0.27) + (x - 120000) * 0.35;
printf("Your Income Tax: %i\n", y);
}
}
else if (c == 'P')
{
if (x <= 14800)
{
y = x * 0.15;
printf("Your Income Tax: %i\n", y);
}
else if ( x > 14800 && x <= 34000)
{
y = (14800 * 0.15) + (x - 14800) * 0.20;
printf("Your Income Tax: %i\n", y);
}
else if ( x > 34000 && x <= 80000)
{
y = (14800 * 0.15) + ( (34000 - 14800) * 0.20) + (x - 34000) * 0.27;
printf("Your Income Tax: %i\n", y);
}
else
{
y = (14800 * 0.15) + ( (34000 - 14800) * 0.20) + ((80000 - 34000) * 0.27) + (x - 80000) * 0.35;
printf("Your Income Tax: %i\n", y);
}
}
}