I need help!!!

+2 Jagan Dwarampudi · January 9, 2015
It's my 'C' code to find Simple and Compound Interest but it says ERROR. Please help me Boston. This is my code and it's not full.

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

int main()
    int SI, CI, principal, amount, time, rate;
    char decision;

    printf("Calculate Your Simple or Compound Interest !!! \n\n");

    printf("\nWhat is the Principal Amount? \n");
    scanf(" %d", &principal);

    printf("\nWhat is the Time Period? <Answer in years> \n");
    scanf(" %d", &time);

    printf("\nWhat is the Rate of interest? \n");
    scanf(" %d", &rate);

    printf("\nWhich type of intrest? <simple/compound> \n");
    scanf(" %s", decision);

    if( decision == simple ) {
        SI = (principal * time * rate) / 100;
        amount = SI + principal;

        printf("\n Your SI is = Rs.%d \n", SI);
        printf("\n Your total Amount is = Rs.%d \n", amount);


    return 0;

Post a Reply


- page 2
Oldest  Newest  Rating
0 c student · January 26, 2015
i'm assuming that's k&r's book.  what errors are you getting?
0 Marek Ďurkovič · January 25, 2015
Hello guys, I just wanted a little help; I bought a book "C Programming language" and codes there dont work in Code::Blocks...It always finds some error and I don't know how to deal with that...Is it problem when it is ANSI C99? I don't know what to do, because I'm newbie, I searched Google a lot but I didn't find my answer. If you know what is wrong, I would appriciate help :-) Thank you.
0 c student · January 9, 2015
you have quite a few errors which need to be fixed...
your floating point numbers are declared as integers, meaning they will round to the nearest integer.  any variable which may contain a floating point number has to be declared as float or double.  their respective conversion should be %f for float, or %lf for double.
double SI, amount, rate;

your string variable decision is of type char (one character).  it can be fixed by making it an array and then scanning it in:
char decision[10];   // 10 must include the null terminator as well as the string

fgets (decision, 9, stdin);   // scanning it in with max 9 characters to prevent buffer overflows

when you compare strings, you cannot compare them directly as you have attempted.  try using strcmp() located in the string.h header file:
if (strcmp (decision, "simple") == 0) { /* your code here */ }
  • 1
  • 2



One of the most popular languages of all time.

Bucky Roberts Administrator