数据结构,电话号码查询C程序实验报告(C-Free下通过).doc
文本预览下载声明
课程名称 数据结构试验
实验项目名称 电话号码查找
(一)实验目的和要求;
熟练并掌握查找的过程、方法和应用。
(二)实验主要内容
设计一个电话号码查找程序,为来查询人提供电话号码的查询服务。
基本要求:以你所在的班级为查询范围,假设人名为中国人姓名的汉语拼音形式。人数不能少于10人。完成根据人名来查找相应的电话号码。
(三)主要仪器设备
计算机,VC++高级程序语言
(四)实验原理
查找就是在按某种形式的数据集合中,找出满足指定条件的结点(或记录)。分类按查找的条件分类,有按主或次查找。按查找的数据的存放的存储器分类,可划分为内查找和外查找。内查找:整个查找过程都在内存进行。外查找:查找过程中需要访问外存。 按查找的目的分类,可划分为静态查找和动态查找。
(五)实验步骤及调试分析;
根据书上的算法写出源程序,调试根据报错后找到程序错误多是“;”“*”写掉或者函数未定义,检查修改几次后程序能正常运行。
(六)实验结果及分
(七)附录:源程序
#include stdio.h
#include stdlib.h
#include string.h
#define NAME 20
#define TELE 12
typedef char *KeyType;
typedef struct{
KeyType name;
char *tele;
}ElemType;
typedef struct{
ElemType *elem;
int length;
}SSTable;
void Creat(SSTable ST){
int i;
ST.length=10;
ST.elem=(ElemType *)malloc((ST.length)*(sizeof(ElemType)));
for (i=0; i=ST.length; i++){
ST.elem[i].name=(KeyType)malloc(NAME*(sizeof(char)));
ST.elem[i].tele=(char *)malloc(TELE*(sizeof(char)));
}
strcpy(ST.elem[1].name,a);
strcpy(ST.elem[1].tele,1);
strcpy(ST.elem[2].name,b);
strcpy(ST.elem[2].tele,2);
strcpy(ST.elem[3].name,c);
strcpy(ST.elem[3].tele,3);
strcpy(ST.elem[4].name,d);
strcpy(ST.elem[4].tele,4);
strcpy(ST.elem[5].name,e);
strcpy(ST.elem[5].tele,5);
strcpy(ST.elem[6].name,f);
strcpy(ST.elem[6].tele,6);
strcpy(ST.elem[7].name,g);
strcpy(ST.elem[7].tele,7);
strcpy(ST.elem[8].name,h);
strcpy(ST.elem[8].tele,8);
strcpy(ST.elem[9].name,i);
strcpy(ST.elem[9].tele,9);
strcpy(ST.elem[10].name,j);
strcpy(ST.elem[10].tele,0);
}//Creat
int Search(SSTable ST,KeyType key){
int i;
strcpy(ST.elem[0].name,key);
for (i=ST.length; strcmp(ST.elem[i].name,key); --i);
return i;
}//Sreach
void main(){
SSTable ST;
KeyType key;
int select,p;
Creat(ST);
printf(请选择你要进行的操作:\n1--search 0--exit\n);
do{
scanf(%d,select);
getchar();
switch(select){
case 1:
key=(KeyType)mall
显示全部