-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathassignmentNo_1.cpp
More file actions
95 lines (89 loc) · 1.91 KB
/
assignmentNo_1.cpp
File metadata and controls
95 lines (89 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
//Name = Anand Prakash Dwivedi
//Roll no = 7211
#include<iostream>
#include<string.h>
using namespace std;
struct data
{ char name[30];
long teleno;
};
class Hash
{ int n,sum,x,c,i,j; char na[30]; long no;
data d[10];
public:
Hash()
{ for(i=0;i<10;i++)
{ d[i].teleno=0; }
}
void insert();
void search();
void display();
};
void Hash::insert()
{
cout<<"\n enter no. of clients ";
cin>>n; //d[x].name
for(j=0;j<n;j++)
{ cout<<"\n enter name of client ";
cin>>na;
cout<<"\n enter telephone no. of client ";
cin>>no;
sum=0;
for(i=0;i<strlen(na);i++)
{ sum=sum+na[i];
}
x=(sum/strlen(na))%10;
cout<<x;
c=x;
while(1)
{
if(d[x].teleno==0)
{ strcpy(d[x].name,na);
d[x].teleno=no;
break;
}
x=(x+1)%10;
if(c==x)
{ cout<<"\n hash table is full";
break;
}
}
}
}
void Hash::search()
{ cout<<"\n enter name to be searched";
cin>>na;
sum=0;
for(i=0;i<strlen(na);i++)
{ sum=sum+(int)na[i];
}
x=(sum/strlen(na))%10;
c=x;
while(1)
{
if(!strcmp(d[x].name,na))
{ cout<<"\n data found : TELEPHONE NO:"<<d[x].teleno;
break;
}
x=(x+1)%10;
if(c==x)
{ cout<<"\n data not found";
break;
}
}
}
void Hash::display()
{
for(int i=0;i<10;i++){
cout<<endl<<d[i].name<<" "<<d[i].teleno;
}
}
int main()
{
Hash h;
h.insert();
//h.display();
h.search();
//h.display();
return 0;
}