Coding Pre Release Nov 2015
Coding Pre Release Nov 2015
CS 9608/04
Task3.1 ----------------------------------------------------------------------------ModuleModule
SubMain()
DimtheaddressAsInteger
DimmyisbnAsString
Console.WriteLine("Enter an ISBN of 10 digits")
myisbn = Console.ReadLine()
theaddress = Hash(myisbn)
Iftheaddress = -1 Then
Console.WriteLine("Invalid isbn....!")
Else
Console.WriteLine("The address for ISBN "&myisbn&"is: "&theaddress)
EndIf
Console.ReadKey()
EndSub
FunctionHash(ByValisbnAsString) AsInteger
Dim address AsInteger
address = LeftToInt(isbn, 3)
Return address
EndFunction
FunctionLeftToInt(ByValThisStringAsString, ByVal n AsInteger) AsInteger
Dim letter AsChar
Dim valid AsBoolean = True
IfLen(ThisString) >= n Then
Forpos = 1 To n
letter = Mid(ThisString, pos, 1)
IfAsc(letter) <= 48 OrAsc(letter) > 57 Then
valid = False
Exit For
EndIf
Next
Else
valid = False
EndIf
If valid = TrueThen
ReturnVal(Left(ThisString, 3))
Else
Return -1
EndIf
EndFunction
EndModule
task 2------------------------------------------------------------------------------Imports System.IO
ModuleModule1
PublicdummyrecordAsBookRecord
SubMain()
DimfileNumberAsInteger = FreeFile()
DimmySizerecordnumberAsInteger = Len(dummyrecord)
dummyrecord.isbn = "0000000000"
FileOpen(fileNumber, "D:/BookFile2", OpenMode.Random, OpenAccess.Write, ,
mySizerecordnumber)
For count = 1 To 1000
FilePut(fileNumber, dummyrecord, count)
Next
FileClose(fileNumber)
Console.ReadKey()
EndSub
EndModule
StructureBookRecord
<VBFixedString(10)>DimisbnAsString
<VBFixedString(24)>Dim title AsString
DimonloanAsBoolean
EndStructure
1|P a g e
CS 9608/04
task 3.3----------------------------------------------------------------------------ModuleModule1
PublicNewBookAsBookRecord
SubMain()
DimnewaddressAsInteger
DimmyisbnAsString
DimfileNumberAsInteger = FreeFile()
DimmySizerecordnumberAsInteger = Len(NewBook)
FileOpen(fileNumber, "D:/BookFile2", OpenMode.Random, OpenAccess.Write, ,
mySizerecordnumber)
For count = 1 To 5
Console.WriteLine("Enter book ISBN: ")
NewBook.isbn = Console.ReadLine()
Console.WriteLine("Enter book Title: ")
NewBook.title = Console.ReadLine()
newaddress = Hash(NewBook.isbn)
Ifnewaddress = -1 Then
Console.WriteLine("Invalid isbn....!")
Else
Seek(fileNumber, newaddress)
FilePut(fileNumber, NewBook, )
EndIf
Next
FileClose(fileNumber)
Console.ReadKey()
EndSub
FunctionHash(ByValisbnAsString) AsInteger
Dim address AsInteger
address = LeftToInt(isbn, 3)
Return address
EndFunction
FunctionLeftToInt(ByValThisStringAsString, ByVal n AsInteger) AsInteger
Dim letter AsChar
Dim valid AsBoolean = True
IfLen(ThisString) >= n Then
Forpos = 1 To n
letter = Mid(ThisString, pos, 1)
IfAsc(letter) < 48 OrAsc(letter) > 57 Then
valid = False
Exit For
EndIf
Next
Else
valid = False
EndIf
If valid = TrueThen
ReturnVal(Left(ThisString, 3))
Else
Return -1
EndIf
EndFunction
EndModule
StructureBookRecord
<VBFixedString(10)>DimisbnAsString
<VBFixedString(24)>Dim title AsString
DimonloanAsBoolean
EndStructure
2|P a g e
CS 9608/04
3|P a g e
CS 9608/04
4|P a g e
CS 9608/04
EndFunction
FunctionLeftToInt(ByValThisStringAsString, ByVal n AsInteger) AsInteger
Dim letter AsChar
Dim valid AsBoolean = True
IfLen(ThisString) >= n Then
Forpos = 1 To n
letter = Mid(ThisString, pos, 1)
IfAsc(letter) < 48 OrAsc(letter) > 57 Then
valid = False
Exit For
EndIf
Next
Else
valid = False
EndIf
If valid = TrueThen
ReturnVal(Left(ThisString, 3))
Else
Return -1
EndIf
EndFunction
EndModule
StructureBookRecord
<VBFixedString(10)>DimisbnAsString
<VBFixedString(24)>Dim title AsString
DimonloanAsBoolean
EndStructure
----------------------------------------------------------------------------------------------------------------------------------------Task 2
ModuleModule1
SubMain()
Dim pv1 AsMinibus = NewMinibus("NBR 123", 51, 49, 10)
pv1.showRegNo()
pv1.calcharge()
pv1.showcharge()
pv1.ShowMaxPassenger()
Dim pv2 Ascar = Newcar("mba 143", 21, 30)
pv2.showRegNo()
pv2.CalCharge()
pv2.showcharge()
pv2.ShowCMaxPassenger()
Console.ReadKey()
EndSub
EndModule
MustInheritClassTaxi
ProtectedregNoAsString
Protected charge AsInteger
PublicOverridableSubCalCharge()
charge = 200
EndSub
PublicSubshowRegNo()
Console.WriteLine(regNo)
EndSub
PublicSubshowcharge()
Console.WriteLine(charge)
EndSub
EndClass
ClassMinibus
5|P a g e
CS 9608/04
InheritsTaxi
PrivateextrachargeAsDouble
PrivatemaxpassengerAsInteger
PublicSubNew(ByValregNoValueAsString, ByValChargeValueAsInteger,
ByValextrachargevalueAsDouble, ByValmaxpassengerValueAsInteger)
regNo = regNoValue
charge = ChargeValue
extracharge = extrachargevalue
maxpassenger = maxpassengerValue
EndSub
PublicOverridesSubcalcharge()
charge = charge + extracharge
EndSub
PublicSubShowMaxPassenger()
Console.WriteLine(maxpassenger)
EndSub
EndClass
Classcar
InheritsTaxi
PrivatemaxPassengerAsInteger
PublicSubNew(ByValregNoValueAsString, ByValChargeValueAsInteger,
ByValmaxPassengerValueAsInteger)
regNo = regNoValue
charge = ChargeValue
maxPassenger = maxPassengerValue
EndSub
PublicSubShowCMaxPassenger()
Console.WriteLine(maxPassenger)
EndSub
EndClass
6|P a g e