通讯录的设计Word格式文档下载.docx

上传人:b****7 文档编号:22964757 上传时间:2023-02-06 格式:DOCX 页数:12 大小:17.48KB
下载 相关 举报
通讯录的设计Word格式文档下载.docx_第1页
第1页 / 共12页
通讯录的设计Word格式文档下载.docx_第2页
第2页 / 共12页
通讯录的设计Word格式文档下载.docx_第3页
第3页 / 共12页
通讯录的设计Word格式文档下载.docx_第4页
第4页 / 共12页
通讯录的设计Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

通讯录的设计Word格式文档下载.docx

《通讯录的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《通讯录的设计Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

通讯录的设计Word格式文档下载.docx

完成按姓名删除通讯信息应提供一个界面来调用各个功能调用界面和各个功能的操作界面应尽可能清晰美观!

四.问题分析:

此程序主要运用到了文本文件的打开和读取,文件中存取信息的格式为结构体数组,一个主函数下面分为六个子函数,用户可在汉语的提醒下进行有关操作,此程序运行的前提是必须首先在编译器的子文件中建立一个文本文件,则可以在运行程序的过程中对这个文本文件进行相关读取。

读取文件是通过(fp=fopen(filename”w”))==NULL等语句来完成,文件内数据的位置是有主函数中定义的指针fp来找的,在此函数中还用到了循环语句while在加上(!

feof(fp))语句用于查找文件中的数据。

此程序没用到链表,故语言简单,但用文件的方法来创建一个通讯录有其不足之处,在总结中将一一说明。

1,段定义(segment)

1)代码段(datasegment)

变量的定义和预置:

datasegment

〈学生通讯录界面信息变量〉

〈出错信息变量〉

〈变量

结构体定义(studentstruc)

studentstruc

numdb00

namedb15dup(?

addressdb50dup(?

studentends

宏定义(名字macro

.......

endm)

showmacroaddress;

界面显示

light_m1macroa;

光标位置

light_m2macro

light_m3macro

clearmacro;

当前显示页面上滚

clear1macro

clear2macro

again_1macro;

空格

newlinemacro;

换行

show_itemmacroaddress;

显示信息

localnext1next2

getinmacroaddresscount;

读入信息

locallp1lp2input_endexit

2)数据段定义

codesegment

mainprocfar

assumecs:

codeds:

dataes:

data

3)start

start:

movaxdata

movdsax

movah0

moval3

int10h

通讯录界面(show)

选择操作:

添加(i)

删除(d)

查询(q)

列表(排序)(l)

退出(e)

具体操作:

insertprocnear;

插入

queryprocnear;

查询

deleteprocnear;

删除

listprocnear;

游览列表

4)codeends;

程序结束

endstart

五.总体设计:

⑴数据结构

依据给定的通讯录信息和数据格式,链表结点必须用结构实现。

结构类型的层次结构:

typedefstruct/*定义数据结构*/

);

charname[20];

/*姓名*/

charsex[20];

/*性别*/

charage[20];

/*年龄*/

charnumber;

/*学号*/

charunits[20];

/*单位*/

chartele[12];

/*电话*/

charqq[10];

/*qq号码*

charE_Mail;

/*邮箱*/

}

⑵模块划分

主函数

main()

输入记录

enter(ADDRESSt[]);

显示记录

voidlist(ADDRESSt[]intn);

按姓名查找显示记录

voidsearch(ADDRESSt[]intn);

删除记录

intdelete(ADDRESSt[]intn);

插入记录

intadd(ADDRESSt[]intn);

记录保存为文件

voidsave(ADDRESSt[]intn);

/

从文件中读记录

intload(ADDRESSt[]);

按序号查找显示记录

voiddisplay(ADDRESSt[]);

按姓名排序

voidsort(ADDRESSt[]intn);

快速查找记录

voidqseek(ADDRESSt[]intn);

文件复制

voidcopy();

显示单条记录

voidprint(ADDRESStemp);

查找函数

intfind(ADDRESSt[]intnchar*s);

主菜单函数

intmenu_select();

⑶程序总体框架

六.编写源代码:

源程序代码:

#include"

conio.h"

stdio.h"

stdlib.h"

string.h"

ctype.h"

#defineM50

typedefstruct

{

charname[15];

charsex[4];

charage[4];

charnumber[20];

charunits[15];

chartele[20];

charqq[15];

charE_Mail[10];

ADDRESS;

intenter(ADDRESSt[]);

intfind(ADDRESSt[],intn,char*s);

inti;

ADDRESSadr[M];

intlength;

clrscr();

while

(1)

switch(menu_select())

case0:

length=enter(adr);

break;

case1:

list(adrlength);

case2:

search(adrlength);

case3:

length=delete(adrlength);

case4:

length=add(adrlength);

break;

case5:

save(adrlength);

case6:

length=load(adr);

case7:

display(adr);

case8:

sort(adrlength);

case9:

qseek(adrlength);

case10:

copy();

case11:

exit(0);

menu_select()

chars[80];

intc;

textbackground(15);

textcolor

(2);

gotoxy(2612);

cprintf("

DZ0503Names"

gotoxy(2514);

YichengZhang"

textcolor(4);

gotoxy(125);

pressanykeyentermenu......\n"

getch();

gotoxy(11);

****************DZ0503Names*******************\n\n"

printf("

"

0.Enterrecord\n"

1.Listthefile\n"

2.Searchrecordonname\n"

3.Deletearecord\n"

4.addrecord\n"

5.Savethefile\n"

6.Loadthefile\n"

7.displayrecordonorder\n"

8.sorttomakenewfile\n"

9.Quickseekrecord\n"

10.copythefiletonewfile\n"

11.Exit\n"

**********************************************\n"

do{

\nEnteryouchoice(0~11):

"

scanf("

%s"

s);

c=atoi(s);

}while(c11);

returnc;

intenter(ADDRESSt[])

intin;

char*s;

\npleaseinputnum\n"

%d"

&

n);

pleaseinputrecord\n"

\n\n*******************DZ0503NamesAddress******************\n"

\n\t\name:

\n\tex:

\n\t\age:

\n\t\number:

\n\t\units:

\n\t\tele:

\n\t\qq:

\n\t\E_Mail:

------------------------------------------------\n"

voidlist(ADDRESSt[]intn)

name\n"

sex\n"

age\n"

number\n"

units\n"

tele\n"

qq\n"

E_Mail\n"

returnn;

Pressanykeycontinue...\n"

************************end*******************\n"

voidsearch(ADDRESSt[]intn)

chars[20];

pleasesearchname\n"

i=find(tns);

if(i>

n-1)

notfound\n"

else

print(t[i]);

voidprint(ADDRESStemp)

\n\n********************************************\n"

%-20s%-30s%-10s\n"

temp.name);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1