Web Design and Web Development Forum

  1. #1
    Join Date
    Feb 2006
    Posts
    12
    Rep Power
    0
  2. Jeriko Yepez is on a distinguished road
  3. Re: Timer exercise

    hey man! Once again I did ther previous program on my own but now we are in a completely new chapter and Im kinda blank. Its all about arrays. In my head I know what to do but I am kinda lost as where to start. If you could gimme a head start with the main function i would really appreciate it! I'll send you the whole program so you can have an idea what I'll be doing! Hope all has been well man.



    Spring 2006 Introduction to C - Program 5
    Automated Payroll
    Assigned: 3/27/06
    Due Date: 4/10/06, 3 am WebCT Time
    Objectives
    1. To give students practice in using arrays.
    2. To give students practice reading from files and writing to files.

    The Problem: Automated Payroll
    Many companies have a system where employees clock in and clock out to determine how much time they work each week. Since these records are already automatically stored in files on companies' computers, it only makes sense to use these files to help calculate how much each employee should get paid. In order to determine how much an employee gets paid each week, you need to know the following two pieces of information:

    1) The number of hours they worked in a week
    2) Their hourly pay rate

    If an employee works 40 or less hours a week, then they simply get paid the number of hours they worked times their hourly pay rate. If an employee works more than 40 hours, then they get paid an extra 50% of their regular pay for the hours over 40 they worked. (For example, if an employee's pay rate is $10/hour and the employee works 50 hours, then he/she would get paid $550, because he/she gets $10x50 = 500 normally, plus an extra .5x(10 hr)x($10/hr) = $50 for his/her overtime.

    You are to write a program that reads in the raw time data from the file "clock.txt", processes the payroll and outputs the final results to the file "payroll.txt". The input file will consist of all employee data for 10 weeks. Your output file will have summaries for each week as well as overall summaries for each employee. You are guaranteed that the file will contain data for no more than 20 employees.

    Format of clock.txt
    The first line of the file will contain a single positive integer, n, in between 1 and 20, inclusive, which represents the number of employees at the company. These employees will be numbered 0 through n – 1. The next n lines of the file will each contain a single positive real number representing the hourly pay rate for the corresponding employee. (Namely, the first line in this set contains the pay rate for employee 0, the second line contains the pay rate for employee 1, etc.) The rest of the file will contain 10 sets of data. Each set of data represents the data for that particular week. The first line of each set of data will contain a single positive integer k, representing the number of employee records for the week. (Note: a single employee record denotes one instance of an employee clocking in and clocking out.) The following k lines will contain one employee record each. Each employee record will have the following format:

    Emp# HrIn MinIn HrOut MinOut

    All five of these values will be integers. The first integer, Emp#, represents the employee number and will always be in between 0 and n – 1, inclusive. The second integer, HrIn, represents the hours (in military time) that the given employee clocked in to work. This value is guaranteed to be in between 0 and 23, inclusive. The third integer, MinIn, represents the minutes (in military time) that the given employee clocked in to work. This value is guaranteed to be in between 0 and 59, inclusive. The last two values, HrOut and MinOut, represent the hours and minutes respectively (in military time), that the given employee clocked out of work. You are guaranteed that this second time occurs later in the day than the first. (Thus, no employee EVER works through midnight.) Thus, the following line:

    3 8 0 16 30

    means that employee number 3 worked from 8am to 4:30pm, for a total of 8.5 hours.

    Format of payroll.txt
    The first line of the output file will contain the following

    Number of employees: n

    where n is the number of employees in the company. The second line will be blank. Following that will be ten sets of data, one for each of the ten weeks in the input file. Each corresponding output data set will contain exactly n+2 lines. The first two lines will be as follows:

    Week #
    EmpID Hours Pay

    Substitute the corresponding week (1 through 10) for #, and separate each heading on the second line with a tab. In the following n lines, list the appropriate data for employees 0 through n-1, in order, separated by tabs. The second value will be the total number of hours they worked in the week, printed to two decimal places, and the last value will be their pay for the week, printed to two decimal places.

    Following the ten sets of data, after a blank line, list the totals for each employee. The first two lines for this last set of data should be as follows:

    Total
    EmpID Hours Pay

    Then, list the corresponding information in the same format as the data sets for each individual week for the ten week period.


    Example Input and Output Files
    These will be posted on both WebCT and the course webpage as individual text files.

    References
    Textbook: Sectionss 9.1-9.6, 13.4-13.6
    Notes: Arrays and Files

    Grading Notes
    In order to receive full credit, not only does your program have to work properly, but you must do the following:

    1) Use multiple functions (at least one function other than main)
    2) Define constants for appropriate values (you need to figure out what these are)

    Restrictions
    Name the file you create and turn in payroll.c. Although you may use other compilers, your program must compile and run using gcc or jGRASP. Your program should include a header comment with the following information: your name, course number, section number, assignment title, and date. You should also include comments throughout your code, when appropriate. If you have any questions about this, please see a TA.

    Input Specification
    Assume that the input file that we use for testing adheres to all the specifications described above. (In essence, you do not have to error check the input file at all.)

    Output Specification
    Your output file should follow the format described above.

    Deliverables
    A single source file named payroll.c turned in through WebCT.
    Reply With Quote Reply With Quote
  4. #2
    hot_cakes's Avatar
    Join Date
    Aug 2005
    Location
    Bristol, UK
    Age
    30
    Posts
    2,913
    Rep Power
    9
  5. hot_cakes will become famous soon enough
  6. Re: Help with payroll assignment

    Thread created from an existing post elsewhere because the topic is very different.

    Pseudo code would be a good start -- try to make some. Understanding what's required is the first step.

    Once that's done, start small. Do little bits at a time and check that each iteration compiles and works as expected before moving on to the next.

    What have you got so far (pseudo-code...)?

    Edd
    Visit me at: mr-edd.co.uk
    Languages: Python | Lua
    Compilers: MinGW | MSVC++9
    Libraries: Boost | gtkmm
    Reference: Dinkumware | a.c.l.l.c-c++ FAQ
    Reply With Quote Reply With Quote
  7. #3
    Join Date
    Aug 2005
    Posts
    80
    Rep Power
    7
  8. alvinleephd is on a distinguished road
  9. Re: Help with payroll assignment

    i made a topic regarding a similar project a few months ago

    here it is:

    http://youngcoders.com/showthread.php?t=17196

    might help some
    Reply With Quote Reply With Quote

Similar Threads

  1. Trying to create a payroll program
    By alvinleephd in forum C and C++ Programming
    Replies: 30
    Last Post: 02-10-2006, 01:47 PM
  2. okay, i need help with assignment
    By zfmt in forum C and C++ Programming
    Replies: 14
    Last Post: 10-13-2005, 11:20 AM