课程设计
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
hostkvm本月对香港国际线路的VPS、韩国CN2+bgp线路的VPS正在做7折终身优惠,对日本软银线路、美国CN2 GIA线路、新加坡直连线路的VPS进行8折终身优惠促销。所有VPS从4G内存开始支持Windows系统,当然主流Linux发行版是绝对不会缺席的!官方网站:https://hostkvm.com香港国际线路、韩国,7折优惠码:2021summer日本、美国、新加坡,8折优惠码:2...
Hostodo在九月份又发布了两款特别套餐,开设在美国拉斯维加斯、迈阿密和斯波坎机房,基于KVM架构,采用NVMe SSD高性能磁盘,最低1.5GB内存8TB月流量套餐年付34.99美元起。Hostodo是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,美国三个地区机房,支持支付宝或者PayPal、加密货币等付款。下面列出这两款主机配置信息。CP...
v5.net一直做独立服务器这块儿的,自从推出云服务器(VPS)以来站长一直还没有关注过,在网友的提醒下弄了个6G内存、2核、100G SSD的美国云服务器来写测评,主机测评给大家趟雷,让你知道v5.net的美国云服务器效果怎么样。本次测评数据仅供参考,有兴趣的还是亲自测试吧! 官方网站:https://v5.net/cloud.html 从显示来看CPU是e5-2660(2.2GHz主频),...