Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
117 views

Project Report

This document describes a quiz program project written in C++. The program allows users to play a quiz on one of two topics: Computer Science or Indian History. It contains 15 questions of varying difficulty levels and keeps score. User details and performance statistics are saved in a file for future reference. The program provides an engaging and detailed quiz-taking experience with automatic timing and scoring.

Uploaded by

Harsh Negi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views

Project Report

This document describes a quiz program project written in C++. The program allows users to play a quiz on one of two topics: Computer Science or Indian History. It contains 15 questions of varying difficulty levels and keeps score. User details and performance statistics are saved in a file for future reference. The program provides an engaging and detailed quiz-taking experience with automatic timing and scoring.

Uploaded by

Harsh Negi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

QUIZ TEST

A Project Work

Submitted in the partial fulfillment for the award of the degree of

BACHELOR OF ENGINEERING

IN

BIG DATA ANALYTICS

Submitted by:

HARSH NEGI

20BCS3935

Under the Supervision of:

Ms. Monica Luthra

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINEERING APEX INSTITUE OF TECHNOLOGY

CHANDIGARH UNIVERSITY, GHARUAN, MOHALI 140413,


PUNJAB

JULY 2020
Page 1 of 21
DECLARATION

I, Harsh Negi, student of Bachelor of Engineering in Computer Science


(Specialization in Big Data Analytics), session: 2021-22, Department of
Computer Science and Engineering, Apex Institute of Technology, Chandigarh
University, Punjab, hereby declare that the work presented in this Project Work
entitled Quiz Test is the outcome of our own bona fide work and is correct to the
best of our knowledge and this work has been undertaken taking care of
Engineering Ethics. It contains no material previously published or written by
another person nor material which has been accepted for the award of any other
degree or diploma of the university or other institute of higher learning, except
where due acknowledgment has been made in the text.

Name: Harsh Negi


UID: 20BCS3935

Date: 28 JULY 2021

Place: Gurgaon, Haryana

Page 2 of 21
ACKNOWLEDGMENT

I would like to express my gratitude towards Ms. Monica Luthra for


guiding me throughout the project. I also feel thankful and express my kind
gratitude towards our Institutional Training Head Er. Akwinder Kaur for
allowing me to conduct Quiz Test project. The mentioned project was done
under the supervision of Ms. Monica Luthra. I want to thank my other
participants too in the group - Rishab Kumar (20BCS3973) & Drishti
Vashisth (20BCS3947) whom with their collaboration & teamwork this
project was successful.

I feel thankful to the college staff for giving me such a big opportunity. I
believe I will enroll in more such events in the coming future. I ensure that
this project was done by me and is not copied.

Harsh Negi
20BCS3935

Page 3 of 21
ABSTRACT

The project “Quiz Test” is a program for playing quiz related to two
topics – Computers & History. A user can play any of the topic at a time
how many times he/she wants.
There will be limited number of questions and for each correct answer
user will get a score. There are questions of different difficulty levels –
easy, medium and hard.
User can attempt all of the questions and find out his/her score at the end
with detailed description of when and in how much time the quiz was
completed and the number of questions in each difficulty level was
selected. These details are also saved into a file.
There are many quiz applications present on internet but there are few
which provide better understanding between user and the application.
The dataset can be updated with more types of question related to same
topic of any new if wanted to create.
The quiz is written in C++ language using Visual Studio Code IDE and
uses several concepts such as Classes & Objects, Arrays, Strings, If-Else
Statements, Switch Statements and several functions of header files such
as -> windows.h (for windows function like sleep and pause) and fstream
(for file handling functions such as to read or write into a file).
The quiz can be playable among of group of friends, classmates, cousins
and can check among selves the knowledge they possess.

Page 4 of 21
Table of Contents

Title Page 1
Declaration of The Student 2
Acknowledgement 3
Abstract 4
Table of Contents 5
List Of Figures 6

1. INTRODUCTION 7
1.1 Problem Definition 7
1.2 Project Overview/Specifications 7
1.3 Hardware Specifications 7
1.4 Software Specifications 7

2. LITERATURE SURVEY 8
2.1 Existing System 8
2.2 Proposed System 8
2.3 Feasibility Study 8
2.3.1 Operational Feasibility 9
2.3.2 Technical Feasibility 9
2.2.3 Economic Feasibility 9

3. PROBLEM FORMULATION 10

4. OBJECTIVES 11

5. METHODOLOGY 12
5.1 Software Development Life Cycle – Waterfall Model 12
5.2 Programming Language – C++ 13
5.3 Visual Studio Code 13
5.4 UML Diagrams 14
5.4.1 Use Case Diagram 15
5.4.2 Sequence Diagram 16

6. CONCLUSION & DISCUSSION 17


6.1 Testing 17
6.2 Result 19
6.3 Future Scope 20

7. REFERENCES 21

Page 5 of 21
List Of Figures

Figure No Title Page No.


5.1.1 Waterfall Model 12
5.2.1 C++ Logo 13
5.3.1 Visual Studio Code Logo 13
5.4.1 UML Logo 14
5.4.2 Flowchart - UML Diagrams Types 14
5.4.1.1 Use Case Diagram 15
5.4.2.1 Sequence Diagram 16
6.1.1 Program - Opening Screen 17
6.1.2 Program - Displaying Rules 17
6.1.3 Program – Selection Quiz Type 17
6.1.4 Program – Playing CS Quiz 18
6.1.5 Program – Playing IH Quiz 18
6.1.6 Program – Displaying Final Scorecard 18
6.2.1 Displaying the file in which scorecard is stored 19

Page 6 of 21
INTRODUCTION

Problem Definition
A Fun doing quiz program which allows user to take the quiz and solve questions to check
their knowledge in the various field. The scores can be compared within users as the data will
be saved of the quiz the user takes. The program contains a huge database of questions of
various genres, difficulty levels, and point based system to determine results. Great leisure
activity can be done within friends, similar to Who wants of Who Wants to Be a Millionaire?
/ Kaun Banega Crorepati.

Project Overview/Specifications
• The following is the written C++ quiz program project which ask 15 questions from
the user and after selecting the answers, it displays the total correct answers and score
of the user. The question dataset contains 5 easy, 5 medium, 5 hard questions.
• The Quiz Contains 2 Options to Play - Computer Science or Indian History.
Depending on the user choice, that set of questions user has to solved.
• The Program also saves the user details and additional statistics of the whole quiz such
as time completed and no of questions attempted correctly

Hardware Specification
• A Personal Computer / Laptop.
• Minimum Specifications of the Device – 1GB RAM, 64 GB ROM in order to run the
software correctly

Software Specification
• Appropriate OS installed (Windows preferred)
• MinGW (C++ Compiler)
• Visual Studio Code (C++ IDE)

Page 7 of 21
LITERATURE SURVEY
Existing System
Quiz can be taken through various mediums – pen and paper, viva – voice and through
computer medium. However, the pen & paper and viva-voice methods are nowadays not so
common due to various problems such as negligence, errors and detailed evaluation not done.
In quiz application provided in computer medium, there is sometimes not storage of student’s
previous attempts and the difficulty levels of questions is not there linearly or is completely
not there.

Proposed System
Proposed System provides a solution to existing system by extending its facilities as follows:
• There is a stopwatch (hidden) timing the quiz played
• Take details of the user and provides the user alongside score the detailed descriptive
statistics of the quiz such as the number of questions got correct per difficulty level,
the amount of time took the quiz to solve and date & time scored for future references
• These all details are also stored in a file which can be updated number of times any
user plays whether first time or repeating again with different topic
• The question system follows an algorithm -> a medium difficulty level questions first
appears, if the user is able to solve, it provides a question of hard difficulty level next.
If the user doesn’t provide right answer, it provides an easy difficulty level next. This
pattern follows until all the questions are displayed in order -> medium, easy and hard

Feasibility Study
A feasibility study is a high-level capsule version of the entire System analysis and Design
Process. The study begins by classifying the problem definition. Feasibility is to determine if
it’s worth doing. Once an acceptance problem definition has been generated, the analyst
develops a logical model of the system. A search for alternatives is analyzed carefully. There
are 3 parts in feasibility study:
1) Operational Feasibility
2) Technical Feasibility
3) Economical Feasibility

Page 8 of 21
1. Operational Feasibility
Operational feasibility is the measure of how well a proposed system solves the problems,
and takes advantage of the opportunities identified during scope definition and how it satisfies
the requirements identified in the requirements analysis phase of system development. The
operational feasibility assessment focuses on the degree to which the proposed development
projects fits in with the existing business environment and objectives with regard to
development schedule, delivery date, corporate culture and existing business processes. To
ensure success, desired operational outcomes must be imparted during design and
development. A system design and development require appropriate and timely application of
engineering and management efforts to meet the previously mentioned parameters. A system
may serve its intended purpose most effectively when its technical and operating
characteristics are engineered into the design. Therefore, operational feasibility is a critical
aspect of systems engineering that needs to be an integral part of the early design phases.

2. Technical Feasibility
This involves questions such as whether the technology needed for the system exists, how
difficult it will be to build, and whether the firm has enough experience using that technology.
The assessment is based on outline design of system requirements in terms of input,
processes, output, fields, programs and procedures. The application is the has been developed
on windows 10 platform and a high configuration of 8 GB RAM on Intel i5 7th generation
processor however, is capable to run on systems much lesser than the above configuration the
application created. This is technically feasible. The technical feasibility assessment is
focused on gaining an understanding of the present technical resources of the organization
and their applicability to the expected needs of the proposed system. It is an evaluation of the
hardware and software and how it meets the need of the proposed system.

3. Feasibility Study
Establishing the cost-effectiveness of the proposed system i.e., if the benefits do not outweigh
the costs, then it is not worth going ahead. In the fast-paced world today there is a great need
of online social networking facilities. Thus, the benefits of this project in the current scenario
make it economically feasible. The purpose of the economic feasibility assessment is to
determine the positive economic benefits to the organization that the proposed system will
provide. It includes quantification and identification of all the benefits expected. This
assessment typically involves a cost/benefits analysis.

Page 9 of 21
PROBLEM FORMULATION

The existing quiz around the internet had several flaws and lacks several additional features.
Taking quiz on the computer medium is slowly taking over pen & paper mode and viva voice
(which are more less secure and error-prone methods), however there are several limitations
and less features present. Creating computer applications for quiz not only provides a
interactive learning environment for the user, but it is more secure and more suitable in todays
modern world of digitalization.

Due to this, our team decided to do the project on quiz test for our institutional training final
assessment. It will introduce several new features (more can be modified later). The quiz can
also save users performance in a text file which can be accessed by the user anytime to analyze
and try to improve the score next time.

Page 10 of 21
OBJECTIVES

The main objective of the project of Quiz Test it to provide knowledge among the users and
test their knowledge on several topics. Using the concept of “Fun in Learning”, users can take
out quiz among their classmates, friends or cousins and compare each other through detailed
scorecard provided by the program. The question dataset can be updated frequently as per the
administrator choice. The program should be able to execute on any computer device (even on
low end devices since this isn’t a heavy program or GUI supported code).

The program should also be user friendly. The rules to play the quiz should be easily
understandable to the user and should provide the end result (detailed scorecard) to user as
promised. The user should not be confused on how to use this application and should be satisfy
on their end using the program

More points to be consider:


• The Language should be restricted to C++/C
• It should be completed within the Institutional Training Program (i.e., 30 days)
• Should provide the report, presentation and the source code together at the end

Page 11 of 21
METHODOLOGY
Software Development Life Cycle
Waterfall Model

The waterfall model was selected as the SDLC model due to the following reasons:

• Requirements were very well documented, clear and fixed.


• Technology was adequately understood.
• Simple and easy to understand and use.
• There were no ambiguous requirements.
• Easy to manage due to the rigidity of the model. Each phase has specific deliverables
and a review process.
• Clearly defined stages.
• Well understood milestones. Easy to arrange tasks.

Fig 5.1.1

Page 12 of 21
Programming Language – C++

Fig 5.2.1

C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension


of the C programming language, or "C with Classes". The language has expanded significantly
over time, and modern C++ now has object-oriented, generic, and functional features in
addition to facilities for low-level memory manipulation. C++ was designed with an orientation
toward system programming and embedded, resource-constrained software and large systems,
with performance, efficiency, and flexibility of use as its design highlights
Some of the Concepts in C++ to be used:
• Arrays -> An array is a collection of items stored at contiguous memory locations. The
idea is to store multiple items of the same type together. This makes it easier to calculate
the position of each element by simply adding an offset to a base value, i.e., the memory
location of the first element of the array (generally denoted b
• Objects & Classes -> In object-oriented programming, a class is an extensible program-
code-template for creating objects, providing initial values for state (member variables)
and implementations of behavior (member functions or methods).When an object is
created by a constructor of the class, the resulting object is called an instance of the
class, and the member variables specific to the object are called instance variables, to
contrast with the class variables shared across the class
• File Handling -> C++ files I/O functions handle data on a secondary storage device,
such as a hard disk. C++ can handle files as Stream-oriented data (Text) files,
and System oriented data (Binary) files.

IDE - Visual Studio Code

Fig 5.3.1

Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and
MacOS. It features support for debugging, syntax highlighting, intelligent code completion,
snippets, code refactoring and embedded Git. Users can change the theme, keyboard shortcuts,
preferences, and install extensions that add additional functionality.

Page 13 of 21
UML DIAGRAMS

Fig 5.4.1
The Unified Modeling Language (UML) is a general-purpose, developmental, modeling
language in the field of software engineering that is intended to provide a standard way to
visualize the design of a system. UML has many types of diagrams, which are divided into two
categories. Some types represent structural information, and the rest represent general types
of behavior, including a few that represent different aspects of interactions.

Fig 5.4.2

• Behavior diagrams: It represent the dynamic aspect of the system. It emphasizes what
must happen in the system being modeled. Since behavior diagrams illustrate the
behavior of a system, they are used extensively to describe the functionality of software
systems Example – Use Case Diagram
• Interaction diagrams -> It is a subset of behavior diagrams, emphasize the flow of
control and data among the things in the system being modeled. For example,
the sequence diagram shows how objects communicate with each other regarding a
sequence of messages. Example – Sequence Diagram

Page 14 of 21
Use-Case Diagram
A use case diagram is a graphical depiction of a user's possible interactions with a system. A
use case diagram shows various use cases and different types of users the system has and will
often be accompanied by other types of diagrams as well. The use cases are represented by
either circles or ellipses. The actors are often shown as stick figures. Due to their simplistic
nature, use case diagrams can be a good communication tool for stakeholders. The drawings
attempt to mimic the real world and provide a view for the stakeholder to understand how the
system is going to be designed. The purpose of a use case diagram is to capture the dynamic
aspect of a system. They provide a simplified graphical representation of what the system
should do in a use case. Further diagrams and documentation are needed for a complete
functional and technical outlook on the system.

Fig 5.4.1.1

Page 15 of 21
Sequence Diagram
A sequence diagram shows object interactions arranged in time sequence. It depicts the objects
involved in the scenario and the sequence of messages exchanged between the objects needed
to carry out the functionality of the scenario. Sequence diagrams are typically associated with
use case realizations in the logical view of the system under development. Sequence diagrams
are sometimes called event diagrams or event scenarios. A sequence diagram shows, as parallel
vertical lines (lifelines), different processes or objects that live simultaneously, and, as
horizontal arrows, the messages exchanged between them, in the order in which they occur.
This allows the specification of simple runtime scenarios in a graphical manner.

Fig 5.4.2.1

Page 16 of 21
CONCLUSION & DISCUSSION
Testing
On successfully completing the code. The Program was testing several times using different
test cases and was found to be running successfully without any errors occurred during run
time. Providing some of the snippets of the program.

Fig 6.1.1

Fig 6.1.2

Fig 6.1.3

Page 17 of 21
Fig 6.1.4

Fig 6.1.5

Fig 6.1.6

Page 18 of 21
Result
The quiz application provides facility to play quiz in any low-end computer device. It can be
used as fun time pass among friends, cousins and classmates. The administrator can update
the questions related to the genre or can created a new genre by itself (by some minor tweaks
in the program code). User can play this as many times he or she wants and can always see
their past performances and determine the stats.
The program was created using 500 lines of code and 6 text files for storing questions (of
different topics and different difficulty levels). The total file size is over 100 kb.
The program can be run from any compiler or even command prompt provided MinGw (C++
Compiler is installed).

Fig 6.2.1

Page 19 of 21
Future Scope

While the program is in working condition, lots of improvement can be done on the project.
Several points are discussed which can be implemented in the future.
• While an overall stopwatch is there for calculating the time completing the quiz, there
could be addition of timer per question for user to solve
• While the program follows a particular algorithm to provide questions, it still
provides linear questions from the text file. The program can be modified later to get
random questions from the text file of each difficulty level
• The program can be converted into GUI program by which it will be a .exe file and
therefore any compiler will not be needed for the program

Page 20 of 21
REFERENCES

• INSTITUTIONAL TRAINING RESOURCES (PPTS)


• www.geeksforgeeks.org
• www.youtube.com
• www.w3cschool.com
• www.stackoverflow.com
• www.creatly.com

Page 21 of 21

You might also like