域名服務(wù)器管理系統(tǒng)實(shí)驗(yàn)報(bào)告
《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)域名服務(wù)器管理系統(tǒng)一、目的熟悉C 語言的基本內(nèi)容從而掌握C 語言的基本知識以及了解C 程序的基本編寫及運(yùn)行; 了解程序的分模塊編寫并對程序的每個(gè)模塊進(jìn)行詳細(xì)的設(shè)計(jì)并且能理解一般C
《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
域名服務(wù)器管理系統(tǒng)
一、目的
熟悉C 語言的基本內(nèi)容從而掌握C 語言的基本知識以及了解C 程序的基本編寫及運(yùn)行; 了解程序的分模塊編寫并對程序的每個(gè)模塊進(jìn)行詳細(xì)的設(shè)計(jì)并且能理解一般C 語言編寫的程序。編寫一個(gè)域名服務(wù)管理系統(tǒng)程序,根據(jù)目錄要求執(zhí)行多種操作,可以錄入一個(gè)或者多個(gè)域名信息,能夠提供瀏覽和顯示功能,也可以查詢所錄入的域名信息,然后也可對于所錄入的域名進(jìn)行刪除或者修改,能夠重復(fù)進(jìn)行操作。
二、需求分析
1、功能需求:
編寫一個(gè)域名服務(wù)器管理系統(tǒng)程序,本程序要求創(chuàng)建數(shù)據(jù)形式是由4個(gè)字符串組成的www .*********.*****.***域名管理系統(tǒng)。能夠提供域名信息的錄入,瀏覽,查詢,修改,刪除的功能。
2、輸入:用戶通過從鍵盤輸入符合格式要求的域名并保存在數(shù)組里。
3、輸出:從數(shù)組里讀取函數(shù)并輸出顯示在屏幕上。
4、具體要求:
1)本程序要求系統(tǒng)按照目錄菜單方式工作。域名的形式為: www.scuec.edu.cn,即其數(shù)據(jù)形式是由4個(gè)字符串組成的:www .*********.*****.***。域名輸入時(shí)必須符合格式要求。
2)本程序提供以下功能:
域名信息錄入:用戶根據(jù)提示輸入新的域名,然后判斷域名是否合法,是否存在,如果合法且不存在則提示域名錄入成功,若輸入不合法則提示你輸入的域名有誤,提示繼續(xù)輸入,如果已經(jīng)存在則會(huì)提醒你輸入的域名已經(jīng)存在,提示繼續(xù)輸入或者選擇退出。
域名信息瀏覽:對于已經(jīng)錄入的域名信息進(jìn)行瀏覽,根據(jù)提示操作,將你錄入的所有的域名信息輸出顯示到屏幕上瀏覽。
中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院 1
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
域名信息查詢:對于已經(jīng)錄入的域名信息進(jìn)行查詢,先輸入你想要查詢的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則輸出顯示到屏幕上,若不存在則提示你輸入的域名有誤,然后繼續(xù)輸入查詢。
域名信息修改:對于已經(jīng)錄入的域名信息進(jìn)行修改,先輸入你想要修改的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則提示輸入一個(gè)新的域名,若輸入的域名合法則提示修改成功,如果輸入的域名不合法則提示你輸入的域名有誤,然后繼續(xù)輸入;如果你是輸入想要修改的域名信息不合法則提示你輸入的域名有誤然后提示重新輸入。
域名信息刪除:對于已經(jīng)錄入的域名信息進(jìn)行刪除,先輸入你想要修改的域名,然后判斷用戶所輸入的信息是否存在,如果存在,則將其成功刪除,若不存在,則提示你輸入的域名有誤然后繼續(xù)輸入。
三、概要設(shè)計(jì)
1、本程序主要模塊:
(1)main ()
{
定義及初始化;
展示主菜單;
讀取用戶的輸入數(shù)據(jù);
調(diào)用相關(guān)功能函數(shù);
}
2、函數(shù)部分:
中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院 2
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
本程序定義了一個(gè)菜單函數(shù)以及五個(gè)功能函數(shù)(包括錄入函數(shù),瀏覽函數(shù),查詢函,數(shù),修改函數(shù),刪除函數(shù))
(1)void menu();//菜單函數(shù)
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
用戶根據(jù)提示輸入新的域名,然后判斷域名是否合法,是否存在,如果合法且不存在則提示域名錄入成功,若輸入不合法則提示你輸入的域名有誤,提示繼續(xù)輸入,如果已經(jīng)存在則會(huì)提醒你輸入的域名已經(jīng)存在,提示繼續(xù)輸入或者選擇退出。
偽代碼如下:
do{
用戶根據(jù)提示進(jìn)行操作,然后判斷是否正確
If 輸入正確
成功錄入
else 提示你輸入的域名有誤并重新輸入
詢問用戶是否繼續(xù)錄入
}while (條件為真)
實(shí)現(xiàn)如下:
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
do
{
check_int=0;
flag = 1;
system("cls");
printf("請輸入一個(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 )
{
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
flag = 0;
break;
}
}
if(flag == 0)
{
system("cls");
printf("注意: 域名 " s" 已存在!nnn按任意鍵返回...n", temp); getch();
}
else
{
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
else
{
system("cls");
printf("你輸入的域名有誤! nnn按任意鍵返回...");
getch();
}
do
{
system("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');
return n;
}
2. 域名信息瀏覽:
中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院 7
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
對于已經(jīng)錄入的域名信息進(jìn)行瀏覽,根據(jù)提示操作,將你錄入的所有的域名信息輸出顯示到屏幕上瀏覽。
偽代碼如下:
do{
提示用戶輸入想要瀏覽的域名信息,并判斷其是否存在
if 存在
將要瀏覽的域名信息輸出顯示在屏幕上
else 提示你輸入的域名有誤或者不存在
提示用戶繼續(xù)輸入
}while(條件為真)
具體實(shí)現(xiàn)如下:
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
{
printf("按任意鍵返回...");
getch();
system("cls");
}
i ;
}
}
,《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
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 )
{