Skip to main content

Virtual

/*
Problem Statement:
Design a base class consisting of the data members such
as name of the student,roll number and subject.The derived class
consists of the data members subject code ,internal assessment
and university examination marks.Construct a virtual base
class for the item name of the student and roll number.

The program should have these facilities:-
i) Build a master table
ii) List a table
iii) Insert a new entry
iv) Delete old entry
v) Edit an entry
vi) Search for a record
*/

Include:
iostream.h
conio.h
fstream.h
iomanip.h


class base1
{
public:
char name[10],sub[10];
int rno;
};


class derived: public base1
{
protected:
int subco,umark,iass;
public:
void getdata(derived );
void putdata(derived );
void insert(derived);
derived edit(derived);
void delet(derived);
int search(int,derived);
};

void derived::getdata(derived d)
{
fstream file;
file.open("ABC.text",ios::in|ios::out);
cout<<"\n*****Enter student information********";
cout<<"\n\nEnter name:";
cin>>name;
cout<<"\nEnter roll no:";
cin>>rno;
cout<<"\nEnter subject:";
cin>>sub;
cout<<"\nEnter subject code:";
cin>>subco;
cout<<"\nEnter university marks:";
cin>>umark;
cout<<"\nEnter internal assessment:";
cin>>iass;

file.write((char *)& d,sizeof(d));
file.close();
}

void derived::putdata(derived d)
{
fstream file;
file.open("ABC.text",ios::in|ios::out);
file.read((char *)&d,sizeof(d));
cout<<"\n\n"< file.close();
}


void derived::insert(derived d)
{
getdata(d);
}

void derived ::delet(derived d )
{
derived *p;
p=&d;
delete p;
}

derived derived ::edit(derived d)
{

int ch;
cout<<"\nWhich field you want to modify:";
do
{
cout<<"\n1 for name\n2 for Roll No\n3 for sub \n4 for sub code \n5 for mark \n6 for int ass\n7 for exit.\n";
cin>>ch;
switch(ch)
{
case 1:
cout<<"\nEnter name:";
cin>>d.name;
break;

case 2:
cout<<"\nEnter roll no:";
cin>>d.rno;
break;

case 3:
cout<<"\nEnter subject:";
cin>>d.sub;
break;

case 4:
cout<<"\nEnter subject code:";
cin>>d.subco;
break;

case 5:
cout<<"\nEnter marks:";
cin>>d.umark;

case 6:
cout<<"\nEnter internal assessnment:";
cin>>iass;
}
}while(ch<7);

return d;

}
int derived :: search(int key,derived d)
{
int flag;
if(key==d.rno)
{
flag=1;
return flag;
}
}


void main()
{
derived D[15];
int ch,n,key,flag=0;
clrscr();
do
{
cout<<"\n\nMENU:";
cout<<"\n1.Build master table";
cout<<"\n2.Display";
cout<<"\n3.Insert";
cout<<"\n4.Delete";
cout<<"\n5.Edit";
cout<<"\n6.Search";
cout<<"\n7.Exit";
cout<<"\nEnter your choice:";
cin>>ch;
switch(ch)
{
case 1:

cout<<"\nHow many records u want in this table:";
cin>>n;
for(int i=0;i {
D[i].getdata(D[i]);
}
break;

case 2:

clrscr();
cout<<"\nDATABASE:";
cout<<"\nName\tRollNo\tSub\tSubCode\tMarks\tInternalass";
for(i=0;i {
D[i].putdata(D[i]);
}
break;

case 3:
D[n].insert(D[n]);
n=n+1;
break;

case 4:
cout<<"\nEnter record that you want to delete (RollNo as key):";
cin>>key;
for(i=0;i {
if(key==D[i].rno)
{
flag=1;
if(flag==1)
{
while(i {
D[i]=D[i+1];
i++;
}
D[i].delet(D[i]);
cout<<"\nDeleted successfully";
break;
}
}
else
flag=0;
}
if(flag==0)
cout<<"\nRecord not found";
n=n-1;
break;

case 5:
cout<<"\nEnter record that you want to modify (Roll No as key):";
cin>>key;
for(i=0;i {
if(key==D[i].rno)
{
flag=1;
if(flag==1)
break;
}
}
if(flag==1)
{
D[i]=D[i].edit(D[i]);
}
else
cout<<"\nRecord is not found.";
break;

case 6:
cout<<"\nEnter record that you want to search (RollNo as key):";
cin>>key;
flag=0;
for(i=0;i {
flag=D[i].search(key,D[i]);
if(flag==1)
break;
}
if(flag==1)
cout<<"\nRecord is found";
else
cout<<"\nRecord is not found";

break;
}
}while(ch<7);

getch();
}







Comments

Popular posts from this blog

4. Lex and Yacc Program to detect errors in a 'C' Language Program

Lex and Yacc Program to detect errors in a 'C' Language Program   Lex Code : %{ #include"y.tab.h" #include<stdio.h> int LineNo = 1 ; %} identifier [ a - zA - Z ][ _a - zA - Z0 - 9 ]* number [ 0 - 9 ]+|([ 0 - 9 ]*\.[ 0 - 9 ]+) %% main \(\) return MAIN ; if return IF ; else return ELSE ; while return WHILE ; int | char | flaot return TYPE ; { identifier } return VAR ; { number } return NUM ; \> | \< | \<= | \>= | == return RELOP ; [\ t ] ; [\ n ] LineNo ++; . return yytext [ 0 ]; %% Yacc Code : %{ #include<string.h> #include<stdio.h> extern int LineNo ; int errno = 0 ; %} % token NUM VAR RELOP % token MAIN IF ELSE WHILE TYPE % left '-' '+' % left '*' '/' %% PROGRAM : MAIN BLOCK ; BLOCK : '{' CODE '}' ; CODE : BLOCK | STATEMENT CODE | STATEMENT ; STATEMENT : DECST ';' | DECST { printf ( "\nLine number %d...

Selenium + Python + UnexpectedAlertPresentException: Dealing with annoying alerts

Handling  UnexpectedAlertPresentException   Alerts who hates them? I Do!  Who doesn't hate an annoying alert causing your tests / scraping job to fail? I must say they are pretty much on point on the Unexpected part!  Fortunately, there are easy ways to mitigate the issue. 1. Disable alerts completely: driver . execute_script( 'window.alert = function(){};' ); execute this script just before where you anticipate the alert and you're golden. 2. You want to see the alert text but not disturb the execution flow. driver . execute_script( 'window.alert = console.info;' ); Now the alerts have been redirected to the console and you don't have to worry about them. (Unless you have to - then you'd have to monitor the console) 3. You know exactly when it comes and want to accept the alert and move on. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from selenium import webdriver from selenium.webdriver.s...

2. Lex program that detects statement type i.e. Simple or Compound

Lex program that detects statement type i.e. Simple or Compound Note: Only AND | OR | BUT conjunctions are supported. Program: % option noyywrap %{ char test = 's' ; %} %% ( "" [ aA ][ nN ][ dD ] "" )|( "" [ oO ][ rR ] "" )|( "" [ bB ][ uU ][ tT ] "" ) { test = 'c' ;} . {;} \ n return 0 ; %% main () { yylex (); if ( test == 's' ) printf ( "\n Its a simple sentence" ); else if ( test == 'c' ) printf ( "\n This is compound sentence" ); }