域名服务器管理系统实验报告_《数据结构》课程设计.doc_第1页
域名服务器管理系统实验报告_《数据结构》课程设计.doc_第2页
域名服务器管理系统实验报告_《数据结构》课程设计.doc_第3页
域名服务器管理系统实验报告_《数据结构》课程设计.doc_第4页
域名服务器管理系统实验报告_《数据结构》课程设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程设计域名服务器管理系统一、目的 熟悉C语言的基本内容从而掌握C语言的基本知识以及了解C程序的基本编写及运行;了解程序的分模块编写并对程序的每个模块进行详细的设计并且能理解一般C语言编写的程序。编写一个域名服务管理系统程序,根据目录要求执行多种操作,可以录入一个或者多个域名信息,能够提供浏览和显示功能,也可以查询所录入的域名信息,然后也可对于所录入的域名进行删除或者修改,能够重复进行操作。 二、需求分析1、功能需求:编写一个域名服务器管理系统程序,本程序要求创建数据形式是由4个字符串组成的www*域名管理系统。能够提供域名信息的录入,浏览,查询,修改,删除的功能。2、输入:用户通过从键盘输入符合格式要求的域名并保存在数组里。3、输出:从数组里读取函数并输出显示在屏幕上。4、具体要求:1)本程序要求系统按照目录菜单方式工作。域名的形式为: ,即其数据形式是由4个字符串组成的:www*。域名输入时必须符合格式要求。2)本程序提供以下功能:域名信息录入:用户根据提示输入新的域名,然后判断域名是否合法,是否存在,如果合法且不存在则提示域名录入成功,若输入不合法则提示你输入的域名有误,提示继续输入,如果已经存在则会提醒你输入的域名已经存在,提示继续输入或者选择退出。域名信息浏览:对于已经录入的域名信息进行浏览,根据提示操作,将你录入的所有的域名信息输出显示到屏幕上浏览。域名信息查询:对于已经录入的域名信息进行查询,先输入你想要查询的域名,然后判断用户所输入的信息是否存在,如果存在,则输出显示到屏幕上,若不存在则提示你输入的域名有误,然后继续输入查询。域名信息修改:对于已经录入的域名信息进行修改,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则提示输入一个新的域名,若输入的域名合法则提示修改成功,如果输入的域名不合法则提示你输入的域名有误,然后继续输入;如果你是输入想要修改的域名信息不合法则提示你输入的域名有误然后提示重新输入。域名信息删除:对于已经录入的域名信息进行删除,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则将其成功删除,若不存在,则提示你输入的域名有误然后继续输入。三、概要设计1、本程序主要模块:(1)main()定义及初始化;展示主菜单;读取用户的输入数据;调用相关功能函数;2、函数部分:本程序定义了一个菜单函数以及五个功能函数(包括录入函数,浏览函数,查询函,数,修改函数,删除函数)(1)void menu();/菜单函数(2)int input(char aNL, int n); /域名信息录入char aNL是一个二维数组,存储所有录入的域名地址,n是代表域名个数,返回已经输入的地址个数(3)void scan(char aNL, int n); /域名信息浏览char aNL是一个二维数组,存储所有录入的域名地址,n是代表域名个数,没有返回值。(4)void reserch(char aNL, int n);/ 域名信息查询char aNL是一个二维数组,存储所有录入的域名地址,n是代表域名个数,没有返回值(5)void refine(char aNL, int n);/ 域名信息修改char aNL是一个二维数组,存储所有录入的域名地址,n是代表域名个数,没有返回值(6)int del(char aNL, int n);/ 域名信息删除char aNL是一个二维数组,存储所有录入的域名地址,n是代表域名个数,返回值是剩下的域名个数四、详细设计我们要求编写一个域名服务器管理系统程序,本程序定义了一个二维数组,以数组的方式对域名进行存储,以下是具体设计:1. 域名信息录入:用户根据提示输入新的域名,然后判断域名是否合法,是否存在,如果合法且不存在则提示域名录入成功,若输入不合法则提示你输入的域名有误,提示继续输入,如果已经存在则会提醒你输入的域名已经存在,提示继续输入或者选择退出。伪代码如下:do用户根据提示进行操作,然后判断是否正确If输入正确成功录入else提示你输入的域名有误并重新输入询问用户是否继续录入while(条件为真)实现如下:int input(char aNL, int n)char tempL;char *check_char;char yesno;int check_int,i;int flag;/*输入的地址是否重复的标志,其中重复时flag=0*/docheck_int=0;flag = 1;system(cls);printf(请输入一个新的域名:n);scanf(%s,temp);/*检查输入是否正确*/check_char = temp;while(*check_char != 0)if(*check_char = .) check_int+;check_char+;if(check_int = 3 & *(check_char-1) != .)for(i = 0; i n; i+)if(!strcmp(ai, temp)/*判断是否已有同样的地址输入*/flag = 0;break;if(flag = 0)system(cls);printf(注意: 域名 %s 已存在!nnn按任意键返回.n, temp);getch();elsestrcpy(an, temp);n+;system(cls);printf(添加成功! nnn按任意键返回.);getch();elsesystem(cls);printf(你输入的域名有误! nnn按任意键返回.);getch();dosystem(cls);printf(是否继续录入域名?(Y/N)n);yesno = getch();putchar(yesno);getch();while(yesno != Y & yesno != y & yesno != N & yesno != n);while(yesno = Y | yesno = y);return n;2. 域名信息浏览:对于已经录入的域名信息进行浏览,根据提示操作,将你录入的所有的域名信息输出显示到屏幕上浏览。伪代码如下:do提示用户输入想要浏览的域名信息,并判断其是否存在if存在将要浏览的域名信息输出显示在屏幕上else提示你输入的域名有误或者不存在提示用户继续输入while(条件为真)具体实现如下:void scan(char aNL, int n)int i=0;system(cls);while(i n)if(!(i%10) printf(域名浏览:n);printf(%s n,ai,ai);if(i%2=9)printf(按任意键返回.);getch();system(cls);i+;void reserch(char aNL, int n)char tempL;char *check_char;char yesno;int check_int,i;int flag;/*要查询的地址是否存在的标志,其中存在时flag=0*/docheck_int=0;flag = 1;system(cls);printf(请输入想要搜索的域名:n);scanf(%s,temp);/*检查输入是否正确*/check_char = temp;while(*check_char != 0)if(*check_char = .) check_int+;check_char+;if(check_int = 3 & *(check_char-1) != .)for(i = 0; i n; i+)if(!strcmp(ai, temp)/*判断是否存在要查找的地址*/flag = 0;break;if(flag = 0)printf(搜索结果:n);printf(%s n,temp,temp);printf(按任意键返回.n);getch();elsesystem(cls);printf(查询不到域名%s!n,temp);printf(按任意键返回.);getch();elseprintf(你输入的域名有误!nnn按任意键返回.);getch();dosystem(cls);printf(是否继续搜索域名?(Y/N)n);yesno = getch();putchar(yesno);getch();while(yesno != Y & yesno != y & yesno != N & yesno != n);while(yesno = Y | yesno = y);3. 域名信息查询:对于已经录入的域名信息进行查询,先输入你想要查询的域名,然后判断用户所输入的信息是否存在,如果存在,则输出显示到屏幕上,若不存在则提示你输入的域名有误,然后继续输入查询。伪代码如下:do提示用户输入想要查询的域名信息,然后判断是否存在If存在将所查询的域名信息输出显示到屏幕上else提示你输入的域名有误提示是否继续输入域名while(条件为真)具体如下:void reserch(char aNL, int n)char tempL;char *check_char;char yesno;int check_int,i;int flag;/*要查询的地址是否存在的标志,其中存在时flag=0*/docheck_int=0;flag = 1;system(cls);printf(请输入想要搜索的域名:n);scanf(%s,temp);/*检查输入是否正确*/check_char = temp;while(*check_char != 0)if(*check_char = .) check_int+;check_char+;if(check_int = 3 & *(check_char-1) != .)for(i = 0; i n; i+)if(!strcmp(ai, temp)/*判断是否存在要查找的地址*/flag = 0;break;if(flag = 0)printf(搜索结果:n);printf(%s n,temp,temp);printf(按任意键返回.n);getch();elsesystem(cls);printf(查询不到域名%s!n,temp);printf(按任意键返回.);getch();elseprintf(你输入的域名有误!nnn按任意键返回.);getch();dosystem(cls);printf(是否继续搜索域名?(Y/N)n);yesno = getch();putchar(yesno);getch();while(yesno != Y & yesno != y & yesno != N & yesno != n);while(yesno = Y | yesno = y);4. 域名信息修改:对于已经录入的域名信息进行修改,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则提示输入一个新的域名,若输入的域名合法则提示修改成功,如果输入的域名不合法则提示你输入的域名有误,然后继续输入;如果你是输入想要修改的域名信息不合法则提示你输入的域名有误然后提示重新输入。伪代码如下:do提示用户输入想要修改的域名信息,并判断其是否存在if存在 提示用户输入新域名,并判断该域名是否符合格式要求,是否有重复else提示用户重新输入询问用户是否继续修改while(条件为真)具体实现如下:void refine(char aNL, int n)char tempL;char *check_char;char yesno;int check_int,i;int flag;/*要修改的地址是否存在的标志,其中存在时flag=0*/int target;/*要修改的目标字符串的下标*/docheck_int=0;flag = 1;system(cls);printf(请输入想要修改的域名:n);scanf(%s,temp);/*检查输入是否正确*/check_char = temp;while(*check_char != 0)if(*check_char = .) check_int+;check_char+;if(check_int = 3 & *(check_char-1) != .)for(i = 0; i n; i+)if(!strcmp(ai, temp)/*判断是否存在要查找的地址*/flag = 0;target = i;break;if(flag = 0)do/*判断找到的地址是否是打算要修改的地址*/system(cls);printf(%s n,temp,temp);printf(是否修改此域名?(Y/N)n);yesno = getch();putchar(yesno);getch();while(yesno != Y & yesno != y & yesno != N & yesno != n);if(yesno = Y | yesno = y)system(cls);printf(请输入一个新的域名:n);scanf(%s,temp);/*检查输入是否正确*/check_char = temp;check_int = 0;flag = 1;while(*check_char != 0)if(*check_char = .) check_int+;check_char+;if(check_int = 3 & *(check_char-1) != .)for(i = 0; i n; i+)if(!strcmp(ai, temp)/*判断是否已有同样的地址输入*/flag = 0;break;if(flag = 0)system(cls);printf(注意: 域名 %s 已存在!nnn按任意键返回.n, temp);getch();elsestrcpy(atarget, temp);n+;system(cls);printf(修改成功!nnn按任意键返回.);getch();elsesystem(cls);printf(你输入的域名有误!nnn按任意键返回.);getch();elsesystem(cls);printf(t无法找到此域名!nn按任意键返回.);getch();elseprintf(你输入的域名有误!nnn按任意键返回.);getch();dosystem(cls);printf(是否继续修改域名?(Y/N)n);yesno = getch();putchar(yesno);getch();while(yesno != Y & yesno != y & yesno != N & yesno != n);while(yesno = Y | yesno = y);5. 域名信息删除:对于已经录入的域名信息进行删除,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则将其成功删除,若不存在,则提示你输入的域名有误然后继续输入。伪代码如下:do提示用户输入想要删除的域名信息,然后判断是否存在If存在成功删除else提示无法找到此域名询问是否继续输入while(条件为真)具体如下:int del(char aNL, int n)char tempL;char *check_char;char yesno;int check_int,i;int flag;/*要修改的地址是否存在的标志,其中存在时flag=0*/int target;/*要修改的目标字符串的下标*/docheck_int=0;flag = 1;system(cls);printf(请输入你要删除的域名:n);scanf(%s,temp);/*检查输入是否正确*/check_char = temp;while(*check_char != 0)if(*check_char = .) check_int+;check_char+;if(check_int = 3 & *(check_char-1) != .)for(i = 0; i n; i+)if(!strcmp(ai, temp)/*判断是否存在要查找的地址*/flag = 0;target = i;break;if(flag = 0)do/*判断找到的地址是否是打算要修改的地址*/system(cls);printf(%s n,temp,temp);printf(确认是否删除此域名?(Y/N)n);yesno = getch();putchar(yesno);getch();while(yesno != Y & yesno != y & yesno != N & yesno != n);if(yesno = Y | yesno = y)system(cls);for(; target n; target+)strcpy(atarget, atarget+1);strcpy(a-n,0);system(cls);printf(t删除成功!nnn按任意键返回.);getch();elsesystem(cls);printf(无法找到此域名!nnn按任意键返回.);getch();elsesystem(cls);printf(你输入的域名有误!nnn按任意键返回.);getch();dosystem(cls);printf(是否继续删除其他域名?(Y/N)n);yesno = getch();putchar(yesno);getch();while(yesno != Y & yesno != y & yesno != N & yesno != n);while(yesno = Y | yesno = y);return n;流程图如下:五. 调试分析 程序在调试过程中出现错误,反复调节也无法改正,具体如下: 最终各种网上查询和咨询学长,才发现问题出现在clrscr()的使用,clrscr()在vc6.0中无法使用,那是tc的的库函数,因为在tc下是有conio.h里的clrscr()清屏函数的,但是在VC下,conio.h里没有clrscr(),只能用system(cls);所以最终将所有clrscr()替换成system(cls);,并加上#include。然后程序调试成功,以后应该注意函数与环境的对应是否正确。六 . 测试结果1. 域名服务器管理系统菜单界面2.2.域名信息的录入:1)输入一个合法域名:.格式合法,所以显示“添加成功”。2)输入一个不合法的域名如,明显与要求的格式不符,所以程序提示“你输入的域名有误!”。3.域名信息的浏览:1)提前让系统录入和俩个域名,现在选择2,域名信息浏览,然后浏览结果如下:4.域名信息的查询1)先输入一个已经存在的域名比如:进行查询,所以查询结果存在,并将域名信息显示出来,结果如下:2)又输入一个不存在的记录()进行查询,由于记录不存在所以结果显示“”。5.域名信息的修改 将原来的域名修改为。操作如下:此时再次浏览系统记录,结果就会变为:此时,域名信息浏览就会变为:6.域名信息的删除现在想要删除域名 ,具体操作步骤如下:然后显示修改成功:此时,域名信息浏览变为:7.退出选择0表示退出操作,结果如下:七 用户使用说明:本程序是关于域名服务器管理系统,可以实现域名信息的录入,浏览,查询,修改,删除的功能,用户根据输出提示进行相应合法的操作。 1.本程序在VC和TC下都可以运行。 2.具体分为以下几步: 1)域名信息录入:根据菜单目录,用户输入1便可选择此项,然后系统提示输入域名,输入符合要求的域名在按回车键后将被保存,提示录入成功,用户可选择多次添加不同域名,当然若输入的域名不合法将提示你输入的域名有误,用户选择

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论