C语言个人通讯X录管理系统设计毕业设计论文(3)

2019-08-30 21:44

《C语言程序设计》课程设计报告

开始 主界面 删除联系人 删除所有 单个删除 按姓名删除 按电话删除 确认是否 删除 Y/y N/n 删除成功 图2.4删除联系人流程图

2.4.4 修改联系人流程图

修改联系人界面上我设计了按姓名修改和按号码修改两种方式,当选择时系统会提

示您是否修改,若不修改则返回主界面,若选择是,则系统会该处三个修改项目:修改姓名,修改电话,修改地址,修改完毕后系统会提示您是否继续修改,如不修改,则又返回主界面等待输入。

6

《C语言程序设计》课程设计报告

开始 主界面 修改联系人 按姓名修改 按号码修改 确认是否修改 Y/y N/n 修改姓名 修改电话 修改地址 确认是否继续修改 Y/y N/n 图2.5修改联系人流程图

7

《C语言程序设计》课程设计报告

第三章 软件的实现

3.1 函数声明

void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/ void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/

3.2 zhucaidan()主菜单函数

其源代码如下: void zhucaidan() {

char c;

system(\

printf(\ 欢迎您使用通讯录管理系统1.0beat版 -----|\ printf(\ 1-添加联系人 2-查询和显示联系人 |\ printf(\ 3-删除联系人 4-修改联系人 |\ printf(\ 5-保存退出 0-不保存退出 |\ printf(\ printf(\请选择您所所要的服务:\ c=getch();

switch (c) /*对于上边的选择项目*/ {

case '1':zengjia();break; case '2':chazhao();break; case '3':shanchu();break; case '4':xiugai();break; case '5':writefile();break; case '0':exit(0);

default:zhucaidan(); /*如果没有则返回主菜单等待输入*/ } }

较难语句分析:

① system(\清除输入在屏幕上的数据;

8

《C语言程序设计》课程设计报告

② c=getch(); 将键盘上输入的数据赋予c;

③ switch (c) case : 实现对主菜单上的选项的控制;

3.3 main()主函数

main()函数的源代码见下:

void main() /*主函数main*/ { readfile(); /*读入文件*/

while(1) /* 循环(永远进行)*/ {

zhucaiidan(); /*调用主菜单函数*/ } }

main()函数功能分析:

main()函数通过调用readfile()函数和循环menu()函数实现对入文件和界面进行控制。

3.4 readfile()读取文件函数

其源代码如下: void readfile() {

if((fp=fopen(\通讯录.txt\ /*以只读方式打开判定文件是否为空*/

{

printf(\ 通讯录文件不存在\ /*判断结论*/

if ((fp=fopen(\同通讯录.txt\只写方式判断*/ { printf(\建立失败\ /*为空结论*/ exit(0); /*退出*/ }

else /*不为空则执行else*/ {

printf(\欢迎使用通讯录管理系统------------------\

printf(\ 通讯录文件已建立 \ printf(\ 按任意键进入主菜单 \ printf(\ getch(); return ; }

exit(0); }

fseek(fp,0,2); /*文件位置指针移动到文件末尾*/ if (ftell(fp)>0) /*文件不为空*/ {

rewind(fp); /*文件位置指针移动到文件开始位置*/

for (n=0;!feof(fp) && fread(&txl[n],sizeof(struct tongxunlu),1,fp);n++); printf(\欢迎使用通讯录管理系统1.0beat版----------------\ printf(\ 文件导入成功 \

9

《C语言程序设计》课程设计报告

printf(\ 按任意键返回主菜单 \ printf(\ getch(); return; }

printf(\欢迎使用通讯录管理系统1.0beat版--------------\ printf(\ 文件导入成功 \ printf(\ 通讯录文件中无任何纪录 \ printf(\ 按任意键返回主菜单 \ printf(\ getch(); return; }

较难语句分析:

① if((fp=fopen(\通讯录.txt\以只读方式打开判定文件是否为空;

② fseek(fp,0,2); 文件位置指针移动到文件末尾;

③ ftell(fp): 返回当前文件位置,也就是说返回FILE指针当前位置; ④ rewind(fp); 文件位置指针移动到文件开始位置; ⑤ feof(fp) 检测流上的文件结束符;

⑥ fread(&txl[n],sizeof(struct tongxunlu),1,fp);n++) 从fp指向的文件中向txl [n]中读入一个(struct tongxunlu)类型的值并输出后面的内容。若没有成功执行就不输出后面的内容。 void readfile()函数的功能分析:

首先由 if((fp=fopen(\通讯录.txt\ 判断文件是否存在,如果不存在,则显示通讯录文件不存在,如果文件为空,则显示建立失败;若建立成功,则显示通讯录文件已建立,然后利用fseek(fp,0,2); 将文件位置指针移动到文件末尾等待输入。

3.5 writefile()联系人写入文件函数

函数源程序见下:

void writefile() /*联系人写入文件*/ {

int i;

if ((fp=fopen(\通讯录.txt\ {

printf(\文件打开失败\ }

for (i=0;i

if (fwrite(&txl[i],sizeof(struct tongxunlu),1,fp)!=1) { printf(\写入文件错误!\\n\ } }

fclose(fp); /*关闭文件*/

printf(\输出提示信息*/ printf(\通讯录文件已保存\

10


C语言个人通讯X录管理系统设计毕业设计论文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:蛋白质序列PIR和PDB使用方法 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: