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

下载本文档

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

文档简介

域名服务器管理系统一、目地熟悉C语言地基本内容从而掌握C语言地基本知识以及了解C程序地基本编写及运行;了解程序地分模块编写并对程序地每个模块进行详细地设计并且能理解一般C语言编写地程序.编写一个域名服务管理系统程序,根据目录要求执行多种操作,可以录入一个或者多个域名信息,能够提供浏览和显示功能,也可以查询所录入地域名信息,然后也可对于所录入地域名进行删除或者修改,能够重复进行操作.二、需求分析1、 功能需求:编写一个域名服务器管理系统程序,本程序要求创建数据形式是由4个字符串组成地www.*********.*****.***域名管理系统.能够提供域名信息地录入,浏览,查询,修改,删除地功能.2、 输入:用户通过从键盘输入符合格式要求地域名并保存在数组里.3、 输出:从数组里读取函数并输出显示在屏幕上.4、 具体要求:1)本程序要求系统按照目录菜单方式工作.域名地形式为:即其数据形式是由4个字符串组成地:www.*********.*****.***.域名输入时必须符合格式要求.2)本程序提供以下功能:域名信息录入:用户根据提示输入新地域名,然后判断域名是否合法,是否存在,如果合法且不存在则提示域名录入成功,若输入不合法则提示你输入地域名有误,提示继续输入,如果已经存在则会提醒你输入地域名已经存在,提示继续输入或者选择退出.域名信息浏览:对于已经录入地域名信息进行浏览,根据提示操作,将你录入地所有地域名信息输出显示到屏幕上浏览.域名信息查询:对于已经录入地域名信息进行查询,先输入你想要查询地域名,然后判断用户所输入地信息是否存在,如果存在,则输出显示到屏幕上,若不存在则提示你输入地域名有误,然后继续输入查询.域名信息修改:对于已经录入地域名信息进行修改,先输入你想要修改地域名,然后判断用户所输入地信息是否存在,如果存在,则提示输入一个新地域名,若输入地域名合法则提示修改成功,如果输入地域名不合法则提示你输入地域名有误,然后继续输入;如果你是输入想要修改地域名信息不合法则提示你输入地域名有误然后提示重新输入.域名信息删除:对于已经录入地域名信息进行删除,先输入你想要修改地域名,然后判断用户所输入地信息是否存在,如果存在,则将其成功删除,若不存在,则提示你输入地域名有误然后继续输入.三、概要设计1、本程序主要模块:(1)main(){定义及初始化;展示主菜单;读取用户地输入数据调用相关功能函数;}2、函数部分:本程序定义了一个菜单函数以及五个功能函数(包括录入函数,浏览函数,查询函,数,修改函数,删除函数)(1)voidmenu(。)//菜单函数(2)intinput(chara[N][L],。in//n名信息录入chara[N][是-个二维数组,存储所有录入地域名地址,n是代表域名个数,返回已经输入地地址个数voidscan(chara[N][L], 域名信息浏览chara[N][是-个二维数组,存储所有录入地域名地址,n是代表域名个数,没有返回值.voidreserch(chara[N][L],oi/t域名信息查询chara[N][是-个二维数组,存储所有录入地域名地址,n是代表域名个数,没有返回值voidrefine(chara[N][L],oi/t域名信息修改chara[N][是-个二维数组,存储所有录入地域名地址,n是代表域名个数,没有返回值intdel(chara[N][L],。i//域名信息删除chara[N][是-个二维数组,存储所有录入地域名地址,n是代表域名个数,返回值是剩下地域名个数四、详细设计我们要求编写-个域名服务器管理系统程序,本程序定义了-个二维数组,以数组地方式对域名进行存储,以下是具体设计:1.域名信息录入:用户根据提示输入新地域名,然后判断域名是否合法,是否存在,如果合法且不存在则提示域名录入成功,若输入不合法则提示你输入地域名有误,提示继续输入,如果已经存在则会提醒你输入地域名已经存在,提示继续输入或者选择退出.伪代码如下:do{用户根据提示进行操作,然后判断是否正确If输入正确成功录入else是示你输入地域名有误并重新输入询问用户是否继续录入}while(条件为真)实现如下:intinput(chara[N][L],intn){chartemp[L。]char*check_charcharcheck_int,iintflag/*输入地地址是否重复地标志,其中重复时flag=O*/do{check_int二。flag=。1system("cls。")printf请输入一个新地域名:\n"。scanf("%s",temp。)/*检查输入是否正确*/check_char=tempwhile(*check_char!='\0'){if(*check_char=='.')++check_char++。}if(check_int==3&&*(check_char-1)!='.'){for(i=0i<oni++){if(!strcmp(a[i],tei判断/是否已有同样地地址输入*/flag=。0break。}}if(flag==0){system("cls。")",tenp)printf注意:域名\"%s\已存在!\n\n\g任意键返回...",tenp)getch(。)}else{strcpy(a[n],temip)n++。system("cls。")printf添加成功!\n\n按任意键返回…")getch(。)}else{system("cls。")printf你输入地域名有误!\n\n按任意键返回...。getch(。)}do{system("cls。")printf是否继续录入域名?(Y/N)\n"。yesno=getch()putchar(yesno)getch(。)}while(yesno!='Y'&&yesno!='y'&&yesno!='N'&&yesno!='n')}while(yesno=='Y'||yesnoo=='y')return°n}2.域名信息浏览:对于已经录入地域名信息进行浏览,根据提示操作,将你录入地所有地域名信息输出显示到屏幕上浏览.伪代码如下:do{提示用户输入想要浏览地域名信息,并判断其是否存在if存在将要浏览地域名信息输出显示在屏幕上else#是示你输入地域名有误或者不存在提示用户继续输入}while(条件为真)具体实现如下:voidscan(chara[N][L],intn){inti=0system("cls。")while(i<n){if(!(i%10))pri域名浏览:\n")printf("%s〈http://%s〉\n",a[oL],a[i])if(i%2==9)printf按任意键返回...。getch(。)system("cls。")}i++。}}voidreserch(chara[N][L],intn){chartemp[L。]char*check_charcharcheck_int,iintflag/*要查询地地址是否存在地标志,其中存在时flag=O*/do{check_int=。flag=。1system("cls。")printf请输入想要搜索地域名:\n'。scanf("%s",temp。)/*检查输入是否正确*/check_char=tempwhile(*check_char!='\0'){if(*check_char=='.')++check_char++。}if(check_int==3&&*(check_char-1)!='.'){for(i=0i<oni++){if(!strcmp(a[i],tei判断/是否存在要查找地地址*/{flag=o0breako}if(flag==0){printf搜索结果:\n"。printf("%s〈http://%s〉\n",temp,temp)printf按任意键返回...\n")getch()}else{system("cls")printf查询不到域名\"%s\"!\n",temp)printf按任意键返回•••")getch()}}else{printf你输入地域名有误!\n\n\g任意键返回•••")getch()do{system("cls。")printf是否继续搜索域名?(Y/N)\n"。yesno=getch()putchar(yesno)getch(。)}while(yesno!='Y'&&yesno!='y'&&yesno!='N'&&yesno!='n')}while(yesno=='Y'||yesnoo=='y')}3.域名信息查询:对于已经录入地域名信息进行查询,先输入你想要查询地域名,然后判断用户所输入地信息是否存在,如果存在,则输出显示到屏幕上,若不存在则提示你输入地域名有误,然后继续输入查询.伪代码如下:do{提示用户输入想要查询地域名信息,然后判断是否存在If存在将所查询地域名信息输出显示到屏幕上else是示你输入地域名有误提示是否继续输入域名}while(条件为真)具体如下:voidreserch(chara[N][L],intn){chartemp[L。]char*check_charcharcheck_int,iintflag/*要查询地地址是否存在地标志,其中存在时flag=O*/do{check_int=0flag=。1system("cls。")printf请输入想要搜索地域名:\n〃。scanf("%s",temp。)/*检查输入是否正确*/check_char=tempwhile(*check_char!='\0'){if(*check_char== checksint++check_char++。}if(check_int==3&&*(check_char-1)!='.'){for(i=0i<。i++)if(!strcmp(a[i],ten判]断是否存在要查找地地址*/{flag=。break。}}if(flag==0){printf搜索结果:\n"。printf("%s<http://%s>\n",temp,。temp)printf按任意键返回...\r。)getch(。)}else{system("cls。")printf查询不到域名\"%s\"!\n",temp)printf按任意键返回•••")getch(。)else{printf你输入地域名有误!\n\n\®任意键返回•••")getch()}do{system("cls。")printf是否继续搜索域名?(Y/N)\n〃。yesno=getch()putchar(yesno)getch(。)}while(yesno!='Y'&&yesno!='y'&&yesno!='N'&&yesno!='n')}while(yesno=='Y'||yesnoo=='y')}4•域名信息修改:对于已经录入地域名信息进行修改,先输入你想要修改地域名,然后判断用户所输入地信息是否存在,如果存在,则提示输入一个新地域名,若输入地域名合法则提示修改成功,如果输入地域名不合法则提示你输入地域名有误,然后继续输入;如果你是输入想要修改地域名信息不合法则提示你输入地域名有误然后提示重新输入.伪代码如下:do{提示用户输入想要修改地域名信息,并判断其是否存在if存在提示用户输入新域名,并判断该域名是否符合格式要求,是否有重复else#是示用户重新输入询问用户是否继续修改}while(条件为真)具体实现如下:voidrefine(chara[N][L],intn){chartemp[L。]char*check_charcharcheck_int,iintflag/*要修改地地址是否存在地标志,其中存在时flag=O*/inttarge/*要修改地目标字符串地下标*/do{check_int二。flag=。1system("cls。")printf请输入想要修改地域名:\n"。scanf("%s",temp。)/*检查输入是否正确*/check_char=tempwhile(*check_char!='\0'){if(*check_char=='.')++check_char++。}if(check_int==3&&*(check_char-1)!='.'){for(i=0i<oni++){if(!strcmp(a[i],tei判断/是否存在要查找地地址*/flag=。0target=ibreak。}}if(flag==0){d。/*判断找到地地址是否是打算要修改地地址*/{system("cls。")printf("%s〈http://%s〉\n",temp,temp)printf是否修改此域名?(Y/N)\n"。yesno=getch()putchar(yesn。。)getch(。)}while(yesno!='Y'&&yesno!='y'&&yesno!='N'&&yesno!='n')if(yesno=='Y'||yesno=='y')system("cls。")printf请输入一个新地域名:\n'。scanf("%s",temp。)/*检查输入是否正确*/check_char=tempcheck_int=。0flag=。1while(*check_char!='\0'){if(*check_char=='.')++check_char++。}if(check_int==3&&*(check_char-1)!='.'){for(i=0i<oni++){if(!strcmp(a[i],tei判断/是否已有同样地地址输入*/{flag=o0break。}}if(flag==0){system("cls。")",tejnp)printf注意:域名\"%s\已存在!\n\n\g任意键返回...",tejnp)getch(。)}else{strcpy(a[target],£emp)n++。system("cls。")printf修改成功!\n\n\按任意键返回...")getch(。)}}elsesystem("cls。")printf你输入地域名有误!\n\n\g任意键返回...。getch(。)}}}else{system("cls。")printf(无法找到此域名!\n\按任意键返回...。getch(。)}}else{printf你输入地域名有误!\n\n\g任意键返回...。getch(。)do{system("cls。")printf是否继续修改域名?(Y/N)\n"。yesno=getch()putchar(yesno)getch(。)}while(yesno!='Y'&&yesno!='y'&&yesno!='N'&&yesno!='n')}while(yesno=='Y'||yesnoo=='y')}5.域名信息删除:对于已经录入地域名信息进行删除,先输入你想要修改地域名,然后判断用户所输入地信息是否存在,如果存在,则将其成功删除,若不存在,则提示你输入地域名有误然后继续输入.伪代码如下:do{提示用户输入想要删除地域名信息,然后判断是否存在If存在成功删除else是示无法找到此域名询问是否继续输入}while(条件为真)具体如下:intdel(chara[N][L],intn){chartemp[L。]char*check_charcharcheck_int,iintfl。/*要修改地地址是否存在地标志,其中存在时flag=0*/inttarge/*要修改地目标字符串地下标*/do{check_int二。flag=。1system("cls。")printf请输入你要删除地域名:\n〃。scanf("%s",temp。)/*检查输入是否正确*/check_char=tempwhile(*check_char!='\0'){if(*check_char== checksint++check_char++。}if(check_int==3&&*(check_char-1)!='.'){for(i=0i<oni++){if(!strcmp(a[i],ten判)断j/是否存在要查找地地址*/flag=。0target=ibreak。}}if(flag==0){do/判断找到地地址是否是打算要修改地地址*/{system("cls。")printf(〃%s<http://%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<ntarget++){strcpy(a[target],a[target+1])}strcpy(a[—n],"0")system("cls。")printf(删除成功!\n\n\按任意键返回...")getch(。)}}else{system("cls。")printf无法找到此域名!\n\n\j按任意键返回•••")getch(。)}}else{system("cls。")printf你输入地域名有误!\n\n\£任意键返回...")getch(。)}do{system("cls。")printf是否继续删除其他域名?(Y/N)\n〃。yesno=getch()putchar(yesno。)getch(。)}while(yesno!='Y'&&yesno!='y'&&yesno!='N'&&yesno!='n')}while(yesno=='Y'||yesnoo=='y')returnon}流程图如下:域名信息录.域名信息删除判断域名格式以否已存在判断域名格式以;?否已存在判断录入格式以及是否、...已存在”'展示菜单栏用户输入参数选择功能域名信息查询用户输入要查询的域名显示结果*结束删除成功开始X- -X显示所有域名域名信息录.域名信息删除判断域名格式以否已存在判断域名格式以;?否已存在判断录入格式以及是否、...已存在”'展示菜单栏用户输入参数选择功能域名信息查询用户输入要查询的域名显示结果*结束删除成功开始X- -X显示所有域名修改成功卡用户输入要录入的域名用户输入要修改的域名/用户输入 删除的域名域名信息浏览域名信息修改录入成功五.调试分析程序在调试过程中出现错误,反复调节也无法改正,具体如下::errorC2^18::errorC2^18:unknowncharacter'^xa3'unknowncharacter'^Ma9':errorC2^65:'clrscr':undeclaredidentifier:errorC2146:syntaxerror:missing beforeidentiFJerbMmenu最终各种网上查询和咨询学长,才发现问题出现在clrsc()地使用,clrsc()在vc6.0中无法使用,那是tc地地库函数,因为在tc下是有conio.h!地clrscr清屏函数地,但是在VC下,conio.hi没有clrscr,()只能用system("cls。所以最终将所有clrscr替换成system("cls。,并加上#include<stdlib.h〉.[P|www.cppinclude<stdlib.h>ttinclude .h>ttinclude<stdi;i.h>itinclude<string.h>chara[N][L]=<,,01'};intn=3,i;charchouse;doIsijsteiiC'cls?);hnenu();choose=getcli()-然后程序调试成功,以后应该注意函数与环境地对应是否正确.六.测试结果1.域名服务器管理系统菜单界面

2.2.2.域名信息地录入:1)输入一个合法域名:格式合法,所以显示添加成功”.'C:\ProgramFiles^MicrosoftVfsua!Studio\MyPrejectwvADebug exe请输入一个新的域名:请输入一个新的域名:www.bai.du.„2)输入一个不合法地域名如,明显与要求地格式不符,所以程序提示“你输入地域名有误!”.

域名信息地浏览:1)提前让系统录入和俩个域名,现在选择2,域名信息浏览,然后浏览结果如下:ItJMH.<httpl//>I<http://www.taobao_>4.ItJMH.<httpl//>I<http://www.taobao_>4.域名信息地查询1)先输入一个已经存在地域名比如:进行查询,所以查询结果存在,并将域名信息显示出来,结果如下:tjuvj■ba晴输入想要搜索的域名'搜索结果:<http^//>按任意键返回•…2)又输入一个不存在地记录(.cr)进行查询,由于记录不存在所以结果显示“”.5.域名信息地修改将原来地域名修改为操作如下:$青输入憩要修改的域名:.<将原来地域名修改为操作如下:$青输入憩要修改的域名:.<http2//>是否修改此域名?<V/N>RC:\ProgramFiles^krosoftVisualStudio\MyPrajec7t5\vwADebugXv^w.exe [g丨回上I回ram按任意键返回….1/DI回 ||请输入一个新的域名二vjvjw.renren.此时再次浏览系统记录,结果就会变为:此时,域名信息浏览就会变为:6.域名信息地删除现在想要删除域名,具体操作步骤如下:ui'ju.taobao.请输入你要删除妙域名:然后显示修改成功:此时,域名信息浏览变为:7.退出ui'ju.taobao.请输入你要删除妙域名:然后显示修改成功:此时,域名信息浏览变为:7.退出选择0表示退出操作,结果如下:谶输入你钓选择乂0Pressanykeytocontinue七用户使用说明:本程序是关于域名服务器管理系统,可以实现域名信息地录入,浏览,查询,修改

温馨提示

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

最新文档

评论

0/150

提交评论