Implement the program using procedural programming

Assignment Help Programming Languages
Reference no: EM132363714

Advanced Programming Assignment -

Overview - This assignment is to be implemented using procedural programming. The overall program should follow the progress of students through a sequence of subjects that are part of an academic course at an educational institute: ABC (A Big College).

General code notes - These are some general rules about what you should and shouldn't do.

1. Your assignment should be organised into:

(a) A driver file containing your main() function.

(b) A header file containing the prototypes for the functions you write.

(c) An implementation file containing the implementations of your functions.

2. Provide a text file Readme.txt with instructions for compiling your code on Banshee into the executable ABC. The Readme.txt should actually be a text file, not a doc or pdf or rtf or something other than text, and the instruction should be a copy and pastable command.

3. If your code doesn't compile on Banshee you will likely receive 0 for the assignment.

4. You are not allowed to use classes.

5. You can use structs, but not member functions in them.

6. Within your code, be consistent in your tabbing style. We want readable code.

7. Include sensible volumes of commenting.

8. Use appropriate variable names.

9. Don't leak memory.

10. Your main() function should make it clear what is going on, and shouldn't be too large.

11. Other than the initial command line input, the program should run without user output. In particular this means there shouldn't be pauses waiting for the user to press a key.

Run structure - Once your program is compiled into the executable ABC, it must run as follows:

$ ./ABC Students.txt Subjects.txt Teachers.txt Output-file

The files serve particular purposes and by purpose should be assumed to be in this order. The names and content of the files may differ, so you shouldn't hard code the content of the sample files into your program, or hard code the names of files into your program.

The expected structure of the input data files is given in the next section.

When you read from the data files you should report on the data read in. We should see a list of students, a list of subjects, and a list of teachers; all appropriately formatted so it's clear you have correctly partitioned the data. This report should go to standard out, not to Output-file. Output-file is used to report on results. It should be clear that you have correctly linked files, that should be clearer once you read the format of the data files.

The students in the students file are to be processed in the order they are given. The run of each student is independent. Each student attempts to go through their plan of study taking each subject in the order listed in their plan. A student cannot take a subject until they completed the previous one on their plan. If a student fails a subject three times in row they are to be excluded from the college. The file Output-file should be ordered by student and contain a clear report on the progression of each student, including subject, teacher, and performance for each time they take a subject.

When you start each student you should report to standard out, with the student name and the name of the program they are studying for. You should also report when the student moves to a new subject or attempt at a subject, and when they finish their study.

The process involved in a student taking a subject is as follows:

For the given subject randomly allocate a teacher who is allowed to teach the subject.

Apply the teacher and student modifiers to the subject distribution. The modified mean and standard deviations are determined as follows:

Mean = Student ability - Subject difficulty - Teacher toughness

Standard deviation = Student consistency + Subject variability + Teacher variability

Here goes an example using the data listed in the next section. If Average Ant is taking Basic Bouncing, and being taught by Tough Terrapin, the mean and standard deviations become:

Mean = 50 - (-10) - (15) = 45

Standard deviation = 5 + (-2) + (3) = 6

At this point you should report the student name, subject attempted, teacher teaching, and the distribution parameters to the Output-file.

Determine the mark obtained by the student by generating a random value drawn from a normal distribution with the determined mean and standard deviation. Values less than 0 or more than 100 should be appropriately modified so the mark is an integer in the range 0 to 100.

Based on the mark three different actions are possible:

1. If the mark is in the range 0-44 inclusive, the student is given an F (for fail) grade.

2. If the mark is in the range 45-49 inclusive, the student is given a supplementary assessment. Generate a new value from the distribution and add +5. If the new mark is in the range 0-49 the student fails and received an F grade. If the new mark is in the range 50-100, the student receives a 50-PS. The supplementary assessment mark should be recorded and reported along with the original mark.

3. If the mark is in the range 50+, the student is given a grade in accordance with the following table, where the ranges are inclusive of the values at the end of range:

Mark - Grade

50-64 - P

65-74 - C

75-84 - D

85-100 - HD

As noted earlier, if a student fails a subject they need to retake it, with a maximum of three attempts allowed. For a first retake of a subject a modifier of +5 is added to the mark obtained. For the second retake a modified of +10 is added to the mark obtained. In each retake the teacher is independently randomly generated. If no more retakes are allowed, the exclusion of the student should be reported to the Output-file and you should move on to the next student.

The mark and grade for each attempt should be reported to the Output-file.

If the student has passed the subject they proceed to the next subject, if there is one. If the student has completed all subjects, they graduate and this should be reported to the Output-file.

Inputs -

Three data files are needed for each run of the program. The general syntax of those files is described here, and one example of each is provided on Banshee in /share/cs-pub/251/Assignments/One/. Those files are in Unix format so if you copy them over to Windows and back to Unix there may be additional characters, particularly the end of line ^M that may appear.

Output

If there is a problem with one of the three input data files, such as it doesn't open or it contains invalid data, a report should be made to standard error, and the program should abort. The error should be detailed enough to unambiguously identify the problem. The output was explained in the Run structure section.

Attachment:- Advanced Programming Assignment File.rar

Reference no: EM132363714

Questions Cloud

Six sigma based quality program : In which industry will a Six Sigma based quality program NOT be applicable?
Create a consumer privacy policy : Create a Consumer Privacy Policy for your New Shoe Company based on the insight you have gained this week regarding privacy policies and their importance
Which age group you have planned the activity for : Which age group you have planned the activity for? What focus should the introduction and implementation of the activity have?
Report - tourism in the developing world is unsustainable : MNG20006 - The Sustainable Hotel Environment - Southern Cross University - Argue towards your argument throughout your entire report, referring continually
Implement the program using procedural programming : CSCI251/CSCI851 Advanced Programming Assignment, University of Wollongong, Australia. Implement the program using procedural programming
What are the characteristics of cloud computing : What is cloud computing? What are the characteristics of cloud computing?
Evaluation of a safety management system : What are the different phases of a diagnostic evaluation of a safety management system?
Name four risk management tools : Name four risk management tools and explain how each is used.
Locate organizations financial information : Analyze the relationship between your profit and loss statement and the rate of sales over the past twelve months, and make two observations about the relations

Reviews

len2363714

8/31/2019 1:44:29 AM

Notes on submission - Submission is via Moodle. Your code must compile on Banshee with the instructions you provide. If it doesn't you will likely be given zero for the programming part of this assignment. Please submit your source, so .cpp and .h files, and your Readme.txt file directly to Moodle. There shouldn't be other files or directories and they shouldn't be in a zip file. The Readme.txt file should contain your compilation instruction. Late submissions will be marked with a 25% deduction for each day, including days over the weekend. Submissions more than three days late will not be marked, unless an extension has been granted. If you need an extension apply through SOLS, if possible before the assignment deadline.

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd