CPP Micro-Project
CPP Micro-Project
ACKNOWLEDGEMENT
Dreams never turn into reality unless a lot of efforts and hard work is put into it and
no effort ever bears fruit in the absence of the support and guidance. It takes a lot
of efforts to make your way to the goal and having someone to guide you and help
you is always a blessing. We would like to take this opportunity to thank a few
who were closely involved in the completion of this endeavor.
We are happy to take this opportunity to thank the people who helped us in the
making of our Project. We acknowledge the influence and inspiration of
Prof.Mrs.SHAIKH.P.K, HOD of Computer Engineering Department for their valuable
support and providing necessary Guidance concerning projects implementation.
We are also grateful to our guides (Prof.Miss.K.D.Patil) for provision of expertise and
technical support in the implementation. Without their superior knowledge and
experience, the project would not be possible. We are also thankful to our entire
Computer engineering staff for their support in completing this project.
Last but not least most importantly, we would like to pay our utmost regards to our
beloved parents and faculty members for their blessing without which success is a
mirage.
INDEX
5 5.1
Project Design
5.2 Input Design
5.3 Output Design
6 6.1 System Development
6.2 System Analysis
7 7.1 System Testing
7.2 Test Plan
7.3 Test Design
8 8.1 Future Enhancement
9 9.1 Bug Report
10 10.1 Code
10.2 Snapshots
11 11.1 Conclusion
12 12.1 Bibliography
1.ABSTRACT
This paper deals with the prototype development of an Mobile quiz system,
comprehensive evaluation system for the remote students or in a classroom. On
further enhancement this app can be used for the recruitment process of software
companies which will be able to save time and efforts to illuminate unwanted
candidates to appear for personal interview by travelling a long distance
Keywords:- Android, Mobile Learning, Mobile Evaluation, E-Learning
2.Introduction
2.1 Need
It offers online instruction that can be delivered anytime and anywhere through a wide
range of electronic learning solutions such as Web-based course ware. online
discussion groups, live virtual classes, video and audio streaming, Web chat, online
simulations, and virtual mentoring E Learning enables organizations to transcend
distance and other organizational gaps by providing a cohesive virtual learning
environment. Companies must educate and train vendors, employees, partners, and
clients to stay competitive and E-Learning can provide such just-in-time training in a
cost-effective way. Developing and deploying effective E-Learning programs may
require products and services supplied by a variety of vendors, leavingone to connect
the dots. One way to start is to define the goals of the desired learning solution.
The current situation is very limited to few resources, students are unable to get
knowledge more than that the lecture provides to them. This in the end limits student's
performances, because everything a student gets is collected from lectures in class.
This project is aimed at developing an online search Portal for the Placement Details
for job seekers The system is an online application that can be accessed throughout the
organization and outside as well with proper login provided. This system can be used
as an Online Job Portal for job seekers Job Seekers logging should be able to upload
their information in the form of a CV Visitors/Company representatives logging in
may also access/search any information put up by Job aspirants
3.Project Planning
• Personal plan
• Risk management
To ensure that the final product is of high quality, some quality control activities
must be performed throughout the development. As we saw earlier, if this is not
done, correcting errors in the final stages can be vary expansive, especially if they
originated in the early phases. The purpose of the software quality assurance plans
(SQAP) is to specify all the work products that need to be Note that SQAP takes a
board view quality.
It is interested in the quality of not only the final product, but also of the
intermediate products, even though in a project we are ultimately interested in the
quality of the delivered product. This is since in a project it is very unlikely that
the intermediate work products are of poor quality, but the final product is of high
quality. So, to ensure that the delivered software is of good quality it is essential to
make sure that the requirements and design are also of good quality.
3.3Project Scheduling
It is important, right at the start of the design process, for the designer or design
team, to set clear objective. The primary objectives will always be to design a
system that delivers the functions required by the client to support the business
objective of their organization. For example, the system may be required to speed
up the production of accurate invoices, or to provide up to date, detailed
management information to improve the managing director's control over the
business; or to help senior managers to make strategic decisions. In the other
words, to be a quality product — the system must conform to the customer's
requirements and be delivered in a way, which meets their expectations in terms of
service. There are many ways in which these requirements might be met by a
physical design solution, but there are a number of other objectives that must be
considered if a god design is to be produced.
3.4Project Scheduling
Month 8 If error is occur By using the bug Checking the Deploy to the
then fix it by the track system the actual result with customer.
tester or bugs are fixed. the expected
developer. result.
4 .Project Requirement
4.1 Software Requirement
Operating System : Windows 7 or Onwards
Language : JAVA
Backend : JAVA
5. Project Design
DFD :1
6.System Development
System Development
System development is the next process after the software specification document is created with
all the required UML diagrams. This activity is the process of writing and maintaining the source
code. The application was developed using the MVC design pattern. The MVC improves
development by breaking the application into distinct components: the model, the view and the
controller. The model represents an object carrying data which has logic to update the controller
if the data changes. The view is the collection of classes for the visualization of the data that
contains the model. The controller represents the classes connecting the model and the view and
controls the user with the view into actions that the model will perform. Using MVC, the
business logic can be reused in some other projects as well, and thus developers' time is
saved when rewriting the same code. The code will also be much easier to read and understand.
More functionalities and features were added to the intermediate version of the Training
Management System. A search engine is one of the features of the application that was added to
make it fast and easy for trainees to register themselves into the training. If a trainee has already
registered into some training before, or if he/she is in the database of the application, the trainee
will
not have to fill in all the fields of the registration form. Instead, the trainee just
types his/her name and the suggestions are shown in the drop-down view. When the trainee
clicks to the drop-down view of his/her information, all the fields are automatically filled with all
his/her data that are stored in the database and he/she can register easily into the training
Another functionality that was added to the intermediate version of the app was the user's input
validation while filling in the form. The user fills in the form
and presses the submit button to register into the training. Before registering the user to the
training, the system will check each field's input. For example, in the email field the user input
should be the formatted email input like [email protected]. In the last name
and first name fields the system shows an error if the user has input some numbers. Only the
badge number and department fields can be left empty. Rather than these two fields, if other
fields are left empty, the system will not register the user to training. Instead, it will give the
error message, so that the user can easily figure out his/her mistake while registering into
training.
The components that make up the system were tested during the development
process. Each component was tested independently without other system components. The
components that were tested were functions, objects, methods or coherent grouping of these
entities
7.SYSTEM TESTING
System testing is the expensive and time-consuming process. There are two
Strategies for testing software that we use for testing our system: Code testing and Specification
Testing. In Code testing, we developed those cases to execute every instructions and path in
the program. In specification testing, we examined the program specification and then wrote
test data to determine how the program operates under specified condition. The different levels
of testing are used in the testing process. The basic levels are unit testing, integration testing,
system testing, and acceptance testing. These different levels of testing detect different types of
faults.
7.1Defect Testing:— Testing involves executing the program (or part of it) using sample data
and inferring from the output whether the software performs correctly or not. This can be done
either during module development (unit testing) or when several modules are combined (system
testing).
7.2 Defect Testing:- Defect testing is testing for situation where the
program does not meet its fictional specification. Performance testing tests a
system's performance or reliability under realistic loads. This may go some way to ensuring that
the program meets its non-functional requirements.
testing. In principle, all tests should be performed again but this is often too expensive to do.
reveal the presence of defects. Use experience and knowledge of domain to identify such test
cases. Failing this a systematic approach may be necessary. Equivalence partitioning is where
the input to a program falls into a number of classes. E.g. positive numbers vs. negative
numbers. Programs normally behave the same way for each member of a class. Partitions exist
for both input and output. Partitions may be discrete or overlap. Invalid data (i.e. outside the
normal partitions) is one or more partitions that should be tested. Test cases are chosen to
exercise each portion. Also test boundary cases (atypical, extreme, zero) since these frequently
show up defects. For completeness, test all combinations of partitions. Black box testing is rarely
exhaustive (because one doesn't test every value in an equivalence partition) and sometimes fails
to reveal corruption defects caused by "weird" combination of inputs. Black box testing should
not be used to try and reveal corruption defects caused, for example, by assigning a pointer to
point to an object of the wrong type. Static inspection (or using a better programming language!)
is preferable for this.
8.FutureEnhancement
1) To modify the Online Examination System project to .Net platform to take the advantage of
geographical remote area. By shifting the project to the Dot Net platform, the project can be
made into a Mobile Accessible Application by which the restrictions of the software & hardware
requirements can he scaled down, which is not possible using ASP.
2) we can even apply the unique identity of the user by keeping certain
formalities which must be answered by the user while entering the test (like the user need to
answer again the questions which he did while registering himself for the test) the questions
selected will be in random order from his personal data only (like the mole present on the user,
etc ...) so that we it may confirm that the user itself is writing the test .
3) we can even use the thumb mark of the users to confirm their identities.
4) We can even add the photos of the users in this to confirm the user Identity. Thus by applying
these steps we can make sure that the user itself is writing the exam not the others.
Description: When a user completes one question and moves to the next, the response
field auto-fills with the question number instead of being cleared.
9. BUG REPORT
10.CODE
10.1 Advance Java Code:-
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Vector;
public AdminPanel() {
connectToDatabase();
createAdminGUI();
}
panel.add(new JLabel("Question:"));
questionField = new JTextField();
panel.add(questionField);
Computer Engineering 2024-25 Page | 18
Rajiv Gandhi Polytechnic, Udgir Quiz game
panel.add(option1Field);
frame.add(panel);
frame.setVisible(true);
}
try {
String query = "INSERT INTO questions (question, option1, option2, option3, option4,
correct_option) VALUES (?, ?, ?, ?, ?, ?)";
PreparedStatement stmt = connection.prepareStatement(query);
stmt.setString(1, question);
stmt.setString(2, option1);
stmt.setString(3, option2);
stmt.setString(4, option3);
stmt.setString(5, option4);
stmt.setInt(6, correctOption);
stmt.executeUpdate();
if (rs.next()) {
questionField.setText(rs.getString("question"));
option1Field.setText(rs.getString("option1"));
option2Field.setText(rs.getString("option2"));
option3Field.setText(rs.getString("option3"));
option4Field.setText(rs.getString("option4"));
correctOptionBox.setSelectedIndex(rs.getInt("correct_option") - 1);
} else {
JOptionPane.showMessageDialog(frame, "Question not found!");
}
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(frame, "Error loading question!");
}
}
String query = "SELECT username, score, total, date_taken FROM scores ORDER BY date_taken
DESC";
PreparedStatement stmt = connection.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
}
2. Question Panal
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
frame.add(questionLabel, BorderLayout.NORTH);
frame.add(optionsPanel, BorderLayout.CENTER);
frame.add(bottomPanel, BorderLayout.SOUTH);
frame.setVisible(true);
}
if (currentQuestionIndex > 1) {
if (questions.next()) {
questionLabel.setText("Q" + currentQuestionIndex + ": " + questions.getString("question"));
option1.setText(questions.getString("option1"));
option2.setText(questions.getString("option2"));
option3.setText(questions.getString("option3"));
option4.setText(questions.getString("option4"));
correctAnswer = questions.getString("option" + questions.getInt("correct_option"));
optionsGroup.clearSelection();
currentQuestionIndex++;
totalQuestions++;
} else {
saveScoreToDatabase();
JOptionPane.showMessageDialog(frame, "Quiz completed! Your score: " + correctAnswers +
"/" + totalQuestions);
frame.dispose();
new QuizSystem();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
try {
String insertQuery = "INSERT INTO scores (username, score, total, date_taken) VALUES (?, ?, ?,
NOW())";
stmt.setInt(2, correctAnswers);
stmt.setInt(3, totalQuestions);
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
3. Quiz system
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public QuizSystem() {
connectToDatabase();
createLoginGUI();
}
panel.add(titleLabel);
panel.add(userLabel);
panel.add(usernameField);
panel.add(passLabel);
panel.add(passwordField);
panel.add(loginButton);
panel.add(registerButton);
panel.add(exitButton);
frame.add(panel);
frame.setVisible(true);
}
if (username.isEmpty() || password.isEmpty()) {
JOptionPane.showMessageDialog(frame, "Please enter both username and password!",
"Warning", JOptionPane.WARNING_MESSAGE);
return;
}
try {
String query = "SELECT role FROM users WHERE username = ? AND password = ?";
Computer Engineering 2024-25 Page | 29
Rajiv Gandhi Polytechnic, Udgir Quiz game
if (rs.next()) {
String role = rs.getString("role");
frame.dispose();
if (role.equals("admin")) {
openAdminPanel(username);
} else {
openUserPanel(username);
}
} else {
JOptionPane.showMessageDialog(frame, "Invalid Username or Password!", "Error",
JOptionPane.ERROR_MESSAGE);
}
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(frame, "Login Error!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
class RegistrationForm {
private JFrame frame;
private JTextField usernameField;
private JPasswordField passwordField;
private Connection connection;
public RegistrationForm() {
connectToDatabase();
createRegistrationGUI();
Computer Engineering 2024-25 Page | 30
Rajiv Gandhi Polytechnic, Udgir Quiz game
panel.add(userLabel);
panel.add(usernameField);
panel.add(passLabel);
panel.add(passwordField);
panel.add(registerButton);
frame.add(panel);
frame.setVisible(true);
}
if (username.isEmpty() || password.isEmpty()) {
JOptionPane.showMessageDialog(frame, "Fields cannot be empty!", "Warning",
JOptionPane.WARNING_MESSAGE);
return;
}
try {
String query = "INSERT INTO users (username, password, role) VALUES (?, ?, 'user')";
PreparedStatement stmt = connection.prepareStatement(query);
stmt.setString(1, username);
stmt.setString(2, password);
stmt.executeUpdate();
JOptionPane.showMessageDialog(frame, "Registration Successful!");
frame.dispose();
new QuizSystem();
} catch (SQLException e) {
JOptionPane.showMessageDialog(frame, "Username already exists!", "Error",
JOptionPane.ERROR_MESSAGE);
}
}
}
10.2 Snapshots
Login Page:-
Admin pages:-
Computer Engineering 2024-25 Page | 34
Rajiv Gandhi Polytechnic, Udgir Quiz game
Question pages :-
11 .Conclusion
12 BIBILIOGRAPGY
BOOKS
Guidance of Teachers
www.Openai.com
www.blackbox.com
www.google.com
www.wikipedia.com
www.techterms.com
www.academia.com
https://www.proprofs.com/quiz-school/topic/jee-exam
https://www.jeefocus.com/
https://www.quizrr.in/