




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)域名服務(wù)器管理系統(tǒng)一、目的 熟悉c語言的基本內(nèi)容從而掌握c語言的基本知識(shí)以及了解c程序的基本編寫及運(yùn)行;了解程序的分模塊編寫并對(duì)程序的每個(gè)模塊進(jìn)行詳細(xì)的設(shè)計(jì)并且能理解一般c語言編寫的程序。編寫一個(gè)域名服務(wù)管理系統(tǒng)程序,根據(jù)目錄要求執(zhí)行多種操作,可以錄入一個(gè)或者多個(gè)域名信息,能夠提供瀏覽和顯示功能,也可以查詢所錄入的域名信息,然后也可對(duì)于所錄入的域名進(jìn)行刪除或者修改,能夠重復(fù)進(jìn)行操作。 二、需求分析1、功能需求:編寫一個(gè)域名服務(wù)器管理系統(tǒng)程序,本程序要求創(chuàng)建數(shù)據(jù)形式是由4個(gè)字符串組成的www*域名管理系統(tǒng)。能夠提供域名信息的錄入,瀏覽,查詢,修改,刪除的功能。2、輸入:用戶通過從
2、鍵盤輸入符合格式要求的域名并保存在數(shù)組里。3、輸出:從數(shù)組里讀取函數(shù)并輸出顯示在屏幕上。4、具體要求:1)本程序要求系統(tǒng)按照目錄菜單方式工作。域名的形式為: ,即其數(shù)據(jù)形式是由4個(gè)字符串組成的:www*。域名輸入時(shí)必須符合格式要求。2)本程序提供以下功能:域名信息錄入:用戶根據(jù)提示輸入新的域名,然后判斷域名是否合法,是否存在,如果合法且不存在則提示域名錄入成功,若輸入不合法則提示你輸入的域名有誤,提示繼續(xù)輸入,如果已經(jīng)存在則會(huì)提醒你輸入的域名已經(jīng)存在,提示繼續(xù)輸入或者選擇退出。域名信息瀏覽:對(duì)于已經(jīng)錄入的域名信息進(jìn)行瀏覽,根據(jù)提示操作,將你錄入的所有的域名信息輸出顯示到屏幕上瀏覽。域名信息查詢
3、:對(duì)于已經(jīng)錄入的域名信息進(jìn)行查詢,先輸入你想要查詢的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則輸出顯示到屏幕上,若不存在則提示你輸入的域名有誤,然后繼續(xù)輸入查詢。域名信息修改:對(duì)于已經(jīng)錄入的域名信息進(jìn)行修改,先輸入你想要修改的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則提示輸入一個(gè)新的域名,若輸入的域名合法則提示修改成功,如果輸入的域名不合法則提示你輸入的域名有誤,然后繼續(xù)輸入;如果你是輸入想要修改的域名信息不合法則提示你輸入的域名有誤然后提示重新輸入。域名信息刪除:對(duì)于已經(jīng)錄入的域名信息進(jìn)行刪除,先輸入你想要修改的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則將其成功
4、刪除,若不存在,則提示你輸入的域名有誤然后繼續(xù)輸入。三、概要設(shè)計(jì)1、本程序主要模塊:(1)main()定義及初始化;展示主菜單;讀取用戶的輸入數(shù)據(jù);調(diào)用相關(guān)功能函數(shù);2、函數(shù)部分:本程序定義了一個(gè)菜單函數(shù)以及五個(gè)功能函數(shù)(包括錄入函數(shù),瀏覽函數(shù),查詢函,數(shù),修改函數(shù),刪除函數(shù))(1)void menu();/菜單函數(shù)(2)int input(char anl, int n); /域名信息錄入char anl是一個(gè)二維數(shù)組,存儲(chǔ)所有錄入的域名地址,n是代表域名個(gè)數(shù),返回已經(jīng)輸入的地址個(gè)數(shù)(3)void scan(char anl, int n); /域名信息瀏覽char anl是一個(gè)二維數(shù)組,存
5、儲(chǔ)所有錄入的域名地址,n是代表域名個(gè)數(shù),沒有返回值。(4)void reserch(char anl, int n);/ 域名信息查詢char anl是一個(gè)二維數(shù)組,存儲(chǔ)所有錄入的域名地址,n是代表域名個(gè)數(shù),沒有返回值(5)void refine(char anl, int n);/ 域名信息修改char anl是一個(gè)二維數(shù)組,存儲(chǔ)所有錄入的域名地址,n是代表域名個(gè)數(shù),沒有返回值(6)int del(char anl, int n);/ 域名信息刪除char anl是一個(gè)二維數(shù)組,存儲(chǔ)所有錄入的域名地址,n是代表域名個(gè)數(shù),返回值是剩下的域名個(gè)數(shù)四、詳細(xì)設(shè)計(jì)我們要求編寫一個(gè)域名服務(wù)器管理系統(tǒng)程序
6、,本程序定義了一個(gè)二維數(shù)組,以數(shù)組的方式對(duì)域名進(jìn)行存儲(chǔ),以下是具體設(shè)計(jì):1. 域名信息錄入:用戶根據(jù)提示輸入新的域名,然后判斷域名是否合法,是否存在,如果合法且不存在則提示域名錄入成功,若輸入不合法則提示你輸入的域名有誤,提示繼續(xù)輸入,如果已經(jīng)存在則會(huì)提醒你輸入的域名已經(jīng)存在,提示繼續(xù)輸入或者選擇退出。偽代碼如下:do用戶根據(jù)提示進(jìn)行操作,然后判斷是否正確if輸入正確成功錄入else提示你輸入的域名有誤并重新輸入詢問用戶是否繼續(xù)錄入while(條件為真)實(shí)現(xiàn)如下:int input(char anl, int n)char templ;char *check_char;char yesno;i
7、nt check_int,i;int flag;/*輸入的地址是否重復(fù)的標(biāo)志,其中重復(fù)時(shí)flag=0*/docheck_int=0;flag = 1;system(cls);printf(請(qǐng)輸入一個(gè)新的域名: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)/*判
8、斷是否已有同樣的地址輸入*/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(是否繼續(xù)錄入域名?(y/n)n);yesno = getch();putchar(yesno);getch();
9、while(yesno != y & yesno != y & yesno != n & yesno != n);while(yesno = y | yesno = y);return n;2. 域名信息瀏覽:對(duì)于已經(jīng)錄入的域名信息進(jìn)行瀏覽,根據(jù)提示操作,將你錄入的所有的域名信息輸出顯示到屏幕上瀏覽。偽代碼如下:do提示用戶輸入想要瀏覽的域名信息,并判斷其是否存在if存在將要瀏覽的域名信息輸出顯示在屏幕上else提示你輸入的域名有誤或者不存在提示用戶繼續(xù)輸入while(條件為真)具體實(shí)現(xiàn)如下:void scan(char anl, int n)int i=0;system(cls);while
10、(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;/*要查詢的地址是否存在的標(biāo)志,其中存在時(shí)flag=0*/docheck_int=0;flag = 1;system(cls);printf(請(qǐng)輸入想要搜索的域名:n);scanf(%s,temp);/*檢查輸入是否正
11、確*/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(搜索結(jié)果:n);printf(%s n,temp,temp);printf(按任意鍵返回.n);getch();elsesystem(cls);printf(查詢不到域
12、名%s!n,temp);printf(按任意鍵返回.);getch();elseprintf(你輸入的域名有誤!nnn按任意鍵返回.);getch();dosystem(cls);printf(是否繼續(xù)搜索域名?(y/n)n);yesno = getch();putchar(yesno);getch();while(yesno != y & yesno != y & yesno != n & yesno != n);while(yesno = y | yesno = y);3. 域名信息查詢:對(duì)于已經(jīng)錄入的域名信息進(jìn)行查詢,先輸入你想要查詢的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則
13、輸出顯示到屏幕上,若不存在則提示你輸入的域名有誤,然后繼續(xù)輸入查詢。偽代碼如下:do提示用戶輸入想要查詢的域名信息,然后判斷是否存在if存在將所查詢的域名信息輸出顯示到屏幕上else提示你輸入的域名有誤提示是否繼續(xù)輸入域名while(條件為真)具體如下:void reserch(char anl, int n)char templ;char *check_char;char yesno;int check_int,i;int flag;/*要查詢的地址是否存在的標(biāo)志,其中存在時(shí)flag=0*/docheck_int=0;flag = 1;system(cls);printf(請(qǐng)輸入想要搜索的域
14、名: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(搜索結(jié)果:n);printf(%s n,temp,temp);printf(按任意鍵返回.n);getch()
15、;elsesystem(cls);printf(查詢不到域名%s!n,temp);printf(按任意鍵返回.);getch();elseprintf(你輸入的域名有誤!nnn按任意鍵返回.);getch();dosystem(cls);printf(是否繼續(xù)搜索域名?(y/n)n);yesno = getch();putchar(yesno);getch();while(yesno != y & yesno != y & yesno != n & yesno != n);while(yesno = y | yesno = y);4. 域名信息修改:對(duì)于已經(jīng)錄入的域名信息進(jìn)行修改,先輸入你想要
16、修改的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則提示輸入一個(gè)新的域名,若輸入的域名合法則提示修改成功,如果輸入的域名不合法則提示你輸入的域名有誤,然后繼續(xù)輸入;如果你是輸入想要修改的域名信息不合法則提示你輸入的域名有誤然后提示重新輸入。偽代碼如下:do提示用戶輸入想要修改的域名信息,并判斷其是否存在if存在 提示用戶輸入新域名,并判斷該域名是否符合格式要求,是否有重復(fù)else提示用戶重新輸入詢問用戶是否繼續(xù)修改while(條件為真)具體實(shí)現(xiàn)如下:void refine(char anl, int n)char templ;char *check_char;char yesno;int
17、 check_int,i;int flag;/*要修改的地址是否存在的標(biāo)志,其中存在時(shí)flag=0*/int target;/*要修改的目標(biāo)字符串的下標(biāo)*/docheck_int=0;flag = 1;system(cls);printf(請(qǐng)輸入想要修改的域名: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;
18、 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(
19、請(qǐng)輸入一個(gè)新的域名: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 已
20、存在!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(是否繼續(xù)修改域名?(y/n)n);yesno = getch();
21、putchar(yesno);getch();while(yesno != y & yesno != y & yesno != n & yesno != n);while(yesno = y | yesno = y);5. 域名信息刪除:對(duì)于已經(jīng)錄入的域名信息進(jìn)行刪除,先輸入你想要修改的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則將其成功刪除,若不存在,則提示你輸入的域名有誤然后繼續(xù)輸入。偽代碼如下:do提示用戶輸入想要?jiǎng)h除的域名信息,然后判斷是否存在if存在成功刪除else提示無法找到此域名詢問是否繼續(xù)輸入while(條件為真)具體如下:int del(char anl, int n
22、)char templ;char *check_char;char yesno;int check_int,i;int flag;/*要修改的地址是否存在的標(biāo)志,其中存在時(shí)flag=0*/int target;/*要修改的目標(biāo)字符串的下標(biāo)*/docheck_int=0;flag = 1;system(cls);printf(請(qǐng)輸入你要?jiǎng)h除的域名:n);scanf(%s,temp);/*檢查輸入是否正確*/check_char = temp;while(*check_char != 0)if(*check_char = .) check_int+;check_char+;if(check_int
23、 = 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(確認(rèn)是否刪除此域名?(y/n)n);yesno = getch();putchar(yesno);getch();while(yesno != y & yesno != y & yesno != n & yesno != n)
24、;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(是否繼續(xù)刪除其他域名?(y/n)n);yesno = g
25、etch();putchar(yesno);getch();while(yesno != y & yesno != y & yesno != n & yesno != n);while(yesno = y | yesno = y);return n;流程圖如下:五. 調(diào)試分析 程序在調(diào)試過程中出現(xiàn)錯(cuò)誤,反復(fù)調(diào)節(jié)也無法改正,具體如下: 最終各種網(wǎng)上查詢和咨詢學(xué)長,才發(fā)現(xiàn)問題出現(xiàn)在clrscr()的使用,clrscr()在vc6.0中無法使用,那是tc的的庫函數(shù),因?yàn)樵趖c下是有conio.h里的clrscr()清屏函數(shù)的,但是在vc下,conio.h里沒有clrscr(),只能用system(c
26、ls);所以最終將所有clrscr()替換成system(cls);,并加上#include。然后程序調(diào)試成功,以后應(yīng)該注意函數(shù)與環(huán)境的對(duì)應(yīng)是否正確。六 . 測(cè)試結(jié)果1. 域名服務(wù)器管理系統(tǒng)菜單界面2.2.域名信息的錄入:1)輸入一個(gè)合法域名:.格式合法,所以顯示“添加成功”。2)輸入一個(gè)不合法的域名如,明顯與要求的格式不符,所以程序提示“你輸入的域名有誤!”。3.域名信息的瀏覽:1)提前讓系統(tǒng)錄入和倆個(gè)域名,現(xiàn)在選擇2,域名信息瀏覽,然后瀏覽結(jié)果如下:4.域名信息的查詢1)先輸入一個(gè)已經(jīng)存在的域名比如:進(jìn)行查詢,所以查詢結(jié)果存在,并將域名信息顯示出來,結(jié)果如下:2)又輸入一個(gè)不存在的記錄()
27、進(jìn)行查詢,由于記錄不存在所以結(jié)果顯示“”。5.域名信息的修改 將原來的域名修改為。操作如下:此時(shí)再次瀏覽系統(tǒng)記錄,結(jié)果就會(huì)變?yōu)椋捍藭r(shí),域名信息瀏覽就會(huì)變?yōu)椋?.域名信息的刪除現(xiàn)在想要?jiǎng)h除域名 ,具體操作步驟如下:然后顯示修改成功:此時(shí),域名信息瀏覽變?yōu)椋?.退出選擇0表示退出操作,結(jié)果如下:七 用戶使用說明:本程序是關(guān)于域名服務(wù)器管理系統(tǒng),可以實(shí)現(xiàn)域名信息的錄入,瀏覽,查詢,修改,刪除的功能,用戶根據(jù)輸出提示進(jìn)行相應(yīng)合法的操作。 1.本程序在vc和tc下都可以運(yùn)行。 2.具體分為以下幾步: 1)域名信息錄入:根據(jù)菜單目錄,用戶輸入1便可選擇此項(xiàng),然后系統(tǒng)提示輸入域名,輸入符合要求的域名在按回車鍵后將被保存,提示錄入成功,用戶可選擇多次添加不同域名,當(dāng)然若輸入的域名不合法將提示你輸入的域名有誤,用戶選擇重新輸入或者返回菜單界面。 2)域
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教育基地展示系統(tǒng)合作協(xié)議書
- 2025版高中物理課時(shí)作業(yè)九萬有引力定律含解析新人教版必修2
- 會(huì)所股權(quán)分配合同范例
- 公路車整車售賣合同范例
- 共同建造廠房合同范例
- 專利質(zhì)押服務(wù)合同范例
- 產(chǎn)品買賣補(bǔ)充合同范例
- 付款條件合同范例
- 黃纓菊自然居群遺傳結(jié)構(gòu)與適宜分布區(qū)研究
- 信用證貿(mào)易合同范例
- DB-T29-260-2019天津市建筑物移動(dòng)通信基礎(chǔ)設(shè)施建設(shè)標(biāo)準(zhǔn)
- 吉利汽車經(jīng)銷商運(yùn)營手冊(cè)
- 《如何處理人際關(guān)系》課件
- 社區(qū)消防網(wǎng)格員培訓(xùn)課件
- 依奇珠單抗注射液-藥品解讀
- 太陽能路燈施工方案
- 前列腺炎的護(hù)理課件
- 外墻防水膠驗(yàn)報(bào)告模板
- 頂管頂力計(jì)算
- 本學(xué)期研究性成果及創(chuàng)新成果高中范文(3篇)
- MMPI14個(gè)量表得分題目號(hào)碼
評(píng)論
0/150
提交評(píng)論