C语言课程设计手机通讯录系统.docx
- 文档编号:20684431
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:48
- 大小:391.83KB
C语言课程设计手机通讯录系统.docx
《C语言课程设计手机通讯录系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计手机通讯录系统.docx(48页珍藏版)》请在冰豆网上搜索。
C语言课程设计手机通讯录系统
综合性程序设计报告
设计题目:
手机名片管理系统
指导教师:
班级:
学号:
设计者:
成绩:
_______________
设计时间:
2010年5月22日
-------------------------------
1设计题目的内容、任务、具体要求及系统功能需求分析………………………3
2总体设计思路………………………………………………………………………4
3功能模块的具体设计………………………………………………………………6
3.1界面分析…………………………………………………………………10
3.1.1开始界面………………………………………………………10
3.1.2添加功能的界面………………………………………………10
3.1.3显示功能的界面………………………………………………11
3.1.4删除功能的界面………………………………………………12
3.1.5查找功能的界面………………………………………………13
3.1.6修改功能的界面………………………………………………14
3.1.7保存功能的界面………………………………………………15
3.1.8退出功能的界面………………………………………………15
3.2程序设计中的数据设计………………………………………………16
3.3代码清单及注释………………………………………………………17
4功能模块的调试及测试…………………………………………………………25
4.1执行软件…………………………………………………………………25
4.2功能模块的调试…………………………………………………………26
4.2.1.运行进入程序主菜单…………………………………………26
4.2.2.添加模块………………………………………………………26
4.2.3.显示模块………………………………………………………27
4.2.4.删除模块………………………………………………………28
4.2.5.查找模块………………………………………………………29
4.2.6.修改模块………………………………………………………30
4.2.7.保存模块………………………………………………………31
4.2.8.退出……………………………………………………………32
5心得体会…………………………………………………………………………33参考文献----------------------------------------------------------34
手机名片管理系统
1设计题目的内容、任务、具体要求及系统功能需求分析
内容:
通过计算机对数据文件的存储和读取,实现名片的输入,输出,查找,修改,删除,分类存储等功能。
最大可以管理300张名片。
任务:
本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。
本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。
我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。
具体要求:
◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;
◆能够提供添加、删除和修改通讯录信息的功能;
◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;
◆将通讯录保存在文件中;
◆能够按表格方式输出通讯录信息。
系统功能需求分析(主要包含一下多种功能):
添加:
添加通讯录记录
显示:
显示通讯录记录
删除:
删除通讯录记录
查询:
查询通讯录记录
修改:
修改通讯录记录
保存:
将信息保存到文件
2总体设计思路
本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。
在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。
删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。
查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。
修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。
系统功能模块图:
添加:
可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。
显示:
可以以表格形式输出所有通讯录里的记录
删除:
输入欲删除的那个人的名字后,会自动删除他(她)的记录内容
查询:
可以选择用姓名、电话、地址三种方式查询
修改:
输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改
保存:
,输入文件名(带后缀名)后,即可将通讯录信息保存到文件
下面就是总的程序流程图:
3功能模块的具体设计
(1).通讯录:
typedefstruct
{
charscore;/*编号*/
charname[10];/*姓名*/
charnum[15];/*号码*/
charemail[20];/*邮箱*/
charage[8];/*年龄*/
charadds[20];/*住址*/
}Person;
voidmain()/*主函数*/
{
intn=0;
for(;;)
{
switch(menu_select())
{
case1:
printf("\n\t添加记录到通讯录\n");/*添加记录*/
n=Input(pe,n);
break;
case2:
printf("\n\t\t\t通讯录记录表\n");/*显示记录*/
Display(pe,n);
break;
case3:
printf("\n\t从通讯录中删除记录\n");
n=Delete_a_record(pe,n);/*删除记录*/
printf("\t");
system("pause");
break;
case4:
printf("\n\t在通讯录中查找记录\n");
Query_a_record(pe,n);/*查找记录*/
printf("\t");
system("pause");
break;
case5:
printf("\n\t修改通讯录中的记录\n");
Change(pe,n);/*修改数据*/
printf("\t");
system("pause");
break;
case6:
printf("\n\t保存功能\n");
WritetoText(pe,n);/*保存数据*/
printf("\t");
system("pause");
break;
case0:
printf("\n\t\t谢谢使用,再见!
\n");/*结束程序*/
printf("\n\t\t");
system("pause");
exit(0);
}
}
}
(2).工作流程图:
①添加:
添加通讯录记录②显示:
显示通讯录记录
③删除:
删除通讯录记录④查询:
查询通讯录记录
先选择查询方式,以姓名查询方式为例
⑤修改:
修改通讯录记录
3.1界面分析
3.1.1开始界面
3.1.2添加功能的界面:
选择1后的系统界面:
**************************欢迎使用通讯录***************************
****************制作:
自动化5080228里来了***********************
**************************菜单***************************
*******************1.添加记录*******************
*******************2.显示记录*******************
*******************3.删除记录*******************
*******************4.查询记录*******************
*******************5.修改记录*******************
*******************6.保存记录*******************
*******************0.退出*******************
*******************************通讯录******************************
请输入您选择的操作(0-6):
1
添加记录到通讯录
编号:
输入信息后的的系统界面
3.1.3显示功能的界面:
选择2后系统出现现有的所有人员名单:
3.1.4删除功能的界面:
选择2后系统界面
**************************欢迎使用通讯录***************************
****************制作:
自动化5080228里来了***********************
**************************菜单***************************
*******************1.添加记录*******************
*******************2.显示记录*******************
*******************3.删除记录*******************
*******************4.查询记录*******************
*******************5.修改记录*******************
*******************6.保存记录*******************
*******************0.退出*******************
*******************************通讯录******************************
请输入您选择的操作(0-6):
3
从通讯录中删除记录
请输入想删除记录中的名字:
输入信息后界面:
**************************欢迎使用通讯录***************************
****************制作:
自动化5080228里来了***********************
**************************菜单***************************
*******************1.添加记录*******************
*******************2.显示记录*******************
*******************3.删除记录*******************
*******************4.查询记录*******************
*******************5.修改记录*******************
*******************6.保存记录*******************
*******************0.退出*******************
*******************************通讯录******************************
请输入您选择的操作(0-6):
3
从通讯录中删除记录
请输入想删除记录中的名字:
丁
已经成功删除!
请按任意键继续……
3.1.5查找功能的界面:
输入4查找记录:
**************************欢迎使用通讯录***************************
****************制作:
自动化5080228里来了***********************
**************************菜单***************************
*******************1.添加记录*******************
*******************2.显示记录*******************
*******************3.删除记录*******************
*******************4.查询记录*******************
*******************5.修改记录*******************
*******************6.保存记录*******************
*******************0.退出*******************
*******************************通讯录******************************
请输入您选择的操作(0-6):
4
在通讯录中查找记录
请选择查询方式:
请选择:
输入信息后的系统显示:
输入信息后界面:
3.1.6修改功能的界面:
3.1.6修改功能的界面:
选择5后的系统界面:
**************************欢迎使用通讯录***************************
****************制作:
自动化5080228了来了***********************
**************************菜单***************************
*******************1.添加记录*******************
*******************2.显示记录*******************
*******************3.删除记录*******************
*******************4.查询记录*******************
*******************5.修改记录*******************
*******************6.保存记录*******************
*******************0.退出*******************
*******************************通讯录******************************
请输入您选择的操作(0-6):
5
修改通讯录中的记录
请输入想修改的记录中的名字:
输入信息后的的系统界面
3.1.7保存功能的界面:
输入6后的系统界面:
**************************欢迎使用通讯录***************************
****************制作:
自动化5080228里来了***********************
**************************菜单***************************
*******************1.添加记录*******************
*******************2.显示记录*******************
*******************3.删除记录*******************
*******************4.查询记录*******************
*******************5.修改记录*******************
*******************6.保存记录*******************
*******************0.退出*******************
*******************************通讯录******************************
请输入您选择的操作(0-6):
6
保存功能
保存到文件
请输入所保存的文件名:
F:
\v.txt
保存成功!
请按任意键继续……
3.1.8退出功能的界面:
输入0后的系统界面:
3.2程序设计中的数据设计
软件中使用的结构体和结构体数组,如:
typedefstruct
{
charscore;/*编号*/
charname[10];/*姓名*/
charnum[15];/*号码*/
charemail[20];/*邮箱*/
charage[8];/*年龄*/
charadds[20];/*住址*/
}Person;Personpe[80];
对用户的信息进行保存,他们都以二进制的形式读写。
其中:
Charscore;
charname[10];
charnum[15];
charemail[20];
charage[8];
charadds[20]
分别对编号、姓名、电话号码、邮编、年龄、住址进行储存
在子函数中还使用了结构体数组:
structPersonpe[300];
还使用了exit()、fclose()等库函数。
还运用了头文件:
#include"string.h"
#include
#include
其中还使用啦大量的子函数,例如:
intInput(Personper[],intn)
voidDisplay(Personper[],intn)
intDelete_a_record(Personper[],intn)
voidQuery_a_record(Personper[],intn)
voidChange(Personper[],intn)
voidWritetoText(Personper[],intn)
部分子函数的详细代码:
intDelete_a_record(Personper[],intn)
{
chars[20];
inti=0,j;
printf("\t请输入想删除记录中的名字:
");
scanf("%s",s);
while(strcmp(per[i].name,s)!
=0&&i if(i==n) { printf("\t通讯录中没有此人! \n"); return(n); } for(j=i;j { strcpy(per[j].num,per[j+1].num); strcpy(per[j].name,per[j+1].name); strcpy(per[j].age,per[j+1].age); strcpy(per[j].adds,per[j+1].adds); strcpy(per[j].email,per[j+1].email); per[j].score=per[j+1].score; } printf("\t\t\t已经成功删除! \n"); return(n-1); } 通过对这些资源的合理利用使系统初步实现了通讯录管理系统的基本功能。 3.3设计清单及注释: #include #include #include typedefstruct { charscore;/*编号*/ charname[10];/*姓名*/ charnum[15];/*号码*/ charemail[20];/*邮箱*/ charage[8];/*年龄*/ charadds[20];/*住址*/ }Person; Personpe[300]; intmenu_select() { charc; do{ system("cls"); printf("\t***********************欢迎使用通讯录********************\t\n"); printf("\t***********制作: 自动化5080228里来了***********\t\n"); printf("\t\t***************************菜单*************************\t\n"); printf("\t\t**********************1.添加记录***********************"); printf("\t\t**********************2.显示记录*********************"); printf("\t\t**********************3.删除记录*********************"); printf("\t\t**********************4.查询记录*********************"); printf("\t\t**********************5.修改记录*********************"); printf("\t\t**********************6.保存记录*********************"); printf("\t\t**********************0.退出程序*********************")
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 手机 通讯录 系统