## c0c0pIe 3 years ago 6. Suppose a company decides to raise the salaries of its employees according to the following table: employee_status years_of_service percent_raise Full-time Less than 5 years 4.0 Full-time 5 years or more 5.0 Part-time Less than 5 years 2.5 Part-time 5 years or more 3.0 If employee_status value is ‘F’, the employee is Full-time; if it is ‘P’, he or she is a part-timer. Write this program that computes the new salary of an employee given his or her employee_status, year_of_service and salary by the users. Input validation: Do not accept a negative value for the number of years_of_service,

1. c0c0pIe

help me to with this programming..its about selection =D

2. shankvee\

Do you know how to use if else and all?

3. c0c0pIe

yeah..i know...i hve do it..but cant get the answer =( #include<stdio.h> int main () { int year; char status; float salary, new_salary; printf ("Please type F (Full-Time) or P (Part-timer): "); scanf ("%c", &status); printf ("\nEnter your year of service: "); scanf ("%d",&year); printf ("\nPlease enter our current salary: RM"); scanf ("%.2f",&salary); if (status =='F'&& year<5){ new_salary = 4.0 / 100 * salary + salary; } else if (status =='F'&& year>=5){ new_salary = 5.0 / 100 * salary + salary; } else if (status =='P'&& year<5) {new_salary = 2.5 / 100 * salary + salary; } else if (status ='P'&& year>=5) {new_salary = 3.0 / 100 * salary + salary; } printf ("Your new salary is : %.2f", new_salary); return 0; }

4. shankvee\

Ah i see your problem make that 5/100as 0.05 and 4/100 as 0.04 and so on.

5. shankvee\

This is because if the computer divides 5/100 it gives 0 as both numerator and denominator are integer type. If you make it 0.05 which is a float type it upgrades all other variables to the float type...

6. c0c0pIe

i have change it to 0.03 *salary + salary, but still i cant get the answer =(

7. shankvee\

hmm i can't see any other problem with the code... maybe there's something in c i don't know c i know only c++

8. c0c0pIe

hurm...do c++ have large difference with c??

9. Vibhor16

no but it is more easy to learn C++.I am learning C and whenever I get a problem I write the program in C++ and then convert the syntax into C.

10. Vibhor16

I'll just try. But by the way what selection are you talking about?

11. Vibhor16

/******************************************************************************* Suppose a company decides to raise the salaries of its employees according to the following table: employee_status years_of_service percent_raise Full-time Less than 5 years 4.0 Full-time 5 years or more 5.0 Part-time Less than 5 years 2.5 Part-time 5 years or more 3.0 If employee_status value is ‘F’, the employee is Full-time; if it is ‘P’, he or she is a part-timer. Write this program that computes the new salary of an employee given his or her employee_status, year_of_service and salary by the users. Input validation: Do not accept a negative value for the number of years_of_service, *************************************************************************/ #include<stdio.h> #include<conio.h> /*For better view*/ #include<stdlib.h> /*For exit function*/ int main() { char time=0; int yrs=0; float sal=0,nsal=0; printf("Welcome,do tou work full time(f) or part time(p): "); scanf("%ch",&time); printf("For how many years have you been working here?: "); scanf("%d",&yrs); printf("What you they pay you?(per month): RM"); scanf("%f",&sal); /*Nested if for new salary*/ if(time=='f'&&yrs>5) { nsal=sal*0.05; nsal+=sal; } else if(time=='f'&&yrs<=5) { nsal=sal*0.04; nsal+=sal; } else if(time=='p'&&yrs>5) { nsal=sal*0.03; nsal+=sal; } else if(time=='p'&&yrs<=5) { nsal=sal*0.025; nsal+=sal; } else { printf("Something went wrong!!!Please check your output."); /*If input is no a number*/ exit(0); } printf("Your new salary is:RM %f",nsal); /*Change %f to %d if want an output in round figure*/ getch(); return 0; }

12. c0c0pIe

thanks a lot..i'll learn C++ after C programming =D

13. llib_xoc

We could advise you better if you showed us the answer that you *do* get...