Question
Ask an expert Hi just needing help with a C++ procedural programming assignment. The program will go in the following steps. The students will be
Hi just needing help with a C++ procedural programming assignment.
The program will go in the following steps.
The students will be read in from the students.txt file.
Each student will be read in individually and and will undertake the subjects they have chosen to study.
When reading a student in, their student number and the name of the program theyre studying for should be printed to the standard out.
To begin, the subject the student is studying will have a randomly allocated teacher for that subject taken from the teachers.txt text file. After this the teacher and student modifiers will be added to that subject.
A student has to complete the subject beforehand before they study the next.
If they fail a subject they cannot progress to the next one.
If a student fails that subject 3 times in a row. They will be excluded from college. At this point report this to the output-file.
At this point if they have passed the first subject taken they will report the student name, subject attempted, teacher teaching, and the distribution parameters to the Output-file.
We repeat the above steps for each student and once they have passed all subjects they have selected they will have graduated. This will be reported to the output file aswell.
Repeat this with each student until all students have have been read in.
I will add in the spec i have been given which includes the modifiers needed and the txt files.
outesource conleri 5/CSCIZI-A1-70205 Puny 70202019.pur 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 2 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 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 65-74 75-84 85-100 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. 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.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started