Visit Our UNIX and Linux User Community


Need help with C program


 
Thread Tools Search this Thread
Top Forums Programming Need help with C program
# 1  
Old 03-24-2002
Data Need help with C program

Can someone tell how do I get my function called "float OT_hours (float hrs[])" to output the number of hours worked for each employee using an array. I have a function called "void input_hours (int clock_number[],float Hours[])" that asks the user to input the number of hours for each employee. Do I get rid of the "void so that I can get this function to return the number of hours? I want to keep the function OT_hours on its own the only thing this function is suppose to do is find the amount of overtime hours that the employee worked.I then use the overtime hours that it returns in a function that determines gross pay.

Thanks,

J.J.





#include <stdio.h>

#define num_empl 5

void input_hours (int clock_number[],float Hours[])

{

/* Declare Local Variable */

int i;

for (i = 0; i < num_empl; ++i)

{

printf (" \n\nEnter the hours for employee %06d : ", clock_number[i]);
scanf ("%f", &Hours[i]);


}

printf ("\\n\\n");

}

/************************************************************************/
/* */
/* Function overtime_hours - Array Version */
/* */
/* Purpose: This function will input the number of hours worked */
/* for each employee. */
/* */
/* Parameters: Clock - array of clock id's for each employee */
/* */
/* Hours - array of hours worked for each employee */
/* */
/* num_employees - the total number of employees */
/* */
/* Returns: */
/************************************************************************/

float OT_hours (float hrs[])

{

int i;

for (i = 0; i < num_empl; ++i)

{


if ( hrs[i] > 40)

{

return (hrs[i] - 40);

}

else

{

return (0.0);

}

}

}




void Output_results (int clk_num_s[], float wage_s[], float hrs_s[], float ot_hrs_s[], float gross_pay[])

{

int i;


printf ("\n");
printf ("---------------------------------------------\n");
printf ("Clock# Wage Hours OT Gross \n");
printf ("---------------------------------------------\n");

for (i = 0; i < num_empl; ++i)

{

printf ("%.6d %5.2f %5.1f %5.1f %7.2f\n", clk_num_s[i], wage_s[i], hrs_s[i], ot_hrs_s[i], gross_pay[i]);

}

printf ("\n");

}

main ()

{

/* Declare variables */

int clock_id[num_empl] = {98401, 526488, 765349, 34645, 127615};
float wage_rate[num_empl] = {10.60f, 9.75f, 10.50f, 12.25f, 8.35f};
float emp_hrs[num_empl];

float grossly_pay[5];


input_hours (clock_id, emp_hrs);

OT_hours (emp_hrs);

Output_results (clock_id, wage_rate, emp_hrs, OT_hours, grossly_pay);

}
# 2  
Old 03-25-2002
A function can't return an array. At best it could return a pointer to an array, but the array would still need to be allocated somehow.

Previous Thread | Next Thread
Test Your Knowledge in Computers #257
Difficulty: Easy
Musical melodies were first generated by the computer originally named the CSIR Mark 1 (later renamed CSIRAC) in Australia in 1950.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl program get a response before the program quits

I created a program, so a kid can practice there math on it. It dispenses varies math problems and the kid must input an answer. I also want it to grade the work they have done, but I can't find the best place for it to print out the grade. I have: if ( $response =~ m/^/ ) { $user_wants_to_quit... (1 Reply)
Discussion started by: germany1517
1 Replies

2. Homework & Coursework Questions

Calling compiled C program with Perl program

Long story short: I'm working inside of a Unix SSH under a bash shell. I have to code a C program that generates a random number. Then I have to call the compiled C program with a Perl program to run the C program 20 times and put all the generated random #s into a text file, then print that text... (1 Reply)
Discussion started by: jdkirby
1 Replies

3. Programming

Calling c program from another c program

Hi All, Probably this is a repeated question. My knowledge in this is limited and i got confused on all those materials i got in google search. We use #include <> to include a predefined library like stdio.h i saw somewhere that #include "" includes a man made module(another C program). IS... (2 Replies)
Discussion started by: jisha
2 Replies

4. Programming

Python program faster than C++ program.

I wrote a simple program that generates a random word 10,000,000 times. I wrote it in python, then in C++ and compared the two completion times. The python script was faster! Is that normal? Why would the python script be faster? I was under the impression that C++ was faster. What are some of... (2 Replies)
Discussion started by: cbreiny
2 Replies

5. UNIX for Dummies Questions & Answers

Script to open program and send/execute command in program

Hi, i want to write a script that executes a program (exec?) . this program then requires a filename as input. how do i give it this input in the script so the program will be complete run and close by the script. e.g. exec prog.exe program then asks for filename "enter filename:"... (1 Reply)
Discussion started by: tuathan
1 Replies

6. Programming

A program to trace execution of another program

Hi, I wanted to know if i can write a program using switches and signals, etc to trace execution of other unix program which calls c program internally. If yes how? If not with signals and switches then are there any other methods apart from debugging with gdb/dbx. (3 Replies)
Discussion started by: jiten_hegde
3 Replies

7. UNIX for Dummies Questions & Answers

How to write to stdin of another program (program A -> [stdin]program B)

Hi, Program A: uses pipe() I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using: * child -> dup2(fd, STDOUT_FILENO); -> execl("/path/PROGRAM B", "PROGRAM B", NULL); * parent -> char line; -> read(fd, line, 100); Question: ---------... (3 Replies)
Discussion started by: vvaidyan
3 Replies

8. Programming

How to write to stdin of another program (program A -> [stdin]program B)

Hi, Program A: uses pipe() I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using: * child -> dup2(fd, STDOUT_FILENO); -> execl("/path/PROGRAM B", "PROGRAM B", NULL); * parent -> char line; -> read(fd, line, 100); Question: ---------... (1 Reply)
Discussion started by: vvaidyan
1 Replies

9. Programming

executing a program within a program

Read the title: how do i do it? (4 Replies)
Discussion started by: Gekko
4 Replies

10. Programming

Please need help with C program!

My program only ouputs the correct magic square sum totals for the number 15.If I enter any odd number smaller than 15 my sum totals are incorrect. I have define "size" to 15. How or what do I change so that my program will output the magic square results for the odd numbers 1 through 15 without... (1 Reply)
Discussion started by: JJJ
1 Replies

Featured Tech Videos