Instructors of any course use some particular platform to make question banks with slightly different structures and values. This platform is used again by them for updating marks of all the students. In all of this, they have a real hard time managing and reusing the question banks. It’s not really possible to manually ensure that there is a lot of different questions and each student gets a different set and yet equal difficulty is maintained.
The Project creates a markup language that will potentially help instructors in generating question papers for exams.
This is a menu-driven program. Select the option number for performing that function:-
- Add a new Question Bank
- Delete Existing Question Bank
- Add Questions to Existing Question Bank
- Print Existing Question Bank
- Generate Question Paper
- Exit
Run this for executing the program:-
-
cmake .
-
make
-
./ExamTex
Alternative:
-
gcc main.c Question_Bank/question_bank_tree.c Question_Bank/create_question_bank.c Question_Bank/reading_input_bank.c Question_Paper/question_paper.c Question_Bank/insert_questions.c Question_Bank/delete_questions.c Question_Bank/print_question_bank.c Question_Bank/free.c
-
./a.out
- We get an unique ID for the question bank which we need to remember for further use.
- Then we must input the name of the file. The file should be present inside 00BANK Folder.
- A new question bank is added to the tree with unique ID.
- Sample Input files have been uploaded with names 1.txt, 2.txt and so on.
- Format of input file: Each question is started by the command \question, followed by its type, its difficulty, and its content depending on the type of question. Checkout the sample inputs given below for getting a better understanding of how the input file is supposed to be given.
- We can delete an existing question bank by entering the ID of the question bank to delete.
- We can add questions to an existing question bank by entering the ID of the question bank.
- Then we must input the name of the file. The file should be present inside 00BANK Folder.
- Enter the ID of the Question Bank to print all the questions in the bank.
- Enter the ID of the Question Bank to from which question paper is to be generated.
- Then Enter the number of files to be Generated.
- Further we must input the name of the file. The file should be present inside 00PAPER Folder.
- Sample input files have been uploaded with names sample1.txt, sample2.txt and so on.
- Format of input file: Each question bundle is started by the command \sample, followed by the type, the difficulty, and the number of questions of that bundle. Checkout the sample inputs given below for getting a better understanding of how the input file is supposed to be given.
- The required question papers will be generated in 00CURRENT folder.
- Frees all the memory and exits the program.
- MCQ: Here we can give multiple wrong answers in 'wrong' and and multiple right answers in 'ans'. One of the right answer is selected and three of the wrong answers is selected.
- Fill In the blanks: We can give fill in the blanks or answer in few words.
- True-False: We can give a statement which is True(T) or False(F).
- Short Answer: Short answer can have questions with answers with a bit of explaination.
- Easy (with integer value = 0)
- Medium (with integer value = 1)
- Hard (with integer value = 2)
- Dhasu (with integer value = 3)
For the Question Bank-
\question{type=mcq}{difficulty =0}
{text= How was your DSA course?}
{wrong =Okay-ish, bad,horrible}
{ans =very good,excellent}
\question{type =fill_up}{difficulty =3}
{text =What is the sum of the first four odd natural numbers?}
{ans =16 }
\question{type = true_false}{difficulty =0}
{text ='A' is the most common letter used in the English language }
{ans =F}
\question{type= short_answer}{difficulty = 1}
{text = Define Acceleration}
{ans = The rate of change of velocity of an object with respect to time.}
For the Question Paper-
\sample{type=mcq}
{difficulty = 2}
{number=2}
- The input files can have any number of white-spaces in between the commands.
- Please make sure that all your input files end at the bracket. No charcater/ whitespace or newline should exist after the last bracket.
- Please make sure to clear/ delete the output(markdown) files (if already genrated) before each generation to get correct otuput. Otherwise, the new questions will get appended to the old ones.