Compiling your code on banshee

Assignment Help Programming Languages
Reference no: EM132373579

Advanced Programming

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 ex- ecutable 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

Poor Average Ant doesn't have a great chance of passing.

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 the subject distribution. 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.

The three data files are as follows, with the commas and colons used to separate fields.

1. Students.txt: No more than 10 entries.

Name,Student code,Ability,Consistency,Program name:Subject list

Example:

Average Ant,204932,50,5,Short course:1
Brilliant Bison,234543,80,3,Bachelor of Bounciness:2,5,3 Consistent Canary,123456,60,1,Diploma of Doggeral:3,6
Dusty the Dinosaur,000001,65,3,Master of Extinction:1,2,3,4,5,6 Iggy the Irratic,369523,50,15,Some Degree of Oddness:7,5,3,1

The student code is a 6 digit string. Note that it can have leading 0's as in Dusty the Dinosaur.
The ability is an integer in the range 0 to 100 inclusive and represents the mean mark for the student prior to applying subject or teacher modifiers. The consistency is a value in the range 0 to 15, and is the standard deviation prior to applying the teacher and subject modifiers.
The subject list contains a list of integers with each number corresponding to a subject listed in the subject file. There won't be more than 10 subjects for any student.
2. Subjects.txt: No more than 10 entries.

Name,Difficulty,Variability

Example:

Archery,-15,1
Basic Bouncing,-10,-2 Counting for Animals,0,2 Digging,4,1
Better Bouncing,0,2 Finding Friends,10,3 Gathering Greenery,15,0

The name cannot be empty. The difficulty is an integer modifier for the mean in the range of -15 to 15 inclusive. The variability is an integer modifier for the standard deviation in the range of -3 to 3 inclusive.
3. Teachers.txt: No more than 10 entries.

Name,Toughness,Variability,Subject list

Example:

Tough Terrapin,15,3:2,3,4 Softy Squid,-15,-3:1,2,3,4,5
Moderate Monkey,0,0:4,5,6,7 Contrary Cat,3,3:3,5,6

The name cannot be empty. The toughness is an integer modifier for the mean in the range of -15 to 15 inclusive. The variability is an integer modifier for the standard deviation in the range of -3 to 3 inclusive.
The subject list contains a list of integers with each number corresponding to a subject listed in the subject file. There won't be more than 10 subjects for any teacher. These represent the subjects the teacher is allowed to teach.

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.

Reference no: EM132373579

Questions Cloud

Projected annual cash flow before interest and taxes : Suppose you have a project with a projected annual cash flow before interest and taxes of $6 million, indefinitely. The initial investment of $18 million
What is the actual cost of the acquisition to firm h : What is the actual cost of the acquisition to Firm H using company stock? Why is the actual cost less than $35,000?
High mountain mining : High Mountain Mining wants to expand its current operations and requires RM 3.5 million in additional funding to do so.
What is the current stock price : The appropriate rate of return on the stock is 12.4 percent, compounded quarterly. What is the current stock price?
Compiling your code on banshee : Compiling your code on Banshee into the ex- ecutable ABC. The Readme.txt should actually be a text file, not a doc or pdf or rtf or something other than text
How much will each contribute : Sue agrees to contribute 30% more than Joan, and Joan agrees to contribute 30% more than Stella.
What is the average age of its accounts receivable : At the end of October, a firm has $15,200 in receivables that are 30 days old, $7800 in receivables that are 60 days old
Commission on sales exceeding monthly quota : If his base salary is $2700 per month, what is his rate of commission on sales exceeding his monthly quota of $140,000?
What are his gross earnings for a month : What are his gross earnings for a month in which he sells $140,000 worth of mutual funds?

Reviews

Write a Review

Programming Languages Questions & Answers

  Explain benefit that objectoriented programming could afford

Explain the key benefits that object-oriented programming could afford the health care industry. Provide at least one example that demonstrates the primary manner in which the health care industry could implement control structures.

  Determine the acceptable error for a given estimated time

Write a function that uses a switch statement to determine the acceptable error for a given estimated flight time, according to this table.

  Explain reverse, sort and binary search

Because the C# array is an object member of the Array class it also comes with a number of built-in methods such as Reverse, Sort and Binary Search. You can use the Reverse method

  Tools assist novice programmer to generate code

Structured English and gave to a novice programmer who used it to create code? If not, what other tools could be used to assist the novice programmer to generate code?

  Explaining handles clause of sub procedure

You are asked to design a form with a textbox named txtQty, a label named lblStatus, and a button named btnGetStatus. What will be Handles clause at the end of sub procedure?

  How large a value can be stored in an integer variable

Describe a representation for integers that has no size restriction (other than the limits of the computer's available main memory)

  Create a package called my complete system

Author a new class within your newly created package called MySystemGui. In this class, you need to extend the JFrame class and implement the appropriate listeners so that your system will work.

  Find the shortest sequence of mips instructions

Find the shortest sequence of MIPS instructions that extracts bits 16 down to 11 from register $t0 and uses the value of this field to replace bits 31 down to 26 in register $t1 without changing the other 26 bits of register $t1.

  Write a program that convert number entered in roman numeral

Write a program that converts a number entered in Roman numerals to decimal form. Your program should consist of a class, say romanType.

  Write a program that reads the coordinates

Write a program that reads the (x,y) coordinates of a point in the Cartesian plane and prints a message telling in which quadrant, or on which axis (or axes) the point lies. The quadrants are labeled as follows:

  How long will it take the program to run

How long will it take the program to run with 1000 processors, if each processor is as fast as the single processor on which the serial program was run?

  Write program two functions to solve problem of university

Write the program with at least two functions to solve the following problem. The members of the board of a small university are considering voting for a pay increase for their 10 faculty members.

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