• 100% Satisfaction Guarantee
Raj, Engineer
Category: Homework
Satisfied Customers: 1290
Experience:  4 + Experiance in IT Industry
16752232
Raj is online now

# Following is the code I must debug. Ive been looking at it.

Following is the code I must debug. I've been looking at it. For instance, I know prinf should be printf throughout.

Line 5 and 6 are not needed - I think

Line 11 - should be & before data

Basically, I have to go through each line and list what's wrong and how I would correct.

Program to Debug
1 #include "stdio.c"
2 #include "stdlib.c"
3
4 int main(){
5 int mystery = 5;
6 int tmp = 0;
7 double data = 0.0;
8
9 do{
10 prinf("Enter a floating point value: ");
11 scanf("%d", &data);
12
13 tmp = (int)data;
14 if( tmp % 2)
15 prinf("The int part of %d", data);
16 prinf(" is an even number\n");
17 else
18 prinf("The int part of %d", data);
19 prinf(" is an odd number\n");
20
21 prinf("Enter 1.0 to enter another value:");
22 scanf("%d", data);
23 }while( data = 1.0 );
24 }
25
Hi there,

I will be helping you with the requirement.
How much time is left for the deadline?

Thank you
Customer: replied 3 years ago.

Sorry. I was working on something else. I have 3 more hours.

Its ok I Understand.

Here is the solution parts in Words followed by the Modified code:

Solution Words:
1. Line 5 is not Required so it can be Deleted.
2. Line 9 will be shifted to Line 12 i.e. DO Stetement should be on Line 12
3. Line 14 If Stetement should be modified to : 14 if( tmp % 2 == 0)
4. There Should be an Opening Braces ({) in between Line 14 and Line 15
5. There Should be an Closing Braces (}) in between Line 16 and Line 17
6. There Should be an Opening Braces ({) in between Line 17 and Line 18
7. There Should be an Closing Braces (}) on Line 20
8. Line 22 Scanf Statement should be modified to : scanf("%d", &data);
9. While Stetement in Line 23 should be modified to : }while( data != 1.0 );

Solution Code will look like the following(Modified Lines are marked in BOLD):
1 #include "stdio.c"
2 #include "stdlib.c"
3
4 int main(){
5
6 int tmp = 0;
7 double data = 0.0;
8
9
10 prinf("Enter a floating point value: ");
11 scanf("%d", &data);
12 do{
13 tmp = (int)data;
14 if( tmp % 2 == 0)
14.5 {
15 prinf("The int part of %d", data);
16 prinf(" is an even number\n");
16.5 }
17 else
17.5 {
18 prinf("The int part of %d", data);
19 prinf(" is an odd number\n");
20 }
21 prinf("Enter 1.0 to enter another value:");
22 scanf("%d", &data);
23 }while( data != 1.0 );

24 }
25
-----------------------------------------------------------------------------------------------------------

If you face any difficulty than feel free to ask for help.

If the solution file is satisfactory than Please don't forget to RATE the Answer.
It will hardly take few seconds to RATE my Answer

Thank You and Have a Good Day.
Customer: replied 3 years ago.

Let me plug solution code into Codeblocks and run it. I will be right back to you.

No Problem Also forgot one thing.

Move Line 24 closing braces (}) to Line 25 and Place the following in Line 24:
return 0;

So Last two lines will be modified as :

24 return 0;
25 }
Customer: replied 3 years ago.

Thanks. When I enter an even number, When I enter an odd number, I do not get the statement for an odd number. When I enter an even number, I get the correct statement, but its just running across the screen.

Ok Give me a second.

Which compiler are you using for C Coding?
Customer: replied 3 years ago.

Code::Blocks 10.05

Ok Here is the Modified code in C Which gives perfect output:

#include"stdio.h"
#include"stdlib.h"

int main()
{
int tmp = 0;
double data = 0.0;
do
{
printf("Enter a floating point value: ");
scanf("%lf", &data);
tmp = (int)data;
if( tmp % 2 == 0)
{
printf("The int part of %lf", data);
printf(" is an even number\n");
}
else
{
printf("The int part of %lf", data);
printf(" is an odd number\n");
}
printf("Enter 1.0 to enter another value:");
scanf("%lf", &data);
}while( data == 1.0 );
return 0;
}
Customer: replied 3 years ago.

may i enter a file (screen print)?

Customer: replied 3 years ago.

OK. I got it! It works. Thanks.