C语言《高级语言课程设计》--通讯录设计.doc
《C语言《高级语言课程设计》--通讯录设计.doc》由会员分享,可在线阅读,更多相关《C语言《高级语言课程设计》--通讯录设计.doc(107页珍藏版)》请在三一文库上搜索。
1、 高级语言课程设计 题 目:通讯录设计班 级: 软件 学生学号: 学生姓名: 指导老师: 提交时间:20年4月15日成 绩:评分项目得分功能完整性(30分)界面美观性(10分)设计合理性(10分)创新性(10分)答辩表现(40分)评语:1系统分析1.1问题描述设计一个通讯录程序,该程序具有以下功能:用户登录:输入用户名和密码,密码正确才允许登录。 录入通讯信息; 给定人名,修改该人的通讯信息; 给定人名,删除该人的通讯信息; 根据输入的人名或姓,显示查找到的相应通讯信息; 根据输入的分类,显示该分类的所有人的通讯信息; 统计功能:统计各分类的人数。1.2系统功能分析 能够存储多个使用用户,即可
2、多人使用又互不干扰。系统有新增、修改、标记和删除联系人。修改是想改哪个部分资料就可以修改哪部分。标记功能是选中多个联系人一次性删除。系统在各个分类都会显示当前分类共有多少联系人。删除功能可从两个方向来运用,一是当前指标指向需要删除的联系人或被标记的联系人,二是搜索联系人再选择删除。1.3开发平台及工具介绍开发平台:vc+6.0 企业版,工具:记事本使用系统,winXP以上2系统设计 2.1系统总体结构设计注册结构 登录结构 主菜单结构各 功 能 结 构.2系统各个功能模块及功能模块之间关系设计所有模块都可以返回前一模块,最终都返回到登录模块注册模块登录模块 注册 输出模块 登录成功主要菜单模块
3、 分类模块标记模块删除模块修改模块新增模块 显示被标记项用户资料更改模块链表结点更改模块标记更改模块 标记更改2.3数据存储的设计一个用户信息存储二进制文件(预先建立),用户通信资料存储二进制文件系统根据用户注册自动建立。2.4界面设计普通vc+6.0运行界面3系统实现输入用户名注册模块 Y继续?已存在? Y N N输入密码再次输入密码 Y两次相同?继续? N N Y储存用户信息结束struct one* create(struct one *head) struct one *head1; /返回值指针 char lin116,lin216; /密码临时存储数组 int a=1; /上一步骤
4、成功标记 char b=0; /跳出函数标记 struct user *data1,*data2,nei1,nei2;/临时用户结构 data1=&nei1; data2=&nei2; system(color 2e); head=readFile2(head,data1); do printf(-请输入-n); printf( 用户名:); scanf(%s,nei2.name); head1=SearchNode2(head,data2,2); /检测用户名 if(head1!=NULL) printf( 用户已存在n); printf( 退出按1,继续按0 :); b=getch();
5、if(b=1) /退出 head=NULL; return head; a=2; else a=1; while(a!=1); /不成功则继续循环 do printf( 密码:); scanf(%s,lin1); printf( 密码again:); scanf(%s,lin2); if(strcmp(lin1,lin2)!=0) printf( 密码不同!n); printf( 退出按1,继续按0 :); b=getch(); if(b=1) head=NULL; return head; a=2; else a=1; strcpy(data2-mi,lin1); /保存用户资料 head=
6、InsertOrder2(head,data2); /建立新用户结点 saveFile2(head); /保存用户资料 createFile(data2-name); /创建用户独立文件 system(cls); /清屏 while(a!=1); head=NULL; return head;登录模块输入用户名 Y继续?存在否 N N Y 输入密码 Y 继续?正确? N N输入密码修改密码? Y再次输入密码两次相同? N Y更改密码结束struct one* commit(struct one *head) int a; /上一步骤成功标记 char b=0,lin116,lin216,cho
7、ice; /密码临时存储数组和跳出函数标记 struct one *head1; /返回值指针 struct user *data1,*data2,nei1,nei2; /临时用户结构 data1=&nei1; data2=&nei2; system(color c9); /字体色彩 head=readFile2(head,data1); do printf(n); printf( 用户名:); scanf(%s,nei2.name); head1=SearchNode2(head,data2,2); /搜索用户名 if(head1=NULL) printf( 用户不存在!n); a=2; p
8、rintf( 退出按1,继续按0 :); b=getch(); if(b=1) /退出 head=NULL; system(cls); return head; else a=1; while(a!=1); do printf( 密码:); scanf(%s,nei2.mi); head1=SearchNode2(head,data2,4); /对比密码 if(head1=NULL) printf( 密码错误n); printf( 退出按1,继续按0 :); b=getch(); if(b=1) head=NULL; return head; a=3; else a=1; strcpy(bos
9、s,data2-name); #ifdef DEBUG printf(当前用户 :%sn,boss); #endif system(cls);while(a!=1); printf( 需要修改密码按y,其余键继续:); choice=getch(); printf(%cn,choice); if(choice=y) printf( 新密码:); scanf(%s,lin1); printf( 密码again:); scanf(%s,lin2); if(strcmp(lin1,lin2)!=0) printf( 密码不同!修改失败n); else strcpy(head1-nei.mi,lin1
10、); /更改新密码 saveFile2(head); /保存新密码 return head;新增模块输入联系人信息新建结点插入链表结束struct two* CreateInsert(struct two *head1) struct mem *data,nei; data=&nei; readNode1(data); /输入信息 head1=InsertOrder1(head1,data,1); /插入结点 return head1;修改模块输出原来信息 N已到末尾?下一条信息修改? N更改信息输入新信息保存用户信息结束void xiu(struct two *data)char choic
11、e;printf( 原姓:);printf( %sn,data-nei.xing);printf( 需要修改按y,其他键下一条目:);choice=getch();printf(%cn,choice);if(choice=y)printf( 姓(16个以内的字符或数字) :); scanf(%s,data-nei.xing); /直接修改原链表中信息system(cls);printf( 原名:);printf( %sn,data-nei.name);printf( 需要修改按y,其他键下一条目:); choice=getch();printf(%cn,choice);if(choice=y)
12、printf( 名(16个以内的字符或数字) :); scanf(%s,data-nei.name);system(cls);printf( 原电话:);printf( %sn,data-nei.tel);printf( 需要修改按y,其他键下一条目:);choice=getch();printf(%cn,choice);if(choice=y)printf( 电话(16个以内的数字) :); scanf(%s,data-nei.tel);system(cls); printf( 原分类:);switch(data-nei.sort)case 1: printf(朋友n); break;cas
13、e 2: printf(家人n); break;case 3: printf(同事n); break;case 4: printf(同学n); break;case 5: printf(其他n); break;printf( 需要修改按y,其他键下一条目:);choice=getch();printf(%cn,choice);if(choice=y)printf( 请选择分类编号n); printf( 1.朋友n); printf( 2.家人n); printf( 3.同事n); printf( 4.同学n); printf( 5.其他n); scanf(%d,&data-nei.sort);
14、system(cls);4系统测试预先拥有联系人:姓 名 电话 分类 bb 13811381 同事 cc 13821382 家人 dd 13831383 朋友 ee 13841384 其他注册模块测试注册用户: ceshi 密码: ce 预计:登录时用户存在 结果 : 成功登录模块测试用户:ceshi 密码: ce 预计:成功登录 结果:成功修改密码测试用户:ceshi 密码: ce 新密码:shi 预计:再次登录时ce错误,shi登录成功结果: 成功新增模块测试用户:ceshi 新建联系人: aa 电话:13881388 分类:同学 预计:新增后显示而且再次登录显示,信息与计划相同结果:成功
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级语言课程设计 语言 高级 课程设计 通讯录 设计
链接地址:https://www.31doc.com/p-5014188.html