通讯录编程作业概要.docx

上传人:b****7 文档编号:8919410 上传时间:2023-02-02 格式:DOCX 页数:16 大小:1.11MB
下载 相关 举报
通讯录编程作业概要.docx_第1页
第1页 / 共16页
通讯录编程作业概要.docx_第2页
第2页 / 共16页
通讯录编程作业概要.docx_第3页
第3页 / 共16页
通讯录编程作业概要.docx_第4页
第4页 / 共16页
通讯录编程作业概要.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

通讯录编程作业概要.docx

《通讯录编程作业概要.docx》由会员分享,可在线阅读,更多相关《通讯录编程作业概要.docx(16页珍藏版)》请在冰豆网上搜索。

通讯录编程作业概要.docx

通讯录编程作业概要

 

能动46

丁济同

2140301156

 

目录

一·题目及功能描述--------------------3

二·模块划分与算法说明----------------4

三·数据结构类型定义及基本操作定义----5

四·程序代码--------------------------6

五·调试过程屏幕截图-----------------11

六·小结-----------------------------20

 

一·题目及功能描述

本程序题目为通讯录管理系统。

该程序是简单易操作的通讯录管理系统,且可以大致覆盖联系人的基本信息。

用户可将联系人的编号,姓名,性别,电话,通讯地址,邮箱存入线性表中。

并可按指定步骤显示出已存通讯录的全部信息,同时可以查询某个联系人的全部信息。

同时用户可以对线性表做出必要的修改。

修改范围是待该联系人的电话以及通讯地址。

并且用户还可以在所指定编号的联系人后面添加新的联系人。

对于可删除信息的联系人,用户可按指定步骤删除联系人。

 

二·模块划分与算法说明

Sub子程序过程

(1)subprint

该过程为帮助用户显示全部通讯录信息。

过程引用线性表,根据下标从小到大的顺序(下标从零开始)依次显示。

(2)subprint1

该过程为帮助用户显示指定联系人的通讯录信息。

由于联系人是指定的,因而过程在引用线性表的同时要引用联系人的下标(下标由自定义函数function1以及用户提供的联系人姓名找出)。

通过下标显示出该下标对应的联系人的通讯录信息。

Function函数过程

(1)functionfind

该函数引用线性表以及用户提供的联系人的姓名。

该姓名与线性表中的姓名依次比较(按下标的顺序),若该姓名与线性表中某一下标的姓名一致,则返回该下标。

若线性表中无姓名与该姓名对应,则返回-1.

(2)functionfind1

该函数过程与“functionfind”类似。

唯一不同的是该函数引用的是用户提供的联系人的编号,而不是姓名。

 

 

三·数据结构类型定义及基本操作定义

DimlistAsNewList(Ofperson)

*数据结构类型:

list类。

List中储存的是person(联系人)数据。

 

Structureperson

DimnumberAsString

DimnameAsString

DimgenderAsString

DimtelnumAsString

DimaddressAsString

DimemailAsString

EndStructure

*单个数据person中包含联系人的通讯录信息。

Nunber----编号

Name----姓名

Gender----性别

Telnum----电话

Address----通讯地址

Email----邮箱

 

四·程序代码

ModuleModule1

Structureperson

DimnumberAsString

DimnameAsString

DimgenderAsString

DimtelnumAsString

DimaddressAsString

DimemailAsString

EndStructure

 

Subprint(ByVallAsList(Ofperson))

DimiAsInteger

Fori=0Tol.Count-1

Console.WriteLine("编号:

{0}姓名:

{1}性别:

{2}电话:

{3}通讯地址:

{4}邮箱:

{5}",l(i).number,l(i).name,l(i).gender,l(i).telnum,l(i).address,l(i).email)

Next

EndSub

 

Subprint1(ByVallAsList(Ofperson),ByValnAsInteger)

Console.WriteLine("编号:

{0}姓名:

{1}性别:

{2}电话:

{3}通讯地址:

{4}邮箱:

{5}",l(n).number,l(n).name,l(n).gender,l(n).telnum,l(n).address,l(n).email)

EndSub

 

SubMain()

DimlistAsNewList(Ofperson)

DimaAsInteger

DimbAsperson

While(True)

Console.WriteLine("************电话薄管理系统************")

Console.WriteLine("--------------------------------------")

Console.WriteLine("1.创建通讯录")

Console.WriteLine("2.显示通讯录信息")

Console.WriteLine("3.修改通讯录信息")

Console.WriteLine("4.插入通讯录信息")

Console.WriteLine("5.删除通讯录信息")

Console.WriteLine("6.查询通讯录信息")

Console.WriteLine("7.退出通讯管理系统")

Console.WriteLine("--------------------------------------")

Console.WriteLine("请选择1-7")

a=Console.ReadLine

Ifa=7Then

End

ElseIfa=1Then

Console.WriteLine("请输入编号")

b.number=Console.ReadLine()

Console.WriteLine("请输入姓名")

b.name=Console.ReadLine()

Console.WriteLine("请输入性别")

b.gender=Console.ReadLine()

Console.WriteLine("请输入电话")

b.telnum=Console.ReadLine()

Console.WriteLine("请输入通讯地址")

b.address=Console.ReadLine()

Console.WriteLine("请输入邮箱")

b.email=Console.ReadLine()

list.Add(b)

Console.WriteLine("操作成功")

Console.ReadKey()

 

ElseIfa=2Then

print(list)

Console.WriteLine("操作成功")

Console.ReadKey()

ElseIfa=6Then

DimmAsString

DimnAsInteger

Console.WriteLine("请输入带查询人姓名")

m=Console.ReadLine()

n=find(m,list)

Ifn>=0Then

print1(list,n)

Console.WriteLine("操作成功")

Else

Console.WriteLine("操作失败")

EndIf

Console.ReadKey()

ElseIfa=5Then

Console.WriteLine("请输入待删除联系人姓名")

DimpAsString

DimqAsInteger

p=Console.ReadLine()

q=find(p,list)

Ifq>=0Then

list.RemoveAt(q)

Console.WriteLine("操作成功")

Console.ReadKey()

Else

Console.WriteLine("通讯录中无此人")

EndIf

Console.ReadKey()

ElseIfa=3Then

Console.WriteLine("请输入待修改联系人编号")

Dimc,dAsString

Dimb2Asperson

c=Console.ReadLine()

d=find1(c,list)

Ifd>=0Then

 

b2=list(d)

Console.WriteLine("请输入修改后的电话")

b2.telnum=Console.ReadLine()

Console.WriteLine("请输入修改后的通讯地址")

b2.address=Console.ReadLine()

list.Insert(d,b2)

list.RemoveAt(d+1)

Console.WriteLine("操作成功")

Else

Console.WriteLine("通讯录中无此人")

EndIf

Console.ReadKey()

ElseIfa=4Then

DimfAsInteger

DimeAsString

Console.WriteLine("请输入待添加联系人编号")

e=Console.ReadLine()

f=find1(e,list)

Iff>=0Then

b.number=list(f).number

Console.WriteLine("请输入姓名")

b.name=Console.ReadLine()

Console.WriteLine("请输入性别")

b.gender=Console.ReadLine()

Console.WriteLine("请输入电话")

b.telnum=Console.ReadLine()

Console.WriteLine("请输入通讯地址")

b.address=Console.ReadLine()

Console.WriteLine("请输入邮箱")

b.email=Console.ReadLine()

Console.WriteLine("操作成功")

list.Insert(f,b)

Else

Console.WriteLine("通讯录中无此人")

EndIf

Console.ReadKey()

EndIf

EndWhile

EndSub

 

Functionfind(ByValxAsString,ByVallAsList(Ofperson))AsInteger

DimiAsInteger=0

Whilei

Ifx=l(i).nameThen

Returni

EndIf

i=i+1

EndWhile

Return-1

EndFunction

 

Functionfind1(ByValaAsString,ByVallAsList(Ofperson))AsInteger

DimiAsInteger

Whilei

Ifa=l(i).numberThen

Returni

EndIf

i=i+1

EndWhile

Return-1

EndFunction

EndModule

 

五·调试过程屏幕截图

(1)创建通讯录

 

(2)显示通讯录

 

(3)修改通讯录信息

 

(4)插入通讯录信息

 

插入后

(5)删除通讯录信息

删除后

(6)查询通讯录信息

(7)退出通讯录

#实际界面

六·小结

通过这次通讯录的设计,本人不仅掌握了数据结构中线性表的知识,同时也复习了前一阶段基本语句的设计,以及子程序过程和函数过程。

不管在哪个程序设计中,几个基本的语句都是常用的,例如定义,读取。

再者对于子过程而言,参数的引用的规则显得极为重要,通过此次程序设计,再次领悟byval及byref的功能与区别。

即使简单的程序背后还是有冗长的编程语言,程序的成功背后有无数次的调试与无数次的修改,从此深刻体会出耐心与毅力对于任务成功的重要性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1