课程设计
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
大硬盘服务器、存储服务器、Chia矿机。RackNerd,2019年末成立的商家,主要提供各类KVM VPS主机、独立服务器和站群服务器等。当前RackNerd正在促销旗下几款美国大硬盘服务器,位于洛杉矶multacom数据中心,亚洲优化线路,非常适合存储、数据备份等应用场景,双路e5-2640v2,64G内存,56G SSD系统盘,160T SAS数据盘,流量是每月200T,1Gbps带宽,配5...
继阿里云服务商推出轻量服务器后,腾讯云这两年对于轻量服务器的推广力度还是比较大的。实际上对于我们大部分网友用户来说,轻量服务器对于我们网站和一般的业务来说是绝对够用的。反而有些时候轻量服务器的带宽比CVM云服务器够大,配置也够好,更有是价格也便宜,所以对于初期的网站业务来说轻量服务器是够用的。这几天UCLOUD优刻得香港服务器稳定性不佳,于是有网友也在考虑搬迁到腾讯云服务器商家,对于轻量服务器官方...
鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元/月起。下面列出部分促销机型的配置信息。机房...