域名服务器管理系统实验报告《数据结构》课程设计22页word资料.docx
- 文档编号:26677393
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:20
- 大小:21.28KB
域名服务器管理系统实验报告《数据结构》课程设计22页word资料.docx
《域名服务器管理系统实验报告《数据结构》课程设计22页word资料.docx》由会员分享,可在线阅读,更多相关《域名服务器管理系统实验报告《数据结构》课程设计22页word资料.docx(20页珍藏版)》请在冰豆网上搜索。
域名服务器管理系统实验报告《数据结构》课程设计22页word资料
域名服务器管理系统
课本、报刊杂志中的成语、名言警句等俯首皆是,但学生写作文运用到文章中的甚少,即使运用也很难做到恰如其分。
为什么?
还是没有彻底“记死”的缘故。
要解决这个问题,方法很简单,每天花3-5分钟左右的时间记一条成语、一则名言警句即可。
可以写在后黑板的“积累专栏”上每日一换,可以在每天课前的3分钟让学生轮流讲解,也可让学生个人搜集,每天往笔记本上抄写,教师定期检查等等。
这样,一年就可记300多条成语、300多则名言警句,日积月累,终究会成为一笔不小的财富。
这些成语典故“贮藏”在学生脑中,自然会出口成章,写作时便会随心所欲地“提取”出来,使文章增色添辉。
一、目的
我国古代的读书人,从上学之日起,就日诵不辍,一般在几年内就能识记几千个汉字,熟记几百篇文章,写出的诗文也是字斟句酌,琅琅上口,成为满腹经纶的文人。
为什么在现代化教学的今天,我们念了十几年书的高中毕业生甚至大学生,竟提起作文就头疼,写不出像样的文章呢?
吕叔湘先生早在1978年就尖锐地提出:
“中小学语文教学效果差,中学语文毕业生语文水平低,……十几年上课总时数是9160课时,语文是2749课时,恰好是30%,十年的时间,二千七百多课时,用来学本国语文,却是大多数不过关,岂非咄咄怪事!
”寻根究底,其主要原因就是腹中无物。
特别是写议论文,初中水平以上的学生都知道议论文的“三要素”是论点、论据、论证,也通晓议论文的基本结构:
提出问题――分析问题――解决问题,但真正动起笔来就犯难了。
知道“是这样”,就是讲不出“为什么”。
根本原因还是无“米”下“锅”。
于是便翻开作文集锦之类的书大段抄起来,抄人家的名言警句,抄人家的事例,不参考作文书就很难写出像样的文章。
所以,词汇贫乏、内容空洞、千篇一律便成了中学生作文的通病。
要解决这个问题,不能单在布局谋篇等写作技方面下功夫,必须认识到“死记硬背”的重要性,让学生积累足够的“米”。
熟悉C语言的基本内容从而掌握C语言的基本知识以及了解C程序的基本编写及运行; 了解程序的分模块编写并对程序的每个模块进行详细的设计并且能理解一般C语言编写的程序。
编写一个域名服务管理系统程序,根据目录要求执行多种操作,可以录入一个或者多个域名信息,能够提供浏览和显示功能,也可以查询所录入的域名信息,然后也可对于所录入的域名进行删除或者修改,能够重复进行操作。
这个工作可让学生分组负责收集整理,登在小黑板上,每周一换。
要求学生抽空抄录并且阅读成诵。
其目的在于扩大学生的知识面,引导学生关注社会,热爱生活,所以内容要尽量广泛一些,可以分为人生、价值、理想、学习、成长、责任、友谊、爱心、探索、环保等多方面。
如此下去,除假期外,一年便可以积累40多则材料。
如果学生的脑海里有了众多的鲜活生动的材料,写起文章来还用乱翻参考书吗?
二、需求分析
1、功能需求:
编写一个域名服务器管理系统程序,本程序要求创建数据形式是由4个字符串组成的www.*********.*****.***域名管理系统。
能够提供域名信息的录入,浏览,查询,修改,删除的功能。
2、输入:
用户通过从键盘输入符合格式要求的域名并保存在数组里。
3、输出:
从数组里读取函数并输出显示在屏幕上。
4、具体要求:
1)本程序要求系统按照目录菜单方式工作。
域名的形式为:
,即其数据形式是由4个字符串组成的:
www.*********.*****.***。
域名输入时必须符合格式要求。
2)本程序提供以下功能:
域名信息录入:
用户根据提示输入新的域名,然后判断域名是否合法,是否存在,如果合法且不存在则提示域名录入成功,若输入不合法则提示你输入的域名有误,提示继续输入,如果已经存在则会提醒你输入的域名已经存在,提示继续输入或者选择退出。
域名信息浏览:
对于已经录入的域名信息进行浏览,根据提示操作,将你录入的所有的域名信息输出显示到屏幕上浏览。
域名信息查询:
对于已经录入的域名信息进行查询,先输入你想要查询的域名,然后判断用户所输入的信息是否存在,如果存在,则输出显示到屏幕上,若不存在则提示你输入的域名有误,然后继续输入查询。
域名信息修改:
对于已经录入的域名信息进行修改,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则提示输入一个新的域名,若输入的域名合法则提示修改成功,如果输入的域名不合法则提示你输入的域名有误,然后继续输入;如果你是输入想要修改的域名信息不合法则提示你输入的域名有误然后提示重新输入。
域名信息删除:
对于已经录入的域名信息进行删除,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则将其成功删除,若不存在,则提示你输入的域名有误然后继续输入。
三、概要设计
1、本程序主要模块:
(1)main()
定义及初始化;
展示主菜单;
读取用户的输入数据;
调用相关功能函数;
2、函数部分:
本程序定义了一个菜单函数以及五个功能函数(包括录入函数,浏览函数,查询函,数,修改函数,删除函数)
(1)voidmenu();//菜单函数
(2)intinput(chara[N][L],intn);//域名信息录入
chara[N][L]是一个二维数组,存储所有录入的域名地址,n是代表域名个数,返回已经输入的地址个数
(3)voidscan(chara[N][L],intn);//域名信息浏览
chara[N][L]是一个二维数组,存储所有录入的域名地址,n是代表域名个数,没有返回值。
(4)voidreserch(chara[N][L],intn);//域名信息查询
chara[N][L]是一个二维数组,存储所有录入的域名地址,n是代表域名个数,没有返回值
(5)voidrefine(chara[N][L],intn);//域名信息修改
chara[N][L]是一个二维数组,存储所有录入的域名地址,n是代表域名个数,没有返回值
(6)intdel(chara[N][L],intn);//域名信息删除
chara[N][L]是一个二维数组,存储所有录入的域名地址,n是代表域名个数,返回值是剩下的域名个数
四、详细设计
我们要求编写一个域名服务器管理系统程序,本程序定义了一个二维数组,以数组的方式对域名进行存储,以下是具体设计:
1.域名信息录入:
用户根据提示输入新的域名,然后判断域名是否合法,是否存在,如果合法且不存在则提示域名录入成功,若输入不合法则提示你输入的域名有误,提示继续输入,如果已经存在则会提醒你输入的域名已经存在,提示继续输入或者选择退出。
伪代码如下:
do{
用户根据提示进行操作,然后判断是否正确
If输入正确
成功录入
else提示你输入的域名有误并重新输入
询问用户是否继续录入
}while(条件为真)
实现如下:
intinput(chara[N][L],intn)
chartemp[L];
char*check_char;
charyesno;
intcheck_int,i;
intflag;/*输入的地址是否重复的标志,其中重复时flag=0*/
do
check_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 if(! strcmp(a[i],temp))/*判断是否已有同样的地址输入*/ flag=0; break; if(flag==0) system("cls"); printf("注意: 域名\"%s\"已存在! \n\n\n按任意键返回...\n",temp); getch(); else strcpy(a[n],temp); n++; system("cls"); printf("添加成功! \n\n\n按任意键返回..."); getch(); else system("cls"); printf("你输入的域名有误! \n\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'||yesno=='y'); returnn; 2.域名信息浏览: 对于已经录入的域名信息进行浏览,根据提示操作,将你录入的所有的域名信息输出显示到屏幕上浏览。 伪代码如下: do{ 提示用户输入想要浏览的域名信息,并判断其是否存在 if存在 将要浏览的域名信息输出显示在屏幕上 else提示你输入的域名有误或者不存在 提示用户继续输入 }while(条件为真) 具体实现如下: voidscan(chara[N][L],intn) inti=0; system("cls"); while(i if(! (i%10))printf("域名浏览: \n"); printf("%s //%s>\n",a[i],a[i]); if(i%2==9) printf("按任意键返回..."); getch(); system("cls"); i++; voidreserch(chara[N][L],intn) chartemp[L]; char*check_char; charyesno; intcheck_int,i; intflag;/*要查询的地址是否存在的标志,其中存在时flag=0*/ do check_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 if(! strcmp(a[i],temp))/*判断是否存在要查找的地址*/ flag=0; break; if(flag==0) printf("搜索结果: \n"); printf("%s //%s>\n",temp,temp); printf("按任意键返回...\n"); getch(); else system("cls"); printf("查询不到域名\"%s\"! \n",temp); printf("按任意键返回..."); getch(); else printf("你输入的域名有误! \n\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'||yesno=='y'); 3.域名信息查询: 对于已经录入的域名信息进行查询,先输入你想要查询的域名,然后判断用户所输入的信息是否存在,如果存在,则输出显示到屏幕上,若不存在则提示你输入的域名有误,然后继续输入查询。 伪代码如下: do{ 提示用户输入想要查询的域名信息,然后判断是否存在 If存在 将所查询的域名信息输出显示到屏幕上 else提示你输入的域名有误 提示是否继续输入域名 }while(条件为真) 具体如下: voidreserch(chara[N][L],intn) chartemp[L]; char*check_char; charyesno; intcheck_int,i; intflag;/*要查询的地址是否存在的标志,其中存在时flag=0*/ do check_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 if(! strcmp(a[i],temp))/*判断是否存在要查找的地址*/ flag=0; break; if(flag==0) printf("搜索结果: \n"); printf("%s //%s>\n",temp,temp); printf("按任意键返回...\n"); getch(); else system("cls"); printf("查询不到域名\"%s\"! \n",temp); printf("按任意键返回..."); getch(); else printf("你输入的域名有误! \n\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'||yesno=='y'); 4.域名信息修改: 对于已经录入的域名信息进行修改,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则提示输入一个新的域名,若输入的域名合法则提示修改成功,如果输入的域名不合法则提示你输入的域名有误,然后继续输入;如果你是输入想要修改的域名信息不合法则提示你输入的域名有误然后提示重新输入。 伪代码如下: do{ 提示用户输入想要修改的域名信息,并判断其是否存在 if存在 提示用户输入新域名,并判断该域名是否符合格式要求,是否有重复 else提示用户重新输入 询问用户是否继续修改 }while(条件为真) 具体实现如下: voidrefine(chara[N][L],intn) chartemp[L]; char*check_char; charyesno; intcheck_int,i; intflag;/*要修改的地址是否存在的标志,其中存在时flag=0*/ inttarget;/*要修改的目标字符串的下标*/ do check_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 if(! strcmp(a[i],temp))/*判断是否存在要查找的地址*/ flag=0; target=i; break; if(flag==0) do/*判断找到的地址是否是打算要修改的地址*/ system("cls"); printf("%s //%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 if(! strcmp(a[i],temp))/*判断是否已有同样的地址输入*/ flag=0; break; if(flag==0) system("cls"); printf("注意: 域名\"%s\"已存在! \n\n\n按任意键返回...\n",temp); getch(); else strcpy(a[target],temp); n++; system("cls"); printf("修改成功! \n\n\n按任意键返回..."); getch(); else system("cls"); printf("你输入的域名有误! \n\n\n按任意键返回..."); getch(); else system("cls"); printf("t无法找到此域名! \n\n按任意键返回..."); getch(); else printf("你输入的域名有误! \n\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'||yesno=='y'); 5.域名信息删除: 对于已经录入的域名信息进行删除,先输入你想要修改的域名,然后判断用户所输入的信息是否存在,如果存在,则将其成功删除,若不存在,则提示你输入的域名有误然后继续输入。 伪代码如下: do{ 提示用户输入想要删除的域名信息,然后判断是否存在 If存在 成功删除 else提示无法找到此域名 询问是否继续输入 }while(条件为真) 具体如下: intdel(chara[N][L],intn) chartemp[L]; char*check_char; charyesno; intcheck_int,i; intflag;/*要修改的地址是否存在的标志,其中存在时flag=0*/ inttarget;/*要修改的目标字符串的下标*/ do check_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 if(! strcmp(a[i],temp))/*判断是否存在要查找的地址*/ flag=0; target=i; break; if(flag==0) do/*判断找到的地址是否是打算要修改的地址*/ system("cls"); printf("%s //%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 strcpy(a[target],a[target+1]); strcpy(a[--n],"0"); system("cls"); printf("t删除成功! \n\n\n按任意键返回..."); getch(); else system("cls"); printf("无法找到此域名! \n\n\n按任意键返回..."); getch(); else system("cls"); printf("你输入的域名有误! \n\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'||yesno=='y'); returnn; 流程图如下: 五.调试分析 程序在调试过程中出现错误,反复调节也无法改正,具体如下: 最终各种网上查询和咨询学长,才发现问题出现在clrscr()的使用,clrscr()在vc6.0中无法使用,那是tc的的库函数,因为在tc下是有conio.h里的clrscr()清屏函数的,但是在VC下,conio.h里没有clrscr(),只能用system("c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 域名 服务器管理 系统 实验 报告 课程设计 22 word 资料