Rumeet Goradia - Final Project Proposal#9
Open
rumeetgoradia wants to merge 2 commits intoCPRO-Session1:masterfrom
rumeetgoradia:master
Open
Rumeet Goradia - Final Project Proposal#9rumeetgoradia wants to merge 2 commits intoCPRO-Session1:masterfrom rumeetgoradia:master
rumeetgoradia wants to merge 2 commits intoCPRO-Session1:masterfrom
rumeetgoradia:master
Conversation
| @@ -0,0 +1,3 @@ | |||
| Rumeet Goradia | |||
| Many school districts utilize an online software that helps teachers and school administrators keep track of their students' grades. These programs, like Genesis, also allow easy maneuverability through class rosters and attendance records. | |||
| My custom program will attempt to mimic these online educational services. The user will be an elementary school teacher for a small school with one teacher per grade (kindergarten to fifth grade); the user will get to "log-in" as the teacher he/she wishes to be, and all relevant data (like the teacher's name, the grade, the class roster, etc.) would be called using a switch statement. The user would be asked to login with a string password, which will be the password until the user ends the program or logs out. The user would have to enter this same password every time he/she makes a change to the grades. The students' data would be organized using structure data types. The user will have the option to input commands. Since there are multiple students, this structure data type would be used in conjunction with an array. For instance, he/she can enter "show roster" to see the data for all the students, and a separate function will print the roster. Moreover, the user can select to view the details of a specific student, including name, age, address, and grades in each class, which will be printed with the help of a function. The user can also enter "help" to see all the commands he/she can enter, and a custom function will print out a list of commands. Of course, there will have to be code to make sure the input is a valid command. The other major input mechanic will be putting in grades. The user can first select a subject, and using a combination of an ENUM list and a switch statement, he/she will input grades (and also input whether the assignment was a test, quiz, classwork, or homework, which will affect the weight of the assignment), and the subject's average for each student will be calculated using a separate function. There would be many uses for loops in the program, usually for the repetition of each function. The whole program would probably run on a while loop, and it would run until the user entered a specific string, like "log out". | |||
Contributor
There was a problem hiding this comment.
Sounds great!
A side note - if you want to hide passwords on entry, you'll want to either find an unbuffered input (which doesn't usually allow backspacing) or use something like this example (http://cboard.cprogramming.com/c-programming/131444-how-make-password-input-c.html). In either case, these functions are OS and compiler-specific (and I'm not 100% sure if that example is designed for Windows or Linux but I believe it works with gcc, at least). Just an option if you wanted to implement that. If not, shown, plaintext passwords are fine.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.