高级语言课程设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
青岛农业大学
理学与信息科学学院
高级语言课程设计报告
设计题目学生通讯录设计与实现
学生专业班级电子信息工程专业2012级02班
学生姓名(学号)刘涛(20123134)
设计小组其他同学姓名(学号)王博宸(20123190)于勐涛(20123294)周巧丽(20123288)周倩(20123287)邓楚玉(20120822)
指导教师孙华丽
完成时间2014.12.25
设计地点理信学院软件实验室
2014 年 12 月 25 日
学生通讯录设计与实现
一、课程设计目的和意义
高级语言课程设计是计算机科学与技术专业的主要实践性教学环节。其目的在于加深对面向对象程序设计语言程序设计理论和基本知识的理解,掌握使用C++语言进行面向对象程序设计的基本方法,提高运用面向对象知识解决实际问题的能力。为毕业设计和以后的工程实践打下良好的基础。该课程设计的意义也十分重大,它可以充分锻炼自己的逻辑思维,提升自己对编程语言的认识和运用,我在设计过程中充分的与其他的学科进行了整合,使自己加深了对程序语言的认识,自己的治学态度也得到了提升。
二、需求分析与设计
1.设计任务分析
设计任务为学生通讯录设计与实现。学生通讯录拥有以下几种功能:添加记录、查找记录、删除记录、修改记录。添加功能可以向数据库中追加数据,查找功能能够根据要求超找记录,删除能够删除数据库中的指定记录,修改功能能够修改制定记录的指定内容。
记录储存在文本数据库中,每个记录记录一个联系人的详细信息,记录内容分别为姓名、年龄、电话、邮箱、地址。
我们小组每个人都有明确的任务分工,本次课程设计我主要负责添加纪录模块的设计与实现。
该程序使用Python语言来进行设计。Python,是一种面向对象、解释型计算机程序设计语言,应用于设计各种各样的应用程序。Python在设计上坚持了清晰划一的风格,语法简洁而清晰,具有丰富和强大的类库,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
2.设计方案论证
程序通过调用4个函数来实现通讯录的4个模块功能,通过一个home()函数来实现主界面。
home()函数使用一个while循环,根据用户的输入来选定通讯录的功能。
addMes()函数用来添加记录,通过input()函数来获取用户的输入,将一个用户的记录写到一个字典对象中,然后将字典对象字符串化存储到数据库文件中。
findMes()函数用来查找记录,通过input()函数获取要查询的关键类型和关键字,通过字典的键-值映射来查询数据并输出到屏幕上。
delMes()函数用来删除记录,通过input()函数获取要删除的用户的用户名,在循环中通过字典的键-值映射找到要删除的记录,将其余的记录储存在一个list列表中,循环结束后再将列表重新写入数据库文件中。
changeMes()函数用来修改记录,通过input()函数获取要修改的关键类型和关键字,在循环中通过字典的键-值映射找到要修改的记录,将其值修改后与其他记录一同储存在一个list列表中,循环结束后再将列表重新写入数据库文件中。
几大模块功能相辅相成,利用Python语言函数进行纪录的添加,查找,删除和修改,共同实现学生通讯录的设计与实现。
三、设计代码
#!/usr/bin/python
# -*- coding: cp936 -*-
#Filename : 学生通讯录
添加操作:
def addMes():
file = open('data.txt','a+')
while True:
name = input('Please input name:')
age = input('Please input age:')
tel = input('Please input telephone:')
mail = input('Please input E-mail:')
address = input('Please input address:')
对姓名,年龄,电话,邮箱和地址进行添加;
data = {"Name":name,"Age":age,"Tel":tel,"Mail":mail,"Address":address} data = str(data)+'\n'
file.write(data)
while True:
check = input('Would you want to add again? Y/N:')
if (check == 'Y') or (check == 'N'):
break
else:检查是否继续添加纪录;
print('Wrong number,Please Input Y or N!\n')
if check == 'N':
break检查是否正确输入‘Y’或’N’;
file.close()
print('All added success!') 保存纪录并返回主界面;查找操作:
def findMes():
print('Please choose the keyword:\\n2.Telephone\n3.Mail\n4.Return\n')对纪录项目进行编号;
kind = input('Please input 1~4:')输入编号查找;
if kind == '1':
keyword = 'Name'
elif kind == '2':
keyword = 'Tel'
elif kind == '3':
keyword = 'Mail'
elif kind == '4':
home()
else:
print('Please input the right number!')
检查输入号码是否正确;
flag = input('Please input message:')