SlideShare a Scribd company logo
1|Page
AN INTERNSHIP REPORT
ON
SCIENTIFIC CALCULATOR PROJECT
BY
Fahimuddin khan
(Tribro Softech Pvt Ltd)
Date: 12 Feb 2015 to 30 Jul 2015"0.6 Months"
2|Page
INTRODUCTION OF THE PROJECT
The project Scientific Calculator is designed to automate the calculation procedure. Making less
paper work and automate the process of calculation.
PROBLEM DEFINITION
A scientific calculator is a type of electronic calculator, usually but not always handled, designed
to calculate problems in science (especially physics),engineering, and mathematics. They have
almost completely replaced slide rules in almost all traditional applications, and are widely used
in both education and professional settings.
In certain contexts such as higher education, scientific calculators have been superseded by
graphing calculators, which offer a superset of scientific calculator functionality along with the
ability to graph input data and write and store programs for the device. There is also some
overlap with the financial calculator market.
Functions
Modern scientific calculators generally have many more features than a standard four or five-
function calculator, and the feature set differs between manufacturers and models; however, the
defining features of a scientific calculator include:
 scientific notation
 floating point arithmetic
 logarith mic functions, using both base 10 and base
 trigonometric functions(some including hyperbolic trigonometry)
 exponential functions and roots beyond the square root
 Quick access to constants
 In addition, high-end scientific calculators will include:
 hexadecimal, binary, and octal calculations, including basic Boolean math
 complex numbers
 fractions
 statistics and probability calculations
 programmability—see Programmable calculator
 equation solving
 calculus
 conversion of units
 physical constants
3|Page
While most scientific models have traditionally used a single-line display similar to traditional
pocket calculators, many of them have at the very least more digits (10 to 12), sometimes with
extra digits for the floating point exponent. A few have multi-line displays, with some recent
models from Hewlett-Packard, Texas Instruments, Casio, Sharp, and Canon using dot matrix
displays similar to those found on graphing calculators.
Uses
Scientificcalculatorsareusedwidelyinanysituationwherequickaccessto certain mathematical
functions is needed, especially those such as trigonometric functions that were once traditionally
looked up in tables; they are also used in situations requiring back-of-the-envelope calculations
of very large numbers, as in some aspects of astronomy, physics, and chemistry.
They are very often required for math classes from the junior high school level through college,
and are generally either permitted or required on many standardized tests covering math and
science subjects; as a result, many are sold into educational markets to cover this demand, and
some high-end models include features making it easier to translate the problem on a textbook
page into calculator input, from allowing explicit operator precedence using parentheses to
providing a method for the user to enter an entire problem in as it is written on the page using
simple formatting tools.
History
Thefirstscientificcalculatorthatincludedallofthebasicfeaturesabovewasthe programmable
Hewlett-PackardHP-9100A, released in 1968, though theWangLOCI-2 and some features later
identified with scientific calculator designs. The HP-9100 series was built entirely from discrete
transistor logic with no integrated circuits, and was one of the first uses of the CORDIC
algorithm for trigonometric computation in a personal computing device, as well as the first
calculator based on reverse Polish notation entry. HP became closely identified with RPN
calculators from the non, and even today some of their high- end calculators (particularly the
long-livedHP-12Cfinancial calculator and the HP-48series of graphing calculators) still offer
RPN as their default input mode due to having garnered a very large following.
TheHP-35, introduced on February 1, 1972, was Hewlett-Packard's first pocket calculator and
theworld'sfirsthandheldscientificcalculator.LikesomeofHP'sdesktopcalculatorsitusedreverse
Polish notation. Introduced at US$395, the HP-35was available from1972to 1975. HP continues
to develop and market high-end scientific calculators, like the HP-35sandHP-49series, which
have been favored by scientists and engineers, in labs, offices, as well as in the field. Texas
Instruments, after the introduction of several units with scientific notation, came out with a
handheld scientific calculator on January15, 1974 in the form of the SR-50. TI continues to be a
major player in the calculator market, with their long-runningTI-30series being one of the most
widely used scientific calculators in classrooms.
4|Page
FEASIBILITY STUDY
A feasibility study is an evaluation of a proposal designed to determine the difficulty in carrying
out a designated task. Generally, a feasibility study precedes technical development and project
implementation. In other words, a feasibility study is an evaluation or analysis of the potential
impact of a proposed project.
Five common factors (TELOS)
Technology and system feasibility
The assessment is based on an outline design of system requirements in terms of Input,
Processes, Output, Fields, Programs, and Procedures. This can be quantified inter ms of volumes
of data, trends, frequency of updating, etc. in order to estimate whether the new system will
perform adequately or not. Technological feasibility is carried out to determine whether the
company has the capability, in terms of software, hardware, personnel and expertise, to handle
the completion of the project.
Economic feasibility
Economic analysis is the most frequently used method for evaluating the effectiveness of a new
system. More commonly known as cost/benefit analysis, the procedure is to determine the
benefits and savings that are expected from a candidate system and compare them with costs. If
benefits outweigh costs, then the decision is made to design and implement the system. An
entrepreneur must accurately weigh the cost versus benefits before taking an action.
Cost Based Study: It is important to identify cost and benefit factors, which can be categorized
as follows: 1. Development costs; and 2. Operating costs. This is an analysis of the costs to be
incurred in the system and the benefits derivable out of the system.
Time Based Study: This is an analysis of the time required to achieve a return on investments.
The benefits derived from the system. The future value of a project is also a factor.
Legal feasibility
Determineswhethertheproposedsystemconflictswithlegalrequirements, e.g. a data processing
system must comply with the local Data Protection Acts.
Operational feasibility
Is a measure of how well a proposed system solves the problems, and takes advantage of the
opportunities identified during satisfies there identified in the requirements analysis phase.
5|Page
Schedule feasibility
A project will fail if it takes too long to be completed before it is useful. Typically this means
estimating how long the system will take to develop, and if it can be completed in a given time
period using some methods like payback period. Schedule feasibility is a measure of how
reasonable the project timetable is. Given our technical expertise, are the project deadlines
reasonable? Some projects are initiated with specific deadlines. You need to determine whether
the deadlines are mandatory or desirable...
Other feasibility factors
Market and real estate feasibility
Market Feasibility Study typically involves testing geographic locations for a real estate
development project, and usually involves parcels of real estate land. Developers often conduct
market studies to determine the best location within a jurisdiction, and to test alternative land
uses for given parcels. Jurisdictions often require developers to complete feasibility studies
before they will approve a permit application for retail, commercial, industrial, manufacturing,
housing, office or mixed-use project. Market Feasibility takes into account the importance of the
business in the selected area.
Resource feasibility
This involves questions such as how much time is available to build the new system, when it can
be built, whether it interferes with normal business operations, type and amount of resources
required, dependencies, etc. Contingency and mitigation plans should also be stated here.
Cultural feasibility
In this stage, the project's alternatives are evaluated for their impact on the local and general
culture. For example, environmental factors need to be considered and these factors are to be
well known. Further an enterprise's own culture can clash with the results of the project.
6|Page
Output
The feasibility study outputs the feasibility study report, a report detailing the evaluation criteria,
the study findings, and the recommendations.
Software Specification
 FrontEnd:VisualBasic6.0
 Back End: Microsoft Access 2003
7|Page
DATA FLOW DIAGRAM
Data flow diagram example.
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system, model its process aspects. Often they are a preliminary step used to create
an over view of the system which can later be elaborated . DFD scan so be used for the
visualization of data processing (structured design).
A DFD shows what kinds of data will be input to and output from the system, where the data
will come from and go to, and where the data will be stored. It does not show information about
the timing of processes, or information about whether processes will operate in sequence or in
parallel (which is shown on a flowchart).
8|Page
Overview
Data flow diagram example.
It is common practice to draw the context-level data flow diagram first, which shows the
interaction between the system and external agents which act as data sources and data sinks. On
the context diagram the system's interactions with the outside world are modeled purely inter ms
of data flows across the system boundary. The context diagram shows the entire system as a
single process, and gives no clues as to its internal organization.
This context-level DFD is next "exploded", to produce a Level 0 DFD that shows some of the
detail of the system being modeled. The Level0 DFD shows how the system is divided into sub-
systems (processes), each of which deals with one or more of the data flows to or from an
external agent, and which together provide all of the functionality of the system as a whole. It
also identifies internal data stores that must be present in order for the system to do its job, and
shows the flow of data between the various parts of the system.
9|Page
Data flow diagrams were proposed by Larry Constantine, the original developer of structured
design, based on Martin "data flow graph" model of computation.
Data flow diagrams (DFDs) are one of the three essential perspectives of the structured-systems
analysis and design method SSADM.
brief and consulted throughout all stages of a system's evolution. With a data flow diagram, users
are able to visualize how the system will operate, what the system will accomplish, and how the
system will be implemented. The old system's dataflow diagrams can be drawn up and compared
with the new system's data flow diagrams to draw comparisons to implement a more efficient
system. Data flow diagrams can be used to provide the end user with a physical idea of where
the data they input ultimately has an effect upon the structure of the whole system from order to
dispatch to report. How any system is developed can be determined through a data flow diagram.
In the course of developing a set of leveled data flow diagrams the analyst/designers is forced to
address how the system may be decomposed into component sub-systems, and to identify the
transaction data in the data model.
There are different notations to draw data flow diagrams (Yourdon & Co), defining different
visual representations for processes, data stores, data flow, and external entities.
10|Page
DATA DICTIONARY
A data dictionary, or meta data repository, as defined in the IBM Dictionary of Computing, is a
"centralized repository of information about data such as meaning, relationships to other data,
origin, usage, and format."The term may have one of several closely related meanings pertaining
to databases and database management systems (DBMS):
A document describing a database or collection of databases
An integral component of a DBMS that is required to determine its structure
A piece of middleware that extends or supplants the native data dictionary of a DBMS
Documentation
The term Data Dictionary and Data Repository are used to indicate a more general software
utility than a catalogue. A Catalogue is closely coupled with the DBMS Software; it provides the
information stored in it to user and the DBA, but it is mainly accessed by the various software
modules of the DBMS itself, such as DDL and DML compilers, the query optimizer , the
transaction processor, report generators, and the constraint enforcer. On the other hand, a Data
Dictionary is a data structure that stores meta-data, i.e., data about data. The Software package
for a stand-alone Data Dictionary or Data Repository may interact with the software modules of
the DBMS, but it is mainly used by the Designers, Users and Administrators of a computer
system for information resource management. These systems are used to maintain information
on system hardware and software configuration, documentation, application and users as well as
other information relevant to system administration.
If a data dictionary system is used only by the designers, users, and administrators and not by the
DBMS Software , it is called a Passive Data Dictionary; otherwise, it is called an Active Data
Dictionary or Data Dictionary. An Active Data Dictionary is automatically updated as changes
occur in the database. A Passive Data Dictionary must be manually updated.
The data Dictionary consists of record types (tables) created in the database by systems
generated command files, tailored for each supported back-end DBMS. Command files contain
SQL Statements for CREATE TABLE,CREATE UNIQUE INDEX,ALTER TABLE(for
Referential integrity),etc, using the specific statement required by that type of database.
Data base users and application developers can benefit from an authoritative data dictionary
document that catalogs the organization, contents, and conventions of one or more databases.
This typically includes the names and descriptions of various tables and fields in each database,
plus additional details, like the type and length of each data element. There is no universal
standard as to the level of detail in such a document, but it is primarily a weak kind of data.
11|Page
ENTITY-RELATIONSHIP MODEL
A sample Entity-relationship diagram using Chen's notation
In software engineering, an entity-relationship model(ERM) is an abstract and conceptual
representation of data. Entity-relationship modeling is a database modeling method, used to
produce a type of conceptual schema or semantic data model of a system, often are lational
database, and its requirements in a top-down fashion. Diagrams created by this process are called
entity-relationship diagrams, ER diagrams, or ERDs.
This article refers to the techniques proposed in Peter Chen's 1976 paper. However, variants of
the idea existed previously, and have been devised subsequently.
Overview
The first stage of information system design uses these models during the requirements analysis
to describe information needs or the type of information that is to be stored in a database. The
data modeling technique can be used to describe any on to logy (i.e. an overview and
classifications of used terms and their relationships) for a certain area of interest. In the case of
the design of an information system that is based on a database, the conceptual data model is, at
a later stage(usually called logical design),mapped to a logical data model, such as the relational
model; this in turn is mapped to a physical model during physical design. Note that sometimes,
both of these phases are referred to as "physical design".
12|Page
SYSTEM PHYSICAL DESIGN
13|Page
14|Page
15|Page
Calc.frm
CODING
Public no1As Double,no2 As Double, Which No As Boolean, Dot As Boolean, op As String,
answer As Double, Dot Val As Long
Sub text value(num As Long)
On Error Go To Over Flow Error If (Not Which No) Then
If(Dot)Then
Dot Val=DotVal+1 temp = num
For i = 1 To Dot Val temp=(temp/ 10)
Next
no1=no1+temp Else
temp = no1 * 10 no1=temp +num
End If Text1.Text=no1
Else
If(Dot)Then
Dot Val=DotVal+1 temp = num
For i = 1 To Dot Val temp=(temp/ 10)
16|Page
Next
no2=no2+temp Else
temp = no2 * 10 no2=temp +num
End If Text1.Text=no2
End If txtNO1.Text=no1 txtNO2.Text=no2 txt OP. Text = op
Txt ANS. Text=answer Exit Sub
Ovr Flow Error:
Mug Box" Over flow occurred ! "& Chr (13)&"Please restart your job." ,vb Exclamation, "Error
– A me Calculator"
End Sub Sub calc()
On Error Go To arith error Select Case op
Case"+"
answer=(no1+no2) Case "-"
answer=(no1-no2) Case "*"
17|Page
answer=(no1*no2) Case "/"
answer=(no1/no2) Case "%"
'answer=(no1%no2) Case "&"
answer=(no1&no2) Case "|"
answer=(no1&no2) Case "~"
answer=(Notno1) Case "sin"
answer=(Sin(no1)) Case "cos"
answer=(Cos(no1)) Case "tan"
answer=(Tan(no1)) Case "cosec"
answer=(1/Sin(no1)) Case "sec"
answer=(1/Cos(no1)) Case "cot"
answer=(1/Tan(no1)) Case "ln"
answer=(Log(no1))
18|Page
Case "log"
answer=(Log(no1)/2.30258509299405) Case "^"
answer=(no1^no2) Case "!"
answer=1
For i = 2 To no1 answer=answer*i
Next End Select
Txt OP. Text = "" Which No = False Text1.Text = answer txtNO1.Text = no1 txtNO2.Text =
no2 txt OP. Text = op txt ANS. Text=answer no1 = answer
Exit Sub arith error:
Mug Box "Arithmetic error occurred .Possibly Overflow."& Chr (13)&"Please restart your job.",
vb Exclamation, "Error - Ameya's Calculator"
End Sub
Private Sub error(error no As Long) Select Case error no
19|Page
Case1
Msg Box"Divide by zero error!" Case 2
Msg Box" Operator Over flow!" End Select
End Sub
Private Sub about_ Click () frm About. Show
End Sub
PrivateSubbtn1_Click() text value (1)
End Sub
PrivateSubbtn2_Click() text value (2)
EndSub
PrivateSubbtn3_Click() text value (3)
EndSub
PrivateSubbtn4_Click() text value (4)
EndSub
PrivateSubbtn5_Click() text value (5)
20|Page
End Sub
PrivateSubbtn6_Click() text value (6)
End Sub
PrivateSubbtn7_Click() text value (7)
End Sub
PrivateSubbtn8_Click() text value (8)
End Sub
PrivateSubbtn9_Click() text value (9)
End Sub
PrivateSubbtn0_Click() text value (0)
End Sub
Private Sub btn ADD_ Click() op = "+"
Which No=True Text1.Text = "" Dot Val = 0
Dot=False no2 = 0
End Sub
Private Sub btn SUB_ Click()
21|Page
op = "-" Which No=True Text1.Text = "" Dot Val = 0
Dot=False no2 = 0
End Sub
Private Sub btn MUL_ Click() op = "*"
Which No=True Text1.Text = "" Dot Val = 0
Dot=False no2 = 0
End Sub
Private Sub btn DIV_ Click() op = "/"
Which No=True Text1.Text = "" Dot Val = 0
Dot=False no2 = 0
End Sub
Private Sub btn AND_ Click() op = "&"
22|Page
Which No=True Text1.Text = "" Dot Val = 0
Dot=False End Sub
Private Sub btn OR_ Click() op = "|"
Which No=True Text1.Text = "" Dot Val = 0
Dot=False End Sub
Private Sub btn MOD_ Click() op = "%"
Which No=True Text1.Text = "" Dot Val = 0
Dot=False End Sub
Private Sub btn NOT_ Click() op = "~"
Which No=True Text1.Text = "" Dot Val = 0
Dot=False
23|Page
Calc End Sub
Private Sub btn SIN_Click () op = ""
If( chk INV. Value =1)Then op = "a"
End If
op=op&"sin"
If(chk HYP. Value=1)Then op = op &"h"
End If Dot Val= 0 Dot=False calc
End Sub
Private Sub btn COS_ Click() op = ""
If(chk INV. Value=1)Then op = "a"
End If
op=op&"cos"
If(chk HYP. Value=1)Then op = op &"h"
End If Dot Val=0
24|Page
Dot=False calc
End Sub
Private Sub btn TAN_ Click() op = ""
If(chk INV .Value=1)Then op = "a"
End If
op=op &"tan"
If(chk HYP .Value=1)Then op = op &"h"
End If Dot Val= 0 Dot=False calc
End Sub
Private Sub btn COSEC_ Click() op = ""
If(chk INV. Value=1)Then op = "a"
End If
op=op&"cosec"
If(chk HYP. Value=1)Then op = op &"h"
End If
25|Page
Dot Val= 0 Dot=False calc
End Sub
Private Sub btn SEC_ Click() op = ""
If (chk INV. Value=1)Then op = "a"
End If
op=op&"sec"
If (chk HYP. Value=1)Then op = op &"h"
End If Text1.Text="" Dot Val = 0
Dot=False calc
End Sub
Private Sub btn COT_ Click() op = ""
If ( chk INV. Value=1)Then op = "a"
End If
op=op&"cot"
If( chk HYP. Value =1)Then
26|Page
op=op&"h" End If Text1.Text = "" Dot Val = 0
Dot=False calc
End Sub
Private Sub btn LN_ Click() If (no1 <= 0) Then
Mug Box("logarithmisonlydefinedforpositivenumbers."&Chr(13)&"Pleaseentera valid no and
then take logarithm.")
Else
op = "ln" Text1.Text="" Dot Val = 0
Dot=False calc
End If End Sub
Private Sub btn LOG _Click() If (no1 <= 0) Then
Mug Box("logarithmisonlydefinedforpositivenumbers."&Chr(13)&"Pleaseentera valid no and
then take logarithm.")
Else
op = "log" Text1.Text=""
27|Page
Dot Val= 0 Dot=False calc
End If End Sub
Private Sub btn POW_ Click() op = "^"
Which No=True Text1.Text = "" Dot Val = 0
Dot=False End Sub
PrivateSubbtnPOW2_Click() op = "^"
no2 = 2 Text1.Text="" DotVal = 0
Dot=False calc
End Sub
PrivateSubbtnPOW3_Click() op = "^"
no2 = 3 Text1.Text="" Dot Val = 0
28|Page
Dot=False calc
End Sub
Private Sub btn INV_ Click() op = "^"
no2 = -1 Text1.Text="" Dot Val = 0
Dot=False calc
End Sub
Private Sub btn FACTORIAL_ Click() op = "!"
Text1.Text="" Dot Val = 0
Dot=False calc
End Sub
Private Sub btn SQRT_ Click() If (no1 < 0) Then
MsgBox("Square Root is not defined for negative numbers.")
Else
op = "^" no2=0.5
Text1.Text=""
29|Page
Dot Val= 0 Dot=False calc
End If End Sub
Private Sub btn EXP_ Click() op = "^"
no2=no1
no1=2.30258509299405
Text1.Text="" Dot Val = 0
Dot=False calc
End Sub
Private Sub btn PI_ Click()
If(Not Which No)Then
no1=3.14159265358979
Else
no2=3.14159265358979
End If
Text1.Text="3.14159265358979"
Dot Val= 0 Dot=False
End Sub
Private Sub btn C_ Click()
30|Page
no1=0
no2=0
answer =0
Text1.Text="0" op = ""
Dot Val= 0 Dot=False
Which No = False txtNO1.Text = no1 txtNO2.Text = no2 txt OP .Text = op txt ANS.
Text=answer
End Sub
Private Sub btn CE_ Click()
If(temp)Then no1 = 0
Else
no2=0 End If
Text1.Text="" Dot Val = 0
Dot=False End Sub
Private Sub btn bksp _Click() If (Not Which No) Then
31|Page
If (Len(Str(no1))>1)Then
no1=Format Number (Left(Str(no1),Len(Text1.Text)-1)) Text1.Text = no1
End If Else
If (Len (Str (no2))>0)Then
no2=Format Number (Left(Str(no2),Len(Text1.Text)-1)) Text1.Text = no2
End If End If
If (Dot Val> 0) Then Dot Val= ditval-1
End If txtNO1.Text=no1 txtNO2.Text=no2 txt OP. Text = op
Txt ANS. Text=answer End Sub
Private Sub btn DOT_ Click() If (Dot = False) Then
Dot=True
Text1.Text=Text1.Text&"." Dot Val = 0
End If End Sub
32|Page
Private Sub btn Equal_ Click() calc
no1 = answer Which No=False Dot Val = 0
Dot=False End Sub
PrivateSubCommand2_Click()
Msg Box("Temp="& Str (temp) &"No1="& Str (no1)&"No2="& Str (no2)&"op="&op) End
Sub
Private Sub copy_ Click() Clip board. Set Text (Text1.Text)
EndSub
Private Sub cut_ Click() Clip board. Set Text (Text1.Text) Text1.Text = ""
End Sub
Private Sub exit_ Click() Unload Me
End Sub
Private Sub Form_ Load()
Dimno1,no2,op,WhichNo,Dot,temp no1 = 0
no2=0
answer=0
33|Page
Dot = False Dot Val = 0 Which No=False btn C_ Click
End Sub
Private Sub help topic_ Click()
Mug Box("No help found."& Chr (13)&"We are SORRY for the inconvenience!") End Sub
PrivateSubText1_KeyUp (Key Code As Integer, Shift As Integer) If (Is Numeric(Text1.Text))
Then
If(Not Which No)Then
no1=Format Number(Text1.Text)
Else
no2=Format Number(Text1.Text) End If
End If txtNO1.Text=no1 txtNO2.Text=no2 txt OP. Text = op
Txt ANS. Text=answer End Sub
34|Page
Frmabout.frm
Option Explicit
'Re g Key Security Options...
Const READ_CONTROL=&H20000 Const KEY_QUERY_VALUE=&H1
Const KEY_SET_VALUE=&H2
Const KEY_CREATE_SUB_KEY=&H4
Const KEY_ENUMERATE_SUB_KEYS=&H8 Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK=&H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
KEY_CREATE_SUB_KEY+KEY_ENUMERATE_SUB_KEYS+_ KEY_NOTIFY +
KEY_CREATE_LINK + READ_CONTROL
Re g Key ROOT Types...
Const HKEY_LOCAL_MACHINE=&H80000002 Const ERROR_SUCCESS = 0
Const REG_SZ = 1 'Unicode nul terminated string Const REG_DWORD = 4 ' 32-bit
number
Const REGKEYSYSINFOLOC="SOFTWAREMicrosoftShared Tools Location" Const
REGVALSYSINFOLOC = "MSINFO"
Const REGKEYSYSINFO="SOFTWAREMicrosoftShared ToolsMSINFO" Const g
REGVALSYSINFO = "PATH"
35|Page
Private Sub cmd Sys Info_Click() Call Start Sys Info
End Sub
PrivateSubcmdOK_Click() Unload Me
EndSub
PrivateSubForm_Load()
Me.Caption="About"&App.Title
'lblVersion.Caption="Version"&App.Major&"."&App.Minor&"."&App.Revision
lblTitle.Caption = App.Title
EndSub
PublicSubStartSysInfo()
OnErrorGoTo SysInfoErr
DimrcAsLong
36|Page
DimSysInfoPathAsString
'TryToGetSystemInfoProgramPathName FromRegistry...
IfGetKeyValue(HKEY_LOCAL_MACHINE,gREGKEYSYSINFO,gREGVALSYSINFO,
SysInfoPath) Then
'TryToGetSystemInfoProgramPathOnlyFromRegistry...
ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC,
gREGVALSYSINFOLOC,SysInfoPath)Then
'ValidateExistanceOfKnown32BitFile Version
If(Dir(SysInfoPath&"MSINFO32.EXE")<>"")Then SysInfoPath = SysInfoPath &"
MSINFO32.EXE"
'Error-FileCanNotBeFound... Else
GoToSysInfoErr End If
'Error-RegistryEntryCanNot BeFound... Else
GoToSysInfoErr End If
CallShell(SysInfoPath,vbNormalFocus)
Exit Sub SysInfoErr:
MsgBox"SystemInformationIsUnavailableAtThisTime",vbOKOnly
37|Page
38|Page
EndSub
Public Function GetKeyValue(KeyRoot As Long,KeyNameAs String,SubKeyRef As String,
ByRef KeyVal As String) As Boolean
DimiAsLong 'Loop Counter
DimrcAsLong'Return Code
DimhKeyAsLong 'HandleToAnOpenRegistryKey
DimhDepthAsLong '
DimKeyValTypeAs Long 'DataTypeOfARegistryKey
Dim tmpVal As String 'TemporyStorageForARegistryKeyValue Dim KeyValSize As
Long ' Size Of Registry Key Variable
'
'OpenRegKeyUnderKeyRoot{HKEY_LOCAL_MACHINE...} '
If(rc<>ERROR_SUCCESS)ThenGoToGetKeyError 'HandleError...
tmpVal=String$(1024,0)'AllocateVariable Space
KeyValSize=1024 'MarkVariableSize
'RetrieveRegistryKeyValue... '
rc=RegQueryValueEx(hKey,SubKeyRef,0,
39|Page
KeyValType,tmpVal, KeyValSize) 'Get/CreateKeyValue
If(rc<>ERROR_SUCCESS)ThenGoToGetKeyError 'HandleErrors
If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then 'Win95AddsNullTerminatedString...
tmpVal = Left(tmpVal, KeyValSize - 1) ' Null Found, Extract From String
Else ' WinNT Does NOT Null Terminate String... tmpVal = Left(tmpVal, KeyValSize)
'NullNotFound,ExtractStringOnly
EndIf '
'DetermineKeyValueTypeForConversion... '
SelectCaseKeyValType 'SearchDataTypes...
Case REG_SZ 'StringRegistryKeyDataType KeyVal = tmpVal ' Copy String
Value
Case REG_DWORD 'DoubleWordRegistryKeyDataType For i = Len(tmpVal) To 1 Step -1
' Convert Each Bit
KeyVal=KeyVal+Hex(Asc(Mid(tmpVal,i,1)))'Build ValueChar.ByChar.
Next
KeyVal = Format$("&h" + KeyVal) 'ConvertDoubleWordToString End Select
GetKeyValue=True 'ReturnSuccess
rc = RegCloseKey(hKey) 'CloseRegistryKey Exit Function ' Exit
40|Page
GetKeyError: 'CleanupAfterAnError HasOccured...
KeyVal = "" 'SetReturnValToEmptyString GetKeyValue = False ' Return Failure
rc = RegCloseKey(hKey) 'CloseRegistryKey End Function
41|Page
FRMSPLASH.FRM
Option Explicit PubliciAsLong
PrivateSubForm_KeyPress(KeyAsciiAsInteger) Unload Me
EndSub
PrivateSubForm_Load() i = 0
lblVersion.Caption="Version"&App.Major&"."&App.Minor&"."&App.Revision
'lblProductName.Caption = App.Title
Form1.Show End Sub
PrivateSubFrame1_Click() Unload Me
EndSub
PrivateSubText1_Change()
EndSub
PrivateSublblCompanyProduct_Click()
42|Page
EndSub
PrivateSubTimer1_Timer()
If(i<10)Then i = i + 1
Shape1.Width=(i)*300
Label2.Caption=Str(((i+1)*10) -10)&"%" End If
If(i>=10)Then i = i + 1
EndIf
If(i>20)Then Unload Me
EndIf EndSub
43|Page
INPUT/OUTPUTSCREEN
44|Page
45|Page
46|Page
47|Page
48|Page
SYSTEM TESTING
System testing of software or hardware is testing conducted on a complete, integrated system to
evaluate the system's compliance with its specified requirements. System testing falls within the
scope of black box testing, and as such, should require no knowledge of the inner design of the
code or logic.
As a rule, system testing takes, as its input, all of the "integrated" software components that have
successfully passed integration testing and also the software system itself integrated with any
applicable hardware system(s). The purpose of integration testing is to detect any in
consistencies between the software units that are integrated together (called assemblages) or
between any of the assemblages and the hardware. System testing is a more limited type of
testing; it seeks to detect defects both within the "inter-assemblages" and also within the system
as a whole.
Testing the whole system
System testing is performed on the entire system in the context of a Functional Requirement
Specification(s) (FRS) and/or a System Requirement Specification (SRS). System testing tests
not only the design, but also the believed expectations of the customer. It is also intended to test
up to and beyond the bounds defined in the software/hardware requirements specification.
Types of tests to include in system testing
The following examples are different types of testing that should be considered during System
testing:
 Graphical user interface testing
 Usability testing
 Performance testing
 Compatibility testing
 Error handling testing
 Load testing
 Volume testing
 Stress testing
 Security testing
 Scalability testing
 Sanity testing
 Smoke testing
 Exploratory testing
LIMITATION AND FUTURE SCOPE
This software has limited functionality like
 Single user
 Cannot be implemented on networks.
 No login screens.
This software has lot future scope like
 Multiuser
 Implementation on network
Projec Standard Calculator Using Dot Net

More Related Content

PPT
Data Structure and Algorithms Department of Computer Science
PDF
Scientific calculator project report.pdf
PDF
SCIENTIFIC CALCULATOR PROJECT REPORT REPORT
PPT
Problem Solving Methodology 2011 - 2014
PDF
Management Information Systems 13th Edition Laudon Solutions Manual
PDF
Management Information Systems 13th Edition Laudon Solutions Manual
PDF
Management Information Systems 13th Edition Laudon Solutions Manual
DOC
College management
Data Structure and Algorithms Department of Computer Science
Scientific calculator project report.pdf
SCIENTIFIC CALCULATOR PROJECT REPORT REPORT
Problem Solving Methodology 2011 - 2014
Management Information Systems 13th Edition Laudon Solutions Manual
Management Information Systems 13th Edition Laudon Solutions Manual
Management Information Systems 13th Edition Laudon Solutions Manual
College management

Similar to Projec Standard Calculator Using Dot Net (20)

PPTX
Process of design
PDF
Hardware Design Practices For Modern Hardware
PDF
Project on multiplex ticket bookingn system globsyn2014
PDF
STUDENT INFORMATION MANAGEMENT SYSTEM PROJECT REPORT II
PPTX
Strategic plan
PDF
Educating a New Breed of Data Scientists for Scientific Data Management
PDF
Student information management system project report ii.pdf
PPT
CS3114_09212011.ppt
PDF
Systems Analysis and Design 11th Edition Tilley Solutions Manual
PDF
Principles of Health Informatics: Usability of medical software
PDF
Improving Defence Program Execution
PPT
Software engineering
PPTX
System design
DOCX
Lecture 2 it fundamentals
PPTX
BM322_05.pptxBusiness Management Integral University
PDF
Applying a new software development paradigm to biology
PDF
Database Management
PDF
Developing applications that stand the test of time
DOCX
Reviewer in computer fundamentals for mma
Process of design
Hardware Design Practices For Modern Hardware
Project on multiplex ticket bookingn system globsyn2014
STUDENT INFORMATION MANAGEMENT SYSTEM PROJECT REPORT II
Strategic plan
Educating a New Breed of Data Scientists for Scientific Data Management
Student information management system project report ii.pdf
CS3114_09212011.ppt
Systems Analysis and Design 11th Edition Tilley Solutions Manual
Principles of Health Informatics: Usability of medical software
Improving Defence Program Execution
Software engineering
System design
Lecture 2 it fundamentals
BM322_05.pptxBusiness Management Integral University
Applying a new software development paradigm to biology
Database Management
Developing applications that stand the test of time
Reviewer in computer fundamentals for mma
Ad

Recently uploaded (20)

PPT
Total quality management ppt for engineering students
PPTX
CURRICULAM DESIGN engineering FOR CSE 2025.pptx
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
PDF
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
Safety Seminar civil to be ensured for safe working.
PPT
A5_DistSysCh1.ppt_INTRODUCTION TO DISTRIBUTED SYSTEMS
PPT
introduction to datamining and warehousing
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PPTX
Current and future trends in Computer Vision.pptx
PDF
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Information Storage and Retrieval Techniques Unit III
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
737-MAX_SRG.pdf student reference guides
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PPT
Occupational Health and Safety Management System
Total quality management ppt for engineering students
CURRICULAM DESIGN engineering FOR CSE 2025.pptx
Abrasive, erosive and cavitation wear.pdf
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Safety Seminar civil to be ensured for safe working.
A5_DistSysCh1.ppt_INTRODUCTION TO DISTRIBUTED SYSTEMS
introduction to datamining and warehousing
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
Current and future trends in Computer Vision.pptx
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Categorization of Factors Affecting Classification Algorithms Selection
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Information Storage and Retrieval Techniques Unit III
Automation-in-Manufacturing-Chapter-Introduction.pdf
737-MAX_SRG.pdf student reference guides
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
Occupational Health and Safety Management System
Ad

Projec Standard Calculator Using Dot Net

  • 1. 1|Page AN INTERNSHIP REPORT ON SCIENTIFIC CALCULATOR PROJECT BY Fahimuddin khan (Tribro Softech Pvt Ltd) Date: 12 Feb 2015 to 30 Jul 2015"0.6 Months"
  • 2. 2|Page INTRODUCTION OF THE PROJECT The project Scientific Calculator is designed to automate the calculation procedure. Making less paper work and automate the process of calculation. PROBLEM DEFINITION A scientific calculator is a type of electronic calculator, usually but not always handled, designed to calculate problems in science (especially physics),engineering, and mathematics. They have almost completely replaced slide rules in almost all traditional applications, and are widely used in both education and professional settings. In certain contexts such as higher education, scientific calculators have been superseded by graphing calculators, which offer a superset of scientific calculator functionality along with the ability to graph input data and write and store programs for the device. There is also some overlap with the financial calculator market. Functions Modern scientific calculators generally have many more features than a standard four or five- function calculator, and the feature set differs between manufacturers and models; however, the defining features of a scientific calculator include:  scientific notation  floating point arithmetic  logarith mic functions, using both base 10 and base  trigonometric functions(some including hyperbolic trigonometry)  exponential functions and roots beyond the square root  Quick access to constants  In addition, high-end scientific calculators will include:  hexadecimal, binary, and octal calculations, including basic Boolean math  complex numbers  fractions  statistics and probability calculations  programmability—see Programmable calculator  equation solving  calculus  conversion of units  physical constants
  • 3. 3|Page While most scientific models have traditionally used a single-line display similar to traditional pocket calculators, many of them have at the very least more digits (10 to 12), sometimes with extra digits for the floating point exponent. A few have multi-line displays, with some recent models from Hewlett-Packard, Texas Instruments, Casio, Sharp, and Canon using dot matrix displays similar to those found on graphing calculators. Uses Scientificcalculatorsareusedwidelyinanysituationwherequickaccessto certain mathematical functions is needed, especially those such as trigonometric functions that were once traditionally looked up in tables; they are also used in situations requiring back-of-the-envelope calculations of very large numbers, as in some aspects of astronomy, physics, and chemistry. They are very often required for math classes from the junior high school level through college, and are generally either permitted or required on many standardized tests covering math and science subjects; as a result, many are sold into educational markets to cover this demand, and some high-end models include features making it easier to translate the problem on a textbook page into calculator input, from allowing explicit operator precedence using parentheses to providing a method for the user to enter an entire problem in as it is written on the page using simple formatting tools. History Thefirstscientificcalculatorthatincludedallofthebasicfeaturesabovewasthe programmable Hewlett-PackardHP-9100A, released in 1968, though theWangLOCI-2 and some features later identified with scientific calculator designs. The HP-9100 series was built entirely from discrete transistor logic with no integrated circuits, and was one of the first uses of the CORDIC algorithm for trigonometric computation in a personal computing device, as well as the first calculator based on reverse Polish notation entry. HP became closely identified with RPN calculators from the non, and even today some of their high- end calculators (particularly the long-livedHP-12Cfinancial calculator and the HP-48series of graphing calculators) still offer RPN as their default input mode due to having garnered a very large following. TheHP-35, introduced on February 1, 1972, was Hewlett-Packard's first pocket calculator and theworld'sfirsthandheldscientificcalculator.LikesomeofHP'sdesktopcalculatorsitusedreverse Polish notation. Introduced at US$395, the HP-35was available from1972to 1975. HP continues to develop and market high-end scientific calculators, like the HP-35sandHP-49series, which have been favored by scientists and engineers, in labs, offices, as well as in the field. Texas Instruments, after the introduction of several units with scientific notation, came out with a handheld scientific calculator on January15, 1974 in the form of the SR-50. TI continues to be a major player in the calculator market, with their long-runningTI-30series being one of the most widely used scientific calculators in classrooms.
  • 4. 4|Page FEASIBILITY STUDY A feasibility study is an evaluation of a proposal designed to determine the difficulty in carrying out a designated task. Generally, a feasibility study precedes technical development and project implementation. In other words, a feasibility study is an evaluation or analysis of the potential impact of a proposed project. Five common factors (TELOS) Technology and system feasibility The assessment is based on an outline design of system requirements in terms of Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified inter ms of volumes of data, trends, frequency of updating, etc. in order to estimate whether the new system will perform adequately or not. Technological feasibility is carried out to determine whether the company has the capability, in terms of software, hardware, personnel and expertise, to handle the completion of the project. Economic feasibility Economic analysis is the most frequently used method for evaluating the effectiveness of a new system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. If benefits outweigh costs, then the decision is made to design and implement the system. An entrepreneur must accurately weigh the cost versus benefits before taking an action. Cost Based Study: It is important to identify cost and benefit factors, which can be categorized as follows: 1. Development costs; and 2. Operating costs. This is an analysis of the costs to be incurred in the system and the benefits derivable out of the system. Time Based Study: This is an analysis of the time required to achieve a return on investments. The benefits derived from the system. The future value of a project is also a factor. Legal feasibility Determineswhethertheproposedsystemconflictswithlegalrequirements, e.g. a data processing system must comply with the local Data Protection Acts. Operational feasibility Is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during satisfies there identified in the requirements analysis phase.
  • 5. 5|Page Schedule feasibility A project will fail if it takes too long to be completed before it is useful. Typically this means estimating how long the system will take to develop, and if it can be completed in a given time period using some methods like payback period. Schedule feasibility is a measure of how reasonable the project timetable is. Given our technical expertise, are the project deadlines reasonable? Some projects are initiated with specific deadlines. You need to determine whether the deadlines are mandatory or desirable... Other feasibility factors Market and real estate feasibility Market Feasibility Study typically involves testing geographic locations for a real estate development project, and usually involves parcels of real estate land. Developers often conduct market studies to determine the best location within a jurisdiction, and to test alternative land uses for given parcels. Jurisdictions often require developers to complete feasibility studies before they will approve a permit application for retail, commercial, industrial, manufacturing, housing, office or mixed-use project. Market Feasibility takes into account the importance of the business in the selected area. Resource feasibility This involves questions such as how much time is available to build the new system, when it can be built, whether it interferes with normal business operations, type and amount of resources required, dependencies, etc. Contingency and mitigation plans should also be stated here. Cultural feasibility In this stage, the project's alternatives are evaluated for their impact on the local and general culture. For example, environmental factors need to be considered and these factors are to be well known. Further an enterprise's own culture can clash with the results of the project.
  • 6. 6|Page Output The feasibility study outputs the feasibility study report, a report detailing the evaluation criteria, the study findings, and the recommendations. Software Specification  FrontEnd:VisualBasic6.0  Back End: Microsoft Access 2003
  • 7. 7|Page DATA FLOW DIAGRAM Data flow diagram example. A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system, model its process aspects. Often they are a preliminary step used to create an over view of the system which can later be elaborated . DFD scan so be used for the visualization of data processing (structured design). A DFD shows what kinds of data will be input to and output from the system, where the data will come from and go to, and where the data will be stored. It does not show information about the timing of processes, or information about whether processes will operate in sequence or in parallel (which is shown on a flowchart).
  • 8. 8|Page Overview Data flow diagram example. It is common practice to draw the context-level data flow diagram first, which shows the interaction between the system and external agents which act as data sources and data sinks. On the context diagram the system's interactions with the outside world are modeled purely inter ms of data flows across the system boundary. The context diagram shows the entire system as a single process, and gives no clues as to its internal organization. This context-level DFD is next "exploded", to produce a Level 0 DFD that shows some of the detail of the system being modeled. The Level0 DFD shows how the system is divided into sub- systems (processes), each of which deals with one or more of the data flows to or from an external agent, and which together provide all of the functionality of the system as a whole. It also identifies internal data stores that must be present in order for the system to do its job, and shows the flow of data between the various parts of the system.
  • 9. 9|Page Data flow diagrams were proposed by Larry Constantine, the original developer of structured design, based on Martin "data flow graph" model of computation. Data flow diagrams (DFDs) are one of the three essential perspectives of the structured-systems analysis and design method SSADM. brief and consulted throughout all stages of a system's evolution. With a data flow diagram, users are able to visualize how the system will operate, what the system will accomplish, and how the system will be implemented. The old system's dataflow diagrams can be drawn up and compared with the new system's data flow diagrams to draw comparisons to implement a more efficient system. Data flow diagrams can be used to provide the end user with a physical idea of where the data they input ultimately has an effect upon the structure of the whole system from order to dispatch to report. How any system is developed can be determined through a data flow diagram. In the course of developing a set of leveled data flow diagrams the analyst/designers is forced to address how the system may be decomposed into component sub-systems, and to identify the transaction data in the data model. There are different notations to draw data flow diagrams (Yourdon & Co), defining different visual representations for processes, data stores, data flow, and external entities.
  • 10. 10|Page DATA DICTIONARY A data dictionary, or meta data repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format."The term may have one of several closely related meanings pertaining to databases and database management systems (DBMS): A document describing a database or collection of databases An integral component of a DBMS that is required to determine its structure A piece of middleware that extends or supplants the native data dictionary of a DBMS Documentation The term Data Dictionary and Data Repository are used to indicate a more general software utility than a catalogue. A Catalogue is closely coupled with the DBMS Software; it provides the information stored in it to user and the DBA, but it is mainly accessed by the various software modules of the DBMS itself, such as DDL and DML compilers, the query optimizer , the transaction processor, report generators, and the constraint enforcer. On the other hand, a Data Dictionary is a data structure that stores meta-data, i.e., data about data. The Software package for a stand-alone Data Dictionary or Data Repository may interact with the software modules of the DBMS, but it is mainly used by the Designers, Users and Administrators of a computer system for information resource management. These systems are used to maintain information on system hardware and software configuration, documentation, application and users as well as other information relevant to system administration. If a data dictionary system is used only by the designers, users, and administrators and not by the DBMS Software , it is called a Passive Data Dictionary; otherwise, it is called an Active Data Dictionary or Data Dictionary. An Active Data Dictionary is automatically updated as changes occur in the database. A Passive Data Dictionary must be manually updated. The data Dictionary consists of record types (tables) created in the database by systems generated command files, tailored for each supported back-end DBMS. Command files contain SQL Statements for CREATE TABLE,CREATE UNIQUE INDEX,ALTER TABLE(for Referential integrity),etc, using the specific statement required by that type of database. Data base users and application developers can benefit from an authoritative data dictionary document that catalogs the organization, contents, and conventions of one or more databases. This typically includes the names and descriptions of various tables and fields in each database, plus additional details, like the type and length of each data element. There is no universal standard as to the level of detail in such a document, but it is primarily a weak kind of data.
  • 11. 11|Page ENTITY-RELATIONSHIP MODEL A sample Entity-relationship diagram using Chen's notation In software engineering, an entity-relationship model(ERM) is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often are lational database, and its requirements in a top-down fashion. Diagrams created by this process are called entity-relationship diagrams, ER diagrams, or ERDs. This article refers to the techniques proposed in Peter Chen's 1976 paper. However, variants of the idea existed previously, and have been devised subsequently. Overview The first stage of information system design uses these models during the requirements analysis to describe information needs or the type of information that is to be stored in a database. The data modeling technique can be used to describe any on to logy (i.e. an overview and classifications of used terms and their relationships) for a certain area of interest. In the case of the design of an information system that is based on a database, the conceptual data model is, at a later stage(usually called logical design),mapped to a logical data model, such as the relational model; this in turn is mapped to a physical model during physical design. Note that sometimes, both of these phases are referred to as "physical design".
  • 15. 15|Page Calc.frm CODING Public no1As Double,no2 As Double, Which No As Boolean, Dot As Boolean, op As String, answer As Double, Dot Val As Long Sub text value(num As Long) On Error Go To Over Flow Error If (Not Which No) Then If(Dot)Then Dot Val=DotVal+1 temp = num For i = 1 To Dot Val temp=(temp/ 10) Next no1=no1+temp Else temp = no1 * 10 no1=temp +num End If Text1.Text=no1 Else If(Dot)Then Dot Val=DotVal+1 temp = num For i = 1 To Dot Val temp=(temp/ 10)
  • 16. 16|Page Next no2=no2+temp Else temp = no2 * 10 no2=temp +num End If Text1.Text=no2 End If txtNO1.Text=no1 txtNO2.Text=no2 txt OP. Text = op Txt ANS. Text=answer Exit Sub Ovr Flow Error: Mug Box" Over flow occurred ! "& Chr (13)&"Please restart your job." ,vb Exclamation, "Error – A me Calculator" End Sub Sub calc() On Error Go To arith error Select Case op Case"+" answer=(no1+no2) Case "-" answer=(no1-no2) Case "*"
  • 17. 17|Page answer=(no1*no2) Case "/" answer=(no1/no2) Case "%" 'answer=(no1%no2) Case "&" answer=(no1&no2) Case "|" answer=(no1&no2) Case "~" answer=(Notno1) Case "sin" answer=(Sin(no1)) Case "cos" answer=(Cos(no1)) Case "tan" answer=(Tan(no1)) Case "cosec" answer=(1/Sin(no1)) Case "sec" answer=(1/Cos(no1)) Case "cot" answer=(1/Tan(no1)) Case "ln" answer=(Log(no1))
  • 18. 18|Page Case "log" answer=(Log(no1)/2.30258509299405) Case "^" answer=(no1^no2) Case "!" answer=1 For i = 2 To no1 answer=answer*i Next End Select Txt OP. Text = "" Which No = False Text1.Text = answer txtNO1.Text = no1 txtNO2.Text = no2 txt OP. Text = op txt ANS. Text=answer no1 = answer Exit Sub arith error: Mug Box "Arithmetic error occurred .Possibly Overflow."& Chr (13)&"Please restart your job.", vb Exclamation, "Error - Ameya's Calculator" End Sub Private Sub error(error no As Long) Select Case error no
  • 19. 19|Page Case1 Msg Box"Divide by zero error!" Case 2 Msg Box" Operator Over flow!" End Select End Sub Private Sub about_ Click () frm About. Show End Sub PrivateSubbtn1_Click() text value (1) End Sub PrivateSubbtn2_Click() text value (2) EndSub PrivateSubbtn3_Click() text value (3) EndSub PrivateSubbtn4_Click() text value (4) EndSub PrivateSubbtn5_Click() text value (5)
  • 20. 20|Page End Sub PrivateSubbtn6_Click() text value (6) End Sub PrivateSubbtn7_Click() text value (7) End Sub PrivateSubbtn8_Click() text value (8) End Sub PrivateSubbtn9_Click() text value (9) End Sub PrivateSubbtn0_Click() text value (0) End Sub Private Sub btn ADD_ Click() op = "+" Which No=True Text1.Text = "" Dot Val = 0 Dot=False no2 = 0 End Sub Private Sub btn SUB_ Click()
  • 21. 21|Page op = "-" Which No=True Text1.Text = "" Dot Val = 0 Dot=False no2 = 0 End Sub Private Sub btn MUL_ Click() op = "*" Which No=True Text1.Text = "" Dot Val = 0 Dot=False no2 = 0 End Sub Private Sub btn DIV_ Click() op = "/" Which No=True Text1.Text = "" Dot Val = 0 Dot=False no2 = 0 End Sub Private Sub btn AND_ Click() op = "&"
  • 22. 22|Page Which No=True Text1.Text = "" Dot Val = 0 Dot=False End Sub Private Sub btn OR_ Click() op = "|" Which No=True Text1.Text = "" Dot Val = 0 Dot=False End Sub Private Sub btn MOD_ Click() op = "%" Which No=True Text1.Text = "" Dot Val = 0 Dot=False End Sub Private Sub btn NOT_ Click() op = "~" Which No=True Text1.Text = "" Dot Val = 0 Dot=False
  • 23. 23|Page Calc End Sub Private Sub btn SIN_Click () op = "" If( chk INV. Value =1)Then op = "a" End If op=op&"sin" If(chk HYP. Value=1)Then op = op &"h" End If Dot Val= 0 Dot=False calc End Sub Private Sub btn COS_ Click() op = "" If(chk INV. Value=1)Then op = "a" End If op=op&"cos" If(chk HYP. Value=1)Then op = op &"h" End If Dot Val=0
  • 24. 24|Page Dot=False calc End Sub Private Sub btn TAN_ Click() op = "" If(chk INV .Value=1)Then op = "a" End If op=op &"tan" If(chk HYP .Value=1)Then op = op &"h" End If Dot Val= 0 Dot=False calc End Sub Private Sub btn COSEC_ Click() op = "" If(chk INV. Value=1)Then op = "a" End If op=op&"cosec" If(chk HYP. Value=1)Then op = op &"h" End If
  • 25. 25|Page Dot Val= 0 Dot=False calc End Sub Private Sub btn SEC_ Click() op = "" If (chk INV. Value=1)Then op = "a" End If op=op&"sec" If (chk HYP. Value=1)Then op = op &"h" End If Text1.Text="" Dot Val = 0 Dot=False calc End Sub Private Sub btn COT_ Click() op = "" If ( chk INV. Value=1)Then op = "a" End If op=op&"cot" If( chk HYP. Value =1)Then
  • 26. 26|Page op=op&"h" End If Text1.Text = "" Dot Val = 0 Dot=False calc End Sub Private Sub btn LN_ Click() If (no1 <= 0) Then Mug Box("logarithmisonlydefinedforpositivenumbers."&Chr(13)&"Pleaseentera valid no and then take logarithm.") Else op = "ln" Text1.Text="" Dot Val = 0 Dot=False calc End If End Sub Private Sub btn LOG _Click() If (no1 <= 0) Then Mug Box("logarithmisonlydefinedforpositivenumbers."&Chr(13)&"Pleaseentera valid no and then take logarithm.") Else op = "log" Text1.Text=""
  • 27. 27|Page Dot Val= 0 Dot=False calc End If End Sub Private Sub btn POW_ Click() op = "^" Which No=True Text1.Text = "" Dot Val = 0 Dot=False End Sub PrivateSubbtnPOW2_Click() op = "^" no2 = 2 Text1.Text="" DotVal = 0 Dot=False calc End Sub PrivateSubbtnPOW3_Click() op = "^" no2 = 3 Text1.Text="" Dot Val = 0
  • 28. 28|Page Dot=False calc End Sub Private Sub btn INV_ Click() op = "^" no2 = -1 Text1.Text="" Dot Val = 0 Dot=False calc End Sub Private Sub btn FACTORIAL_ Click() op = "!" Text1.Text="" Dot Val = 0 Dot=False calc End Sub Private Sub btn SQRT_ Click() If (no1 < 0) Then MsgBox("Square Root is not defined for negative numbers.") Else op = "^" no2=0.5 Text1.Text=""
  • 29. 29|Page Dot Val= 0 Dot=False calc End If End Sub Private Sub btn EXP_ Click() op = "^" no2=no1 no1=2.30258509299405 Text1.Text="" Dot Val = 0 Dot=False calc End Sub Private Sub btn PI_ Click() If(Not Which No)Then no1=3.14159265358979 Else no2=3.14159265358979 End If Text1.Text="3.14159265358979" Dot Val= 0 Dot=False End Sub Private Sub btn C_ Click()
  • 30. 30|Page no1=0 no2=0 answer =0 Text1.Text="0" op = "" Dot Val= 0 Dot=False Which No = False txtNO1.Text = no1 txtNO2.Text = no2 txt OP .Text = op txt ANS. Text=answer End Sub Private Sub btn CE_ Click() If(temp)Then no1 = 0 Else no2=0 End If Text1.Text="" Dot Val = 0 Dot=False End Sub Private Sub btn bksp _Click() If (Not Which No) Then
  • 31. 31|Page If (Len(Str(no1))>1)Then no1=Format Number (Left(Str(no1),Len(Text1.Text)-1)) Text1.Text = no1 End If Else If (Len (Str (no2))>0)Then no2=Format Number (Left(Str(no2),Len(Text1.Text)-1)) Text1.Text = no2 End If End If If (Dot Val> 0) Then Dot Val= ditval-1 End If txtNO1.Text=no1 txtNO2.Text=no2 txt OP. Text = op Txt ANS. Text=answer End Sub Private Sub btn DOT_ Click() If (Dot = False) Then Dot=True Text1.Text=Text1.Text&"." Dot Val = 0 End If End Sub
  • 32. 32|Page Private Sub btn Equal_ Click() calc no1 = answer Which No=False Dot Val = 0 Dot=False End Sub PrivateSubCommand2_Click() Msg Box("Temp="& Str (temp) &"No1="& Str (no1)&"No2="& Str (no2)&"op="&op) End Sub Private Sub copy_ Click() Clip board. Set Text (Text1.Text) EndSub Private Sub cut_ Click() Clip board. Set Text (Text1.Text) Text1.Text = "" End Sub Private Sub exit_ Click() Unload Me End Sub Private Sub Form_ Load() Dimno1,no2,op,WhichNo,Dot,temp no1 = 0 no2=0 answer=0
  • 33. 33|Page Dot = False Dot Val = 0 Which No=False btn C_ Click End Sub Private Sub help topic_ Click() Mug Box("No help found."& Chr (13)&"We are SORRY for the inconvenience!") End Sub PrivateSubText1_KeyUp (Key Code As Integer, Shift As Integer) If (Is Numeric(Text1.Text)) Then If(Not Which No)Then no1=Format Number(Text1.Text) Else no2=Format Number(Text1.Text) End If End If txtNO1.Text=no1 txtNO2.Text=no2 txt OP. Text = op Txt ANS. Text=answer End Sub
  • 34. 34|Page Frmabout.frm Option Explicit 'Re g Key Security Options... Const READ_CONTROL=&H20000 Const KEY_QUERY_VALUE=&H1 Const KEY_SET_VALUE=&H2 Const KEY_CREATE_SUB_KEY=&H4 Const KEY_ENUMERATE_SUB_KEYS=&H8 Const KEY_NOTIFY = &H10 Const KEY_CREATE_LINK=&H20 Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _ KEY_CREATE_SUB_KEY+KEY_ENUMERATE_SUB_KEYS+_ KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL Re g Key ROOT Types... Const HKEY_LOCAL_MACHINE=&H80000002 Const ERROR_SUCCESS = 0 Const REG_SZ = 1 'Unicode nul terminated string Const REG_DWORD = 4 ' 32-bit number Const REGKEYSYSINFOLOC="SOFTWAREMicrosoftShared Tools Location" Const REGVALSYSINFOLOC = "MSINFO" Const REGKEYSYSINFO="SOFTWAREMicrosoftShared ToolsMSINFO" Const g REGVALSYSINFO = "PATH"
  • 35. 35|Page Private Sub cmd Sys Info_Click() Call Start Sys Info End Sub PrivateSubcmdOK_Click() Unload Me EndSub PrivateSubForm_Load() Me.Caption="About"&App.Title 'lblVersion.Caption="Version"&App.Major&"."&App.Minor&"."&App.Revision lblTitle.Caption = App.Title EndSub PublicSubStartSysInfo() OnErrorGoTo SysInfoErr DimrcAsLong
  • 36. 36|Page DimSysInfoPathAsString 'TryToGetSystemInfoProgramPathName FromRegistry... IfGetKeyValue(HKEY_LOCAL_MACHINE,gREGKEYSYSINFO,gREGVALSYSINFO, SysInfoPath) Then 'TryToGetSystemInfoProgramPathOnlyFromRegistry... ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC,SysInfoPath)Then 'ValidateExistanceOfKnown32BitFile Version If(Dir(SysInfoPath&"MSINFO32.EXE")<>"")Then SysInfoPath = SysInfoPath &" MSINFO32.EXE" 'Error-FileCanNotBeFound... Else GoToSysInfoErr End If 'Error-RegistryEntryCanNot BeFound... Else GoToSysInfoErr End If CallShell(SysInfoPath,vbNormalFocus) Exit Sub SysInfoErr: MsgBox"SystemInformationIsUnavailableAtThisTime",vbOKOnly
  • 38. 38|Page EndSub Public Function GetKeyValue(KeyRoot As Long,KeyNameAs String,SubKeyRef As String, ByRef KeyVal As String) As Boolean DimiAsLong 'Loop Counter DimrcAsLong'Return Code DimhKeyAsLong 'HandleToAnOpenRegistryKey DimhDepthAsLong ' DimKeyValTypeAs Long 'DataTypeOfARegistryKey Dim tmpVal As String 'TemporyStorageForARegistryKeyValue Dim KeyValSize As Long ' Size Of Registry Key Variable ' 'OpenRegKeyUnderKeyRoot{HKEY_LOCAL_MACHINE...} ' If(rc<>ERROR_SUCCESS)ThenGoToGetKeyError 'HandleError... tmpVal=String$(1024,0)'AllocateVariable Space KeyValSize=1024 'MarkVariableSize 'RetrieveRegistryKeyValue... ' rc=RegQueryValueEx(hKey,SubKeyRef,0,
  • 39. 39|Page KeyValType,tmpVal, KeyValSize) 'Get/CreateKeyValue If(rc<>ERROR_SUCCESS)ThenGoToGetKeyError 'HandleErrors If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then 'Win95AddsNullTerminatedString... tmpVal = Left(tmpVal, KeyValSize - 1) ' Null Found, Extract From String Else ' WinNT Does NOT Null Terminate String... tmpVal = Left(tmpVal, KeyValSize) 'NullNotFound,ExtractStringOnly EndIf ' 'DetermineKeyValueTypeForConversion... ' SelectCaseKeyValType 'SearchDataTypes... Case REG_SZ 'StringRegistryKeyDataType KeyVal = tmpVal ' Copy String Value Case REG_DWORD 'DoubleWordRegistryKeyDataType For i = Len(tmpVal) To 1 Step -1 ' Convert Each Bit KeyVal=KeyVal+Hex(Asc(Mid(tmpVal,i,1)))'Build ValueChar.ByChar. Next KeyVal = Format$("&h" + KeyVal) 'ConvertDoubleWordToString End Select GetKeyValue=True 'ReturnSuccess rc = RegCloseKey(hKey) 'CloseRegistryKey Exit Function ' Exit
  • 40. 40|Page GetKeyError: 'CleanupAfterAnError HasOccured... KeyVal = "" 'SetReturnValToEmptyString GetKeyValue = False ' Return Failure rc = RegCloseKey(hKey) 'CloseRegistryKey End Function
  • 41. 41|Page FRMSPLASH.FRM Option Explicit PubliciAsLong PrivateSubForm_KeyPress(KeyAsciiAsInteger) Unload Me EndSub PrivateSubForm_Load() i = 0 lblVersion.Caption="Version"&App.Major&"."&App.Minor&"."&App.Revision 'lblProductName.Caption = App.Title Form1.Show End Sub PrivateSubFrame1_Click() Unload Me EndSub PrivateSubText1_Change() EndSub PrivateSublblCompanyProduct_Click()
  • 42. 42|Page EndSub PrivateSubTimer1_Timer() If(i<10)Then i = i + 1 Shape1.Width=(i)*300 Label2.Caption=Str(((i+1)*10) -10)&"%" End If If(i>=10)Then i = i + 1 EndIf If(i>20)Then Unload Me EndIf EndSub
  • 48. 48|Page SYSTEM TESTING System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic. As a rule, system testing takes, as its input, all of the "integrated" software components that have successfully passed integration testing and also the software system itself integrated with any applicable hardware system(s). The purpose of integration testing is to detect any in consistencies between the software units that are integrated together (called assemblages) or between any of the assemblages and the hardware. System testing is a more limited type of testing; it seeks to detect defects both within the "inter-assemblages" and also within the system as a whole. Testing the whole system System testing is performed on the entire system in the context of a Functional Requirement Specification(s) (FRS) and/or a System Requirement Specification (SRS). System testing tests not only the design, but also the believed expectations of the customer. It is also intended to test up to and beyond the bounds defined in the software/hardware requirements specification. Types of tests to include in system testing The following examples are different types of testing that should be considered during System testing:  Graphical user interface testing  Usability testing  Performance testing  Compatibility testing  Error handling testing  Load testing  Volume testing  Stress testing  Security testing  Scalability testing  Sanity testing  Smoke testing  Exploratory testing
  • 49. LIMITATION AND FUTURE SCOPE This software has limited functionality like  Single user  Cannot be implemented on networks.  No login screens. This software has lot future scope like  Multiuser  Implementation on network