课程设计
QQ好友管理系统
课程设计名称数据结构课程设计
小组成员王守锋石松轶陆永斌张智斌李浩明
计算机应用技术专业课程设计任务书
0
1
目录
1需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
2概要设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
3详细设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
4运行环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
5开发工具和编程语言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
6程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
7调试分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
8测试结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
9参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
10心得体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
11成绩评价表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
2
1需求分析
QQ的普及度越来越高其功能也需要加强。将通讯录的功能添加到QQ好友管理系统中使其在聊天中就可以呼叫联系人并且将通讯录的信息可以QQ中长期保存在无手机的情况下也查找好友手机号。从而使QQ功能更加完善使用起来更加方便和快捷。
2概要设计
1实现功能
友
友统息友
2序中各函数程简单说明见下
返回值函数名参数表函数说明提供客户intmainvoid主函数是voidmenuvoid显示功能是intreadsHaoyoustu[N]读取否voidsavehaoyoustu[N] ,n保存是voidaddvoid添加是voiddelvoid删除否voidqueryvoid查找是voidchangvoid修改否voidshowvoid信息显示是
WORD格式
3
专业资料整理
3对程序中的各个函数功能的描述
[1]主函数main
系统开始、结束界面的显示、各个功能函数的调用、转换以及参数的传递、定义QQ头结点并传递给各个功能函数
[2]功能显示menu
介绍程序的功能按那些键实现其特点功能。
[3]读取函数reads
读取用户输入的信息将其按线性表的形式呢存储
联系人的编号为其头结点。
[4]保存函数save
将输入的信息保存若失败返回保持失败。
[5]添加联系人函数add
增加联系人到QQ通讯录的尾部返回增加是否成功。
[6]删除函数del
按照用户指定的联系人编号删除相应联系人信息返回删除是否成功。
[7]查找函数query
按照用户提供的联系人姓名查找第一个合法姓名对应的信息查找成功则显示信息失败则提示无此联系人返回是否查找到。
[8]修改函数chang
按照用户提供的联系人姓名修改联系人所有信息返回修改是否成功。
[9]显示信息函数show
显示当前通讯录中所有联系人的信息若为空通讯录则显示无联
系人。
4
3详细设计
4运行环境
1)软件环境
操作系统 Windows7,Windows8
2)硬件环境
处理器 IntelPentium166MX或更高
内存 32MB以上
硬盘空间 1GB以上
显卡 SVGA显示适配
5
5开发工具和编程语言
MicrosoftvisualC++
C语言
6程序设计
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"conio.h"/*conio.h主要做图形图像例如说设置背景色的函数字体颜色的函数、输出格式的函数等*/
#defineN30typedefstructhaoyou/*typedef是类型定义的意思。 typedefstruct是为了使用这个结构体方便。具体区别在于:若structnode{}这样来定义结构体的话。在申请node的变量时需要这样写 structnoden;若用typedef可以这样写 typedefstructno de{}NODE; 。在申请变量时就可以这样写 NODEn;区别就在于使用时是否可以省去struct这个关键字*/
{charnum[20] ;charname[10] ;charadress[50] ;charQQ[15] ;chartel[15] ;
}haoyou;vo i dmenu() ;intreads(haoyoustu[N] ) ;//读取voidsave(haoyoustu[N] , intn) ;//保存voidadd() ;//添加voiddel() ;//删除voidquery() ;//查询voidchange() ;//修改voidshow() ;//信息显示voidmain()
{intn;while(1)/*while(1)其中1代表一个常量表达式他永远不会等于0。所以循环会一直执行下去。除非你设置break等类似的跳出循环语句循环才会中止*/
{
6
menu() ;
→→→→→→printf("您现在看到的是QQ中的通讯录\n") ;
←←←←←←
→→→→→→printf("请输入您要选择的操作编号按回车键确认 \n") ;
←←←←←←scanf("%d",&n) ;switch(n)
{case1 :add() ;break;case2:show() ;break;case3:del () ;break;case4:change() ;break;case5:query() ;break;case0:exit(0) ;default:printf("***********************************\n") ;printf("输入错误请输入列表中存在的编号\n") ;printf("***********************************\n") ;
}printf("*************\n") ;printf("按任意键返回\n") ;printf("*************\n") ;getch() ;/*getch() ;或ch=getch() ;用getch() ;会等待你
按下任意键再继续执行下面的语句用ch=getch() ;会等待你按下任意键之后把该键字符所对应的ASCII码赋给ch,再执行下面的语句。 */
}
}vo i dmenu()
{system("color1f") ;//颜色system("cls") ;//清屏printf("***********xxx好友信息管理系统*******************\n") ;printf("**1添加好友信息**\n") ;printf("**2显示好友信息**\n") ;printf("**3删除好友信息**\n") ;printf("**4更改好友信息**\n") ;printf("**5查询好友信息**\n") ;printf("**0退出**\n") ;printf("*******************************************************\n") ;
}
7
pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...
酷锐云是一家2019年开业的国人主机商家,商家为企业运营,主要销售主VPS服务器,提供挂机宝和云服务器,机房有美国CERA、中国香港安畅和电信,CERA为CN2 GIA线路,提供单机10G+天机盾防御,提供美国原生IP,支持媒体流解锁,商家的套餐价格非常美丽,CERA机房月付20元起,香港安畅机房10M带宽月付25元,有需要的朋友可以入手试试。酷锐云自开业以来一直有着良好的产品稳定性及服务态度,支...
今年1月的时候Hosteons开始提供1Gbps端口KVM架构VPS,目前商家在LET发布消息,到本月30日之前,用户下单洛杉矶/纽约/达拉斯三个地区机房KVM主机可以从1Gbps免费升级到10Gbps端口,最低年付仅21美元起。Hosteons是一家成立于2018年的国外VPS主机商,主要提供VPS、Hybrid Dedicated Servers及独立服务器租用等,提供IPv4+IPv6,支持...