Who maintain exam scores of students in a class

Assignment Help C/C++ Programming
Reference no: EM131925598

C Programming Project Instructions -

This project should deliver a zip file (e.g., .zip, .7z, .rar) named as 3331project, which contains two items:

  • a folder, myprogram (see item 18 of Program Requirements below)
  • a batch file for Windows, runproject.bat (see item 19 of Program Requirements below)

1. The program must not use non-standard or third-party libraries.

2. The program must be implemented by using objects and classes. Stand alone functions other than main() could be included, too.

3. The program performs two main functions for users like TAs and instructors, who maintain exam scores of students in a class. These two functions are user management (i.e., menu option (1) and (2) shown next) and exam scores maintenance (i.e., menu option (3) ~ (10) shown below).

4. The program begins by displaying a menu of options to the user:

(1) Create a new user

(2) Change password

(3) Display scores of a student

(4) Display scores of an exam

(5) Display avg score of a student (in a form like 72.84)

(6) Display avg score of an exam (in a form like 69.33)

(7) Insert scores of a new exam to all students

(8) Insert scores of all exams of a student who is not in file

(9) Update an exam score of a student

(10) Update an exam score (with same amount such as 5 points or -3 points) of every student

(11) Exit

5. Except (1) and (11), every option in the menu requires the user to be authenticated by entering a user ID and password.

6. All user IDs and passwords must be saved in the file passwords.txt, which must be located in a directory 'User' located in the same place as the program. No IDs and passwords are hard coded in the program. Currently, there is only one default user, admin, contained in the attached file, whose password is 1a2b3c4d. Each row of this file identifies a user whose ID and password are separated by a space.

7. In menu option (1), user can specify his/her user ID of any form but it must be unique in the file. In menu option (2), he/she can also specify the length and the type of password (e.g., all digits, all letters, mixed with symbols, etc.).

8. Exam scores maintenance (i.e., menu option (3) ~ (10)) must use scores in a text file scores.txt, which must be located in a directory 'Data' located in the same place as the program.

9. Each row in scores.txt represents a student's record in unsorted order. Each row begins with a student ID followed by scores of exams in the sequencial order of exam 1, 2, 3, etc. All are separated by a space and no exam number or name is stored. Student IDs and scores have a format defined below in item 11 and 12. Currently, the attached file contains five students, U103, U111, U227, U540, and U105, each has four scores from exam 1 to 4. More students can be appended to the end of this file by using menu option (8) and new exam scores (e.g., exam 5, 6, etc.) can be inserted to the end of each row of student in the file by using menu option (7).

10. All scores in file must be postive integers or zero. There is no unknown scores. An invalid score entered, including scores containing non-digit characters and integers out of range of [0, 100] should be ignored and the score will be set to zero without causing exceptions. Note that scores like 77.5 or 80g91 or 6% will be accepted as 77, 80, and 6, that is, the invalid character up to the space will be ignored (by the 'cin' object automatically).

11. Student ID of new students in (8) must in the form of Uxxx, where 'xxx' are three digits and must not already exist in the file. Inserting an existing or invalid Student ID causes an exception at run time and must be handled.

12. Scores to be inserted in (7) and (8) must be all entered in one line using only one 'getline()' function.

13. The total number of scores to be inserted in (7) and (8) must match the total number of students and exams in current file. Otherwise, a logic error (i.e., exception) occurs and user should be able to re-try the input without stopping the program. Also, remember both numbers are not a constant because scores of a new exam or student are inserted previously. For example, in (7), if there are six students in file, there should be six scores entered, and, after insertion done in (8), it becomes seven scores in each exam. Similarly in (8), if there are five sets of exam scores in file, user must enter five scores for the student to be inserted, and, after an insertion in (7), each student has six scores. Therefore, do not hard code in program the number of students and exams in file.

14. If an option of the menu is targeting on a student or an exam, including option (3) to (10), user should be prompted first to enter a student ID or exam number. The input must be validated.

15. This program is exepcted to use throw-try-catch constructs in most user data input cases to handle exceptions efficiently. It is assumed no invalid data is stored in both text files used by the program.

16. A general principle of C++ program design is to keep your main() neat and clear to focus on the major logic flow or process of the application. Do not let it be obscured by too many user I/Os or interactions, input validations, or detailed processes. In other words, your program code should be structured and optimized by using functions and classes, including derived classes and friend functions that can be defined/shared by different classes but only implemented once.

17. It's your design decision how you want to maintain and name your program in files. That is, you may use only one single .cpp file to include all of your source code, or one .cpp file for the main() and one for each class, or use additional .h files, one for each class members implementation and one for standalone functions, etc.

18. All your program code files, including .cpp and .h, if any, must be stored in a folder named 'myprogram'. Besides the code files, it contains two folders, User with your passwords.txt file and Data with your scores.txt file.

19. Because of item 17, each project may consist of different files with different names. A batch file for Windows must be prepared and included in the above 3331project folder. It should be named as runproject.bat. When it is executed from any directory, it must be able to automatically change from its current location to the directory of myprogram, and compile and run the project, all in one step. Search on Internet, if you don't know how to create and run a batch file in Windows.

Attachment:- Assignment Files.rar

Reference no: EM131925598

Questions Cloud

One year holding period return : You buy an 8 year $1000 par value bond that has a 6% yield and a 6% annual payment coupon. Your one year holding period return will be :
Course about different storage devices : Discuss what you have learned in this course about different storage devices, how they are accessed (what protocols)
First non-repeating character in a string : How do I Perl script that returns the first non-repeating character in a string. For example: in the string "Happy Holidays" , "o" is the first non- repeating c
Review four academically reviewed articles on team dynamics : As a group, review at least four academically reviewed articles on Team Dynamics. Develop power presentation based on the articles.
Who maintain exam scores of students in a class : The program performs two main functions for users like TAs and instructors, who maintain exam scores of students in a class
What will you do to reduce bob resistance : How will you plan to listen and lead during the interview and confession process? What will you do to reduce Bob's resistance?
Perform a linear search : In pseudo code, perform a linear search (Looping structure) on the following city array ("Mesa", "Glendale", "Phoenix", "Chandler")
Create in pseudocode logic that would count down : Using a decision structure from within the loop, print "Found It" when you reach count equals five.
Current value of the firm assuming current dividend : What is the current value of the firm assuming the current dividend has not yet been paid?

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

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