通讯录管理系统
一.设计的任务与要求
1.1设计任务
设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。(用文件保存)实现功能。
1.2任务要求
能够实现:系统以菜单方式工作
(1)信息录入功能
(2)信息浏览功能
(3)信息查询功能
(4)信息修改功能
(5)系统退出功能
二. 程序设计思路
2.1主程序
通过主函数的调用实现对通讯录的查询,浏览,录入,修改等功能。
def main():
print('你所需要的功能:')
print('''
1.信息录入
2.信息查询
3.信息修改
4.信息浏览
5.系统退出功能
''')
key=input('''请输入:''')
if key=='1':
luru()
elif key=='2':
chaxun()
elif key=='3':
x = input("输入序号:")
xiugai(x)
elif key=='4':
liulan()
elif key=='5':
print('已退出')
exit()
main()
在此函数下调用luru(),chaxun(),xiugai()等函数,实现通讯录的基本功能,
2.2流程图
三. 程序测试
3.1录入测试
def luru():
f1=open('F:\文件路径\通信录.txt','a')
number=str(input('请输入编号:'))
name=str(input('请输入姓名:'))
print('只需精确到市县即可')
jiguan=str(input('请输入籍贯:'))
callnumber1=str(input('请输入电话号码1:'))
callnumber2=str(input('请输入电话号码2:'))
email=str(input('请输入电子邮箱:'))
numbervalue=re.compile('\d+')
resultnumber=numbervalue.match(number)
namevalue=re.compile('.+')
resultname=namevalue.match(name)
jiguanvalue=re.compile('.+')
resultjiguan=jiguanvalue.match(jiguan)
callnumber1value=re.compile('^[1]{1}([0-9]){10}')
resultcallnumber1=callnumber1value.match(callnumber1)
callnumber2value = re.compile('{1}([0-9]){10}')
resultcallnumber2 = callnumber1value.match(callnumber2)
emailvalue=re.compile('^\w+@(\w+\.)+\w+$')
reslutemail=emailvalue.match(email)
if reslutemail and resultjiguan and resultcallnumber1 and resultcallnumber2 and resultcallnumber2 and resultname and resultnumber:
f1.write(number+' '+name+' '+jiguan+' '+callnumber1+' '+callnumber2+' '+email+' '+'\n')
f1.close()
p=input('添加成功,继续添加请输入1,结束添加请输入0')
if p=='1':
luru()
elif p=='0':
main()
else:
s=input('输入格式