random question paper generation

39
RANDOM QUESTION PAPER GENERATION The Mini Project Report submitted in partial fulfillment of the requirements for the BACHELOR OF TECHNOLOGY IN COMPUTER SCIENCE ENGINEERING By Ayesha Nishath 09241A0560 Madhuri Karukonda 09241A0573 Nandini Polavarapu 09241A0579 Sneha kankani 09241A05A4 Under the Esteemd Guidance of Ch.MALLIKARJUNA RAO

Upload: anitha-subramanian

Post on 27-Oct-2015

93 views

Category:

Documents


0 download

DESCRIPTION

RANDOM QUESTION PAPERGENERATION

TRANSCRIPT

Page 1: RANDOM QUESTION PAPER  GENERATION

RANDOM QUESTION PAPER

GENERATION

The Mini Project Report submitted in partial fulfillment of the

requirements for the

BACHELOR OF TECHNOLOGY

IN

COMPUTER SCIENCE ENGINEERING

By

Ayesha Nishath 09241A0560

Madhuri Karukonda 09241A0573

Nandini Polavarapu 09241A0579

Sneha kankani 09241A05A4

Under the Esteemd Guidance of

Ch.MALLIKARJUNA RAO

Page 2: RANDOM QUESTION PAPER  GENERATION

CERTIFICATE

This is to Certify that it is a bonafide record of the Mini project work

entitled “Random question paper generation” done by Ayesha

Nishath(09241A0560),Madhuri Karukonda(09241A0573)

Nandini Polavarapu(09241A0579),Sneha Kankani(09241A05A4)

students of BTech(CSE) in the Gokaraju Rangaraju Institute of

Engineering and Technology during the Year 2012-2013 in the partial

fulfillment of the requirements for the award of Degree in the Bachelor

of Compute Science Engineering .

This Work is not submitted to any other University for the award of any

Degree/Diploma.

Ch.Mallikarjuna Rao Anuradha

Professor of CSE HOD

GRIET,HYDERABAD GRIET,HYDERABAD

Page 3: RANDOM QUESTION PAPER  GENERATION

ACKNOWLEDGEMENT

We wish to express our deep gratitude to Ch. Mallikarjuna Rao for all

the encouragement and constant support throughout our miniproject.

This would not have been possible for his valuable suggestions and

support.

We are grateful to G Anuradha (HOD of CSE),Members of Project

Review Committee for their valuable suggestions.

We are also grateful to Dr.Jandhyala N Murthy(Principal), Professor

P.S.Raju(Director) for giving us all the necessary facilities to carry out

our mini project successfully.

We would like to thank our friends for their constructive criticism and

help during our miniproject.

Ayesha Nishath 09241A0560

Nandini Polavarapu 09241A0579

Madhuri Karukonda 09241A0573

Sneha Kankani 09241A0584

Page 4: RANDOM QUESTION PAPER  GENERATION

INDEX

Table of Contents:

1. Introduction

1.1 Project Overview

2.Software Description

2.1 Working with NetbeansIDE

2.2 Using JDBC

3.Programming Code.

4.Screen Shots

5.Purpose

5.1 Scope

6.Results

6.1 Results

6.2 Conclusion

7.References

Page 5: RANDOM QUESTION PAPER  GENERATION

PROJECT OVERVIEW

This project performs all tasks related to

paper setting, starting from preparing question paper to

printing paper. This project is mainly designed to be used by our

college administration for generating a Question paper. The question

paper can be used for the semester examinations. It selects questions

randomly from a question bank available in the database. The

database contains the subjects and their respective questions of all

semesters, for the various branches of Engineering. The faculty can

also edit the question papers, if they have any desired question to be

included in the question paper. There are very rare chances for the

disclosure of Question paper as it provides good security, due to the

unpredictable questions generated.

The Platform used in this project is Net Beans-IDE and Java

Database connectivity (JDBC) is used as the interface. The JDBC &

ODBC drivers are configured to interact with the NET BEANS-IDE, to

facilitate flawless integration of backend and front end of the

project. JDBC is used for accessing databases in the Java

applications. The databases are entered by creating tables using the

MYSQL commands on Oracle server embedded in the Net Beans-IDE.

Page 6: RANDOM QUESTION PAPER  GENERATION

About Netbeans:

NetBeans refers to both a platform framework for Java desktop

applications and an integrated development environment (IDE) for

developing with Java, JavaScript, PHP, Python (no longer supported after NetBeans ,

Groovy, C, C++, Scala , Clojure and others

The NetBeans IDE is written in Java and can run on Windows, OS X,

Linux, Solaris and other platforms supporting a compatible JVM. A pre-

existing JVM or a JDK is not required.

The NetBeans platform allows applications to be developed from a set of

modular software components called modules. Applications based on the

NetBeans platform (including the NetBeans IDE) can be extended by

third party developers.

NetBeans Platform

The NetBeans Platform is a reusable framework for simplifying the

development of Java Swing desktop applications. The NetBeans IDE

bundle for Java SE contains what is needed to start developing NetBeans

plugins and NetBeans Platform based applications; no additional SDK is

required.

Applications can install modules dynamically. Any application can

include the Update Center module to allow users of the application to

Page 7: RANDOM QUESTION PAPER  GENERATION

download digitally signed upgrades and new features directly into the

running application. Reinstalling an upgrade or a new release does not

force users to download the entire application again.

The platform offers reusable services common to desktop applications,

allowing developers to focus on the logic specific to their application.

Among the features of the platform are:

• User interface management (e.g. menus and toolbars)

• User settings management

• Storage management (saving and loading any kind of data)

• Window management

• Wizard framework (supports step-by-step dialogs)

• NetBeans Visual Library

• Integrated development tools

• NetBeans IDE is a free, open-source, cross-platform IDE with

built-in-support for Java Programming Language.

NetBeans IDE is an open-source integrated development environment.

NetBeans IDE supports development of all Java application types (Java

SE (including JavaFX), Java ME, web, EJB and mobile applications) out

of the box. Among other features are an Ant-based project system,

Maven support, refactorings, version control (supporting CVS,

Subversion, Mercurial and Clearcase).

Modularity: All the functions of the IDE are provided by modules. Each

module provides a well defined function, such as support for the Java

language, editing, or support for the CVS versioning system, and SVN.

NetBeans contains all the modules needed for Java development in a

single download, allowing the user to start working immediately.

Page 8: RANDOM QUESTION PAPER  GENERATION

Using JDBC in General

1. Load the JDBC driver. To load a driver, you specify the classname

of the database driver in the Class.forName method. By doing so,

you automatically create a driver instance and register it with the

JDBC driver manager.

2. Define the connection URL. In JDBC, a connection URL specifies

the server host, port, and database name with which to establish a

connection.

3. Establish the connection. With the connection URL, username,

and password, a network connection to the database can be established.

Once the connection is established, database queries can be

performed until the connection is closed.

4. Create a Statement object. Creating a Statement object enables

you to send queries and commands to the database.

5. Execute a query or update. Given a Statement object, you can

send SQL statements to the database by using the execute,

executeQuery, executeUpdate, or executeBatch methods.

6. Process the results. When a database query is executed, a

ResultSet is returned. The ResultSet represents a set of rows

and columns that you can process by calls to next and various

getXxx methods.

7. Close the connection. When you are finished performing queries

and processing results, you should close the connection, releasing

resources to the database.

Page 9: RANDOM QUESTION PAPER  GENERATION
Page 10: RANDOM QUESTION PAPER  GENERATION

Once you have a Statement object, you can use it to send SQL queries

by using the

executeQuery method, which returns an object of type ResultSet. Here is

an

example.

String query = "SELECT col1, col2, col3 FROM sometable";

ResultSet resultSet = statement.executeQuery(query);

The following list summarizes commonly used methods in the Statement

class.

• executeQuery. Executes an SQL query and returns the data in a

ResultSet. The ResultSet may be empty, but never null.

• executeUpdate. Used for UPDATE, INSERT, or DELETE commands.

Returns the number of rows affected, which could be zero. Also

provides support for Data Definition Language (DDL) commands, for

example, CREATE TABLE, DROP TABLE, and ALTER TABLE.

Page 11: RANDOM QUESTION PAPER  GENERATION
Page 12: RANDOM QUESTION PAPER  GENERATION

Authenticate:

<%@page import="java.io.*,java.sql.*;"%>

<%

try

{

String nm=request.getParameter("name");

String pwd=request.getParameter("password");

Class.forName("org.apache.derby.jdbc.ClientDriver");

Connection

co=DriverManager.getConnection("jdbc:derby://localhost:1527/login","login","login");

Statement st=co.createStatement();

ResultSet rs=st.executeQuery("select name,password from login where name='"+nm+"'

and password='"+pwd+"'");

int c=0;

if(rs.next()){

//out.println("<center><br><h1>Login successfull</h1></center></body>");

response.sendRedirect("select.jsp");

}

else{

//out.println("<center><br><h1>Login Failed</h1></center></body>");

response.sendRedirect("login.jsp?yes=User name or Password is invalid");

// out.println("Login Failed");

}

Page 13: RANDOM QUESTION PAPER  GENERATION

out.println("</body>");

}

catch(Exception e){out.println(e);}

%>

Page 14: RANDOM QUESTION PAPER  GENERATION

Change:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<h1>Hello World!</h1>

</body>

</html>

<%@page import="java.io.*,java.sql.*;"%>

<%

try

{

String user=request.getParameter("user");

String op=request.getParameter("oldpwd");

String np=request.getParameter("newpwd");

String cp=request.getParameter("conpwd");String pwd;

Class.forName("org.apache.derby.jdbc.ClientDriver");

Connection

co=DriverManager.getConnection("jdbc:derby://localhost:1527/login","login","login");

PreparedStatement up;

Statement st=co.createStatement();

ResultSet rs=st.executeQuery("select password from login where name='"+user+"'");

if(rs.next())

Page 15: RANDOM QUESTION PAPER  GENERATION

if(op.equals(rs.getString("password")))

{

out.println("np="+np+"cp="+cp);

if(np.equals(cp))

{

up=co.prepareStatement("update login set password='"+np+"' where

name='"+user+"'");

up.executeUpdate();

response.sendRedirect("login.jsp?yes=Password updated sucessfully");

}

else

{

response.sendRedirect("password.jsp?yes=Entered password in invalid");

}

}

else

{

response.sendRedirect("password.jsp?yes=Entered old password in invalid");

}

}

catch(Exception e)

{

out.println("Exception"+e);

}%>

Page 16: RANDOM QUESTION PAPER  GENERATION

Edit:

<html>

<head>

<style type="text/css">

<!--

input {

vertical-align:middle;

font-size:15px;

font-family: Arial, Geneva, Helvetica, sans-serif;

font-weight: bold;

}

-->

</style>

</head>

</html>

<form action="final.jsp" name="form">

<%@page import="java.io.*,java.sql.*;"%>

<%

try

{

String q[][]=(String [][])session.getAttribute("q");

session.setAttribute("q",q);

//out.println("<h2>LENGTH="+q.length+"n="+reqt.getParameter("n"));

int n=Integer.parseInt(request.getParameter("n"));

int x=97,count=0,f=-1;

Page 17: RANDOM QUESTION PAPER  GENERATION

for(int i=0;i<8;i++)

{

if(q[i][1]==null)

count=1;

out.println("<h4>"+(i+1)+".");

for(int j=0;j<n&&q[i][j]!=null;j++)

{

if(count==1);

else

{

out.println("("+(char)(x+j)+")");

}

f++;

count=0;

%>

<input type="text" name=<%=f+""%> size="120" value="<%=q[i][j]%>"

align="left"><br>

<%

}

}

%>

<center><input type="submit" value="ok" >

<input type="hidden" name="set" value=<%=request.getParameter("set")%>>

<input type="hidden" name="f" value=<%=f%>>

Page 18: RANDOM QUESTION PAPER  GENERATION

<input type="hidden" name="n" value=<%=n%>></center></form>

<%

}

catch(Exception e)

{

out.println("Exception"+e);

}

%>

Page 19: RANDOM QUESTION PAPER  GENERATION

Final:

<%@page import="java.io.*,java.sql.*;"%>

<%

try

{

int n=Integer.parseInt(request.getParameter("n"));

String q[][]=(String [][])session.getAttribute("q");

session.setAttribute("q",q);

int f=-1;

for(int i=0;i<8;i++)

{

for(int j=0;(j<n)&&(q[i][j]!=null);j++)

{

f++;

//out.println("q["+i+"]["+j+"] = "+request.getParameter(f+""));

String question=request.getParameter(f+"");

// out.println("<h2>"+question+"<br>");

if(question=="")

q[i][j]=null;

else

q[i][j]=question;

}

}%>

<input type="hidden" name="set" value=<%=request.getParameter("set")%>>

Page 20: RANDOM QUESTION PAPER  GENERATION

<input type="hidden" name="n" value=<%=n%>>

<%

pageContext.forward("print.jsp");

}

catch(Exception e)

{

out.println(e);

}

%>

Page 21: RANDOM QUESTION PAPER  GENERATION

Edit:

<html>

<frameset rows="25%,*" frameborder="no">

<frame src="griet.jsp" name="image">

<frame src="login.jsp" name="log"/>

</frameset>

</html>

Page 22: RANDOM QUESTION PAPER  GENERATION

Login

<%@page import="java.io.*,java.sql.*;"%>

<html>

<title>Gokaraju rangaraju institue of engineering and technology</title>

<body>

<font color="brown" size="50">

<center><b>Login</b><br></center>

</font>

<% String p=request.getParameter("yes");

if(p!=null)

{%>

<center><font color="red" size="5px"><%out.println("<br>"+p);%></font></center>

<% }%>

<font color="Black" size="5px">

<center>

<form name="forms" action="authenticate.jsp">

<table>

<tr><td><b>Name:</b></td><td><input type="text" name="name"></td></tr>

<tr><td><b>Password:</b></td><td><input type="password"

name="password"></td></tr>

<br>

<tr>

<td><a href="forgot.jsp" target=log>forgot password?</a></td>

<td><a href="password.jsp" target=log>change password?</a></td>

</tr><br>

Page 23: RANDOM QUESTION PAPER  GENERATION

</table>

<input type="Submit" value="submit" style="height: 25px; width: 100px">

<input type="reset" value="Reset" style="height: 25px; width: 100px">

</form>

</center>

</font>

</body>

</html>

Page 24: RANDOM QUESTION PAPER  GENERATION

Password:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<% String p=request.getParameter("yes");

if(p!=null)

{%>

<center> <font color="red" size="5px" style="text-decoration:

blink"><%out.println("<br>"+p);%></font></center>

<% }%>

<form action="change.jsp">

<center>

<table>

<tr><td><b>User Name:</b></td><td><input type="text" name="user"></td></tr>

<tr><td><b>Old password:</b></td><td><input type="password"

name="oldpwd"></td></tr>

<tr><td><b>New Password:</b></td><td><input type="password"

name="newpwd"></td></tr>

<tr><td><b>Confirm Password:</b></td><td><input type="password"

name="conpwd"></td></tr>

<br>

<tr>

</table>

Page 25: RANDOM QUESTION PAPER  GENERATION

<input type="Submit" value="submit" style="height: 25px; width: 100px">

<input type="reset" value="reset" style="height: 25px; width: 100px">

</center>

</form>

</body>

</html>

Page 26: RANDOM QUESTION PAPER  GENERATION

Print:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<img alt="logo" src="Images/logo2.jpg" align="left" height="80px" width="150px">

<center><h1>Gokaraju Rangaraju Institute of Engineering And Technology

</h1></center>

<div align="center"><%String set=request.getParameter("set");%></div><h3><div

align=right>Time:3:00hrs<br>MaxMarks:75</div></h3>

<center><h2>Set-<%out.print(set);%></h2></center>

</body>

</html>

<%@page import="java.io.*,java.sql.*;"%>

<%

try

{

String q[][]=(String [][])session.getAttribute("q");

//out.println("<h2>LENGTH="+q.length+"n="+request.getParameter("n"));

int n=Integer.parseInt(request.getParameter("n"));

int x=97,count=0,f=0,l;

out.println("<h3><u><center>Each queston carries 16 Marks</center></u></h3>");

for(int i=0;i<8;i++)

{

Page 27: RANDOM QUESTION PAPER  GENERATION

l=0;

out.println("<h3>"+(i+1)+".");

for(int k=0;k<n;k++)

{

if(q[i][k]==null);

else

l++;//out.println("l="+l);

}

if(q[i][1]==null||l==1)

count=1;//out.println("c="+count);

for(int j=0;j<n;j++)

{

if(q[i][j]==null)

f++;

else if(q[i][j]!=null&&count==1)

out.println(q[i][j]+"<br>");

else

{

out.println("("+((char)(x+(j-f)))+")."+q[i][j]+"<br>");

out.println("\t\t");

}

}

count=f=0;

}

Page 28: RANDOM QUESTION PAPER  GENERATION

}

catch(Exception e)

{

out.println("Exception"+e);

}

%>

Page 29: RANDOM QUESTION PAPER  GENERATION

Question paper:

<%--

Document : question_paper

Created on : 1 Aug, 2012, 9:36:38 PM

Author : Nandini

--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.io.*,java.sql.*;"%>

<html>

<head>

</head>

<body>

<img alt="logo" src="Images/logo2.jpg" align="left" height="80px" width="150px">

<center><h1>Gokaraju Rangaraju Institute of Engineering And Technology

</h1></center>

<div align="center"><%String set=request.getParameter("set");%></div><h3><div

align=right>Time:3:00hrs<br>MaxMarks:75</div></h3>

<center><h2>Set-<%out.print(set);%></h2></center>

</body>

</html>

<%

String url=request.getParameter("url");

Page 30: RANDOM QUESTION PAPER  GENERATION

String user=request.getParameter("user");

String pwd=request.getParameter("pwd");

String sub=request.getParameter("sub");

try

{

int i,x=97;

String unit=null;

int u[]=new int[20];

char c;int n=0;

Connection co=DriverManager.getConnection(url,user,pwd);

Statement st=co.createStatement();

ResultSet rs,result;

String query="select ques from "+sub+" where unit=";

for(i=0;i<8;i++)

{

unit=request.getParameter((i+1)+"");

if(unit!=null)

u[i]=Integer.parseInt(unit);

//out.println(u[i]);

if(u[i]>n)

n=u[i];

}

String q[][]=new String[8][n];

session.setAttribute("q",q);

result=st.executeQuery("Select * from "+sub);

Page 31: RANDOM QUESTION PAPER  GENERATION

out.println("<h3><u><center>Each queston carries 16 Marks</center></u></h3>");

for(i=0;i<8;i++)

{

rs=st.executeQuery(query+(i+1)+"ORDER BY RANDOM()");

//out.println("<h4>Unit "+(i+1));

if(u[i]==1&&rs.next())

{

//out.println("u[i]==1<br>");

String question=rs.getString("ques");

out.println("<h4>"+(i+1)+"."+question);

q[i][0]=question;

}

else

{

int j=0;

c=(char)x;

//out.println("u[i]!=1");

out.println("<h4>"+(i+1)+".");

while(rs.next()&&j<u[i])

{

String question=rs.getString("ques");

out.println("("+(char)(x+j)+")."+question+"<br>");

q[i][j]=question;

j++;

}

Page 32: RANDOM QUESTION PAPER  GENERATION

}

}

%>

<form action="" >

<input type="hidden" name="set" value=<%=request.getParameter("set")%>><br>

<input type="hidden" name="n" value=<%=n%>><br>

<center><input type="Submit" value="ok" style="height: 25px; width: 100px"

onClick="this.form.action='print.jsp';">

<input type="Submit" value="edit" style="height: 25px; width: 100px"

onClick="this.form.action='edit.jsp';"></center>

</form>

<%

}

catch(Exception e)

{

out.println("Exception"+e);

}

%>

Page 33: RANDOM QUESTION PAPER  GENERATION

Select:

<html>

<title>

selection

</title>

<body>

<center>

<table>

<form name="select" action="subject.jsp">

<tr><td>Select the year :</td>

<td><select name="y">

<option value="firstyr">1st</option>

<option value="twoone">2-1</option>

<option value="twotwo">2-2</option>

<option value="threeone">3-1</option>

<option value="threetwo">3-2</option>

<option value="fourone">4-1</option>

<option value="fourtwo">4-2</option>

</select>

</td>

</tr>

<tr><td><input type="image" src="Images/examination-papers.jpg"

style="position:absolute;

left:306px;

top:127px;

Page 34: RANDOM QUESTION PAPER  GENERATION

width:200px;height: 200px;"

alt="Submit" name="submit" value="Submit">

</form>

</table>

</center>

</body>

</html>

Subject:

<%@page language="java" import="java.io.*,java.sql.*;"%>

<%

String url=null,user=null,pwd=null;

try

{

Class.forName("org.apache.derby.jdbc.ClientDriver");

String year=request.getParameter("y");

if(year.equals("firstyr"))

{

url="jdbc:derby://localhost:1527/firstyr";

user="firstyr";

pwd="firstyr";

}

else

{

url="jdbc:derby://localhost:1527/cse";

user="cse";

Page 35: RANDOM QUESTION PAPER  GENERATION

pwd="cse";

}

Connection co=DriverManager.getConnection(url,user,pwd);

Statement st=co.createStatement();

ResultSet rs=st.executeQuery("select * from "+year);

int i=0;

%>

<html>

<head>

<link rel='stylesheet' type="text/css" href="css_sheets/links.css"/>

</head>

<body>

<%

while(rs.next())

{

String sub=rs.getString("short");

out.println("\n<center>");

out.println("<a

href=units.jsp?value="+sub+"&url="+url+"&pwd="+pwd+"&user="+user+">"+rs.getString("su

b")+"</a>");

out.println("</center>");

}

%>

</body>

</html>

<%

Page 36: RANDOM QUESTION PAPER  GENERATION

}

catch(Exception e)

{

out.println("EXCEPTION:"+e);

}

%>

Units:

<html>

<head>

<title>units</title>

</head>

<body>

<center>

<%out.println("<h1>"+request.getParameter("value")+"</h1><br>");%>

<form name="units" action="question_paper.jsp">

<table>

<tr><td><b>Unit-I :</b></td><td><input type="text" name="1" size="4"

value=""></td></tr>

<tr><td><b>Unit-II:</b></td><td><input type="text" name="2" size="4"

value=""></td></tr>

<tr><td><b>Unit-III:</b></td><td><input type="text" name="3" size="4"

value=""></td></tr>

<tr><td><b>Unit-IV:</b></td><td><input type="text" name="4" size="4"

value=""></td></tr>

<tr><td><b>Unit-V:</b></td><td><input type="text" name="5" size="4"

value=""></td></tr>

Page 37: RANDOM QUESTION PAPER  GENERATION

<tr><td><b>Unit-VI:</b></td><td><input type="text" name="6" size="4"

value=""></td></tr>

<tr><td><b>Unit-VII:</b></td><td><input type="text" name="7" size="4"

value=""></td></tr>

<tr><td><b>Unit-VIII:</b></td><td><input type="text" name="8" size="4"

value=""></td></tr><br>

<tr><td>Set-<select name="set">

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

</select>

</tr>

</table>

<input type="hidden" name="url" value=<%=request.getParameter("url")%>>

<input type="hidden" name="user" value=<%=request.getParameter("user")%>>

<input type="hidden" name="pwd" value=<%=request.getParameter("pwd")%>>

<input type="hidden" name="sub" value=<%=request.getParameter("value")%>><br>

<input type="Submit" value="submit" style="height: 25px; width: 100px"

onclick="this.form.target='_blank';return true">

<input type="reset" value="reset" style="height: 25px; width: 100px">

</form>

</center>

</body>

</html>

Page 38: RANDOM QUESTION PAPER  GENERATION
Page 39: RANDOM QUESTION PAPER  GENERATION