本文实例为大家分享了C++实现简单通讯录系统的具体代码,供大家参考,具体内容如下
需求分析:
1.通讯录可以添加联系人。
2.通讯录可以显示所有联系人。
3.通讯录可以查找联系人。
4.通讯录可以删除联系人。
5.通讯录可以修改联系人。
6.可以清空通讯录。
7.退出通讯录。
项目代码:
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
|
#include<iostream> #include<string> #include<stdlib.h> using namespace std; #define MAX 1000 typedef struct person { //定义一个联系人的结构体 string name; string sex; int age; int telnumber; string addr; }person; typedef struct Addressbooks { //定义一个通讯录,自带一个联系人数组,里面可以存放MAX个联系人 struct person personArray[MAX]; int m_size=0; }Addressbooks; void Menu() { //菜单函数 cout << " 通讯录管理系统" << endl; cout << "" << endl; cout << "" << endl; cout << " 1--添加联系人" << endl; cout << " 2--显示联系人" << endl; cout << " 3--删除联系人" << endl; cout << " 4--查找联系人" << endl; cout << " 5--修改联系人" << endl; cout << " 6--清空联系人" << endl; cout << " 7--退出联系人" << endl; } void addPerson(Addressbooks* abs ) { //添加联系人的函数实现 if ( abs ->m_size == MAX) { cout << "此通讯录已满,不能添加\n" << endl; } else { string name; string sex; int age; int telnumber; string addr; cout << "请输入联系人姓名:" << endl; cin >> name; abs ->personArray[ abs ->m_size].name = name; cout << "请输入联系人性别:" << endl; cin >> sex; abs ->personArray[ abs ->m_size].sex = sex; cout << "请输入联系人年龄:" << endl; cin >> age; abs ->personArray[ abs ->m_size].age = age; cout << "请输入联系人电话号码:" << endl; cin >> telnumber; abs ->personArray[ abs ->m_size].telnumber = telnumber; cout << "请输入联系人家庭住址:" << endl; cin >> addr; abs ->personArray[ abs ->m_size].addr = addr; abs ->m_size++; cout << "添加成功!!!" << endl; system ( "pause" ); //利用这行语句达到一个显示按任意键继续的效果 system ( "cls" ); //清空整个屏幕,刷新屏幕 } } void showPerson(Addressbooks* abs ) { //显示整个通讯录中联系人的函数实现 for ( int i = 0; i < abs ->m_size; i++) { cout << abs ->personArray[i].name << " " << abs ->personArray[i].sex << " " << abs ->personArray[i].age << " " << abs ->personArray[i].telnumber << " " << abs ->personArray[i].addr << endl; } system ( "pause" ); system ( "cls" ); } int selectPerson(Addressbooks* abs ,string name) { //查询输入的联系人是否存在,存在返回联系人坐在的下标值,不存在则返回-1 for ( int i = 0; i < abs ->m_size; i++) { if ( abs ->personArray[i].name == name) { return i; } } return -1; } void deletePerson(Addressbooks* abs ) { //删除联系人的函数实现 string name; cout << "请输入删除联系人的名字:" << endl; cin >> name; if (selectPerson( abs , name) != -1) { for ( int i = selectPerson( abs , name); i < abs ->m_size;i++) { abs ->personArray[i] = abs ->personArray[i + 1]; } abs ->m_size--; cout << "删除成功" << endl; } else { cout << "查无此人" << endl; } system ( "pause" ); system ( "cls" ); } void searchPerson(Addressbooks* abs ) { //查询联系人并输出相关信息的函数实现 string name; cout << "请输入联系人姓名:" << endl; cin >> name; int ret = selectPerson( abs , name); if (ret != -1) { cout << abs ->personArray[ret].name << " " << abs ->personArray[ret].sex << " " << abs ->personArray[ret].age << " " << abs ->personArray[ret].telnumber << " " << abs ->personArray[ret].addr << endl; } else { cout << "查无此人" << endl; } system ( "pause" ); system ( "cls" ); } void revisePerson(Addressbooks* abs ) { //修改联系人的函数实现 string name; cout << "请选择联系人 :" << endl; cin >> name; int ret; ret = selectPerson( abs , name); if (ret != -1) { cout << " 1--修改姓名" << endl; cout << " 2--修改性别" << endl; cout << " 3--修改年龄" << endl; cout << " 4--修改电话号码" << endl; cout << " 5--修改家庭住址" << endl; cout << " 0--退出" << endl; int chosen; while (1) { cout << "选择:" <<endl; cin >> chosen; switch (chosen) { case 1: { string name2; cout << "修改名字:" << endl; cin >> name2; abs ->personArray[ret].name = name2; break ; } case 2: { string sex; cout << "修改性别:" << endl; cin >> sex; abs ->personArray[ret].sex = sex; break ; } case 3: { int age; cout << "修改年龄:" << endl; cin >> age; abs ->personArray[ret].age = age; break ; } case 4: { int tel; cout << "修改电话号码:" << endl; cin >> tel; abs ->personArray[ret].telnumber = tel; break ; } case 5: { string addr; cout << "修改住址:" << endl; cin >> addr; abs ->personArray[ret].addr = addr; break ; } case 0: goto FLAG1; default : break ; } } } else { cout << "查无此人!!!" << endl; } FLAG1: system ( "pause" ); system ( "cls" ); } void clear(Addressbooks* abs ) { abs ->m_size = 0; cout << "此通讯录已清空!!!" << endl; system ( "pause" ); system ( "cls" ); } int main() { Addressbooks book1; //先定义一个通讯录,并添加一个联系人hyp book1.personArray[0].name = "hyp" ; book1.personArray[0].sex = "man" ; book1.personArray[0].age = 21; book1.personArray[0].telnumber = 76766767; book1.personArray[0].addr = "重庆" ; book1.m_size = 1; int chosen; while (1) { Menu(); cout << "选择:" ; cin >> chosen; switch (chosen) { case 1: //添加联系人 addPerson(&book1); break ; case 2: //显示联系人 showPerson(&book1); break ; case 3: //删除联系人 deletePerson(&book1); break ; case 4: //查找联系人 searchPerson(&book1); break ; case 5: //修改联系人 revisePerson(&book1); break ; case 6: //清空联系人 clear(&book1); break ; case 7: //退出通讯录 return 0; break ; default : break ; } } return 0; } |
效果:
显示联系人
添加联系人
后面效果就不一一显示了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hypnumberone/article/details/123902834