国产免费牲交视频无遮挡_偷偷鲁视频成人免费视频_中文无码 日韩精品_曰韩无码人妻中文字幕

其他新聞

其他新聞

關(guān)鍵詞快速排名系統(tǒng)源碼(關(guān)鍵詞快速排名軟件)

時間:2023-11-29 信途科技其他新聞

問題描述:

為某個單位建立一個員工通訊錄管理系統(tǒng),可以方便查詢每一個員工的電話與地址。設(shè)計散列表存儲,設(shè)計并實現(xiàn)通訊錄查找系統(tǒng)。

1.基本要求

(1)每個記錄有下列數(shù)據(jù)項:電話號碼、用戶名、地址;

(2)從鍵盤輸入各記錄,分別以電話號碼為關(guān)鍵字建立散列表;

(3)采用二次探測再散列法解決沖突;

(4)查找并顯示給定電話號碼的記錄;

(5)通訊錄信息文件保存。

2.重點、難點

重點:

(1)通過實驗深入理解哈希表既是一種存儲形式,又是一種查找方法;

(2)哈希表的構(gòu)造;

(3)哈希沖突方案的設(shè)計。

難點:哈希表的構(gòu)造與哈希沖突方案的設(shè)計

3.作業(yè)及課外學(xué)習(xí)要求:

按照題意要求獨立進行設(shè)計,設(shè)計結(jié)束后要按要求寫出課程設(shè)計報告。

本知識點的講授和學(xué)習(xí),可以支撐“畢業(yè)要求4研究”中的“指標點4.1能夠運用科學(xué)的研究方法對復(fù)雜軟件工程問題進行需求分析研究;指標點4.2熟悉復(fù)雜軟件系統(tǒng)的開發(fā)和應(yīng)用環(huán)境,研究制定合理的軟件設(shè)計與開發(fā)方案。指標點4.3能夠?qū)υ万炞C方法進行研究與分析,合理驗證軟件系統(tǒng)”的指標達成度進行評估。使學(xué)生在解決具體問題的過程中,能夠靈活熟練地選擇合適的數(shù)據(jù)結(jié)構(gòu)及設(shè)計有效的算法,從而加深對常用數(shù)據(jù)結(jié)構(gòu)的理解,強化學(xué)生的邏輯思維能力和動手能力,鞏固良好的編程習(xí)慣,掌握工程軟件設(shè)計的基本方法,為后續(xù)課程的學(xué)習(xí)打下堅實基礎(chǔ)。

4.代碼:#include<cstdio>#include<stdlib.h>#include<iostream>#include<cstring>#include<cmath>#define MAXSIZE 300#define L 300using namespace std;class individual{public: char tel[12]; char name[15]; char addr[20]; int key;};class population{public: individual addr_list[MAXSIZE+1]; individual hash_list[L]; void info_input(); void init_hash_list(); void hash_list_do(); void search_tel(); void hash_out(); int m,n; int individuals;};population all;int max_prime(int m)//m>2{ int i; if(m%2==0) m--; while(m>=3){ for(i=3;i<=sqrt(m);i+=2) if(m%i==0) break; if(i>sqrt(m)) break; m-=2; } return m;}void population::info_input(){ printf("輸入通訊錄最大長度(<%d):\n",MAXSIZE); cin>>all.m; printf("批量輸入人數(shù):"); cin>>all.individuals; printf("批量輸入%d個成員的信息(用戶名、電話號碼(11位)、地址):\n",all.individuals); for(int i=1;i<=all.individuals;i++) { cin>>all.addr_list[i].name; cin>>all.addr_list[i].tel; cin>>all.addr_list[i].addr; if(strlen(all.addr_list[i].tel)!=11) { printf("重新輸入第%d位成員的信息:\n",i); cin>>all.addr_list[i].name; cin>>all.addr_list[i].tel; cin>>all.addr_list[i].addr; } all.addr_list[i].key=all.addr_list[i].tel[3]+all.addr_list[i].tel[10]; } printf("批量創(chuàng)建成功?。?!\n");}void population::init_hash_list(){ for(int i=0;i<L;i++) { strcpy(all.hash_list[i].addr,""); strcpy(all.hash_list[i].name,""); strcpy(all.hash_list[i].tel,""); all.hash_list[i].key=0; }}void population::hash_list_do(){ init_hash_list(); int i,j=1,x,temp; init_hash_list(); all.n=max_prime(all.m); printf("\n最大長度為:%d 模n=%d\n",all.m,all.n); for(i=1;i<=all.individuals;i++) { temp=x=all.addr_list[i].key%all.n; while(all.hash_list[x].key!=0)//此處需要用二次探測再散列法解決沖突 { x=temp; x=(x+j*j)%all.n; if(all.hash_list[x].key!=0) { x=temp; x=(x-j*j)%all.n; } j++; } all.hash_list[x].key=all.addr_list[i].key; strcpy(all.hash_list[x].addr,all.addr_list[i].addr); strcpy(all.hash_list[x].name,all.addr_list[i].name); strcpy(all.hash_list[x].tel,all.addr_list[i].tel); } cout<<"哈希表創(chuàng)建成功!!"<<endl;}void population::hash_out(){ FILE *fp; if((fp=fopen("address_list.txt","w"))==NULL) { printf("open file failed!\n"); exit(0); } fprintf(fp,"用戶 電話號碼 地址 \n"); printf("\n輸出Hash表:\n"); printf(" 用戶 電話號碼 地址 關(guān)鍵字 \n"); for(int i=0;i<all.m;i++) { if(all.hash_list[i].key!=0) { cout<<all.hash_list[i].name<<" "; cout<<all.hash_list[i].tel<<" "; cout<<all.hash_list[i].addr<<" "; cout<<all.hash_list[i].key<<" "<<endl; fprintf(fp,"%s %s %s \n",all.hash_list[i].name,all.hash_list[i].tel,all.hash_list[i].addr); } } fclose(fp);}void population::search_tel(){ int i,temp,x,j=1; char room[12]; printf("\n輸入電話號碼:"); cin>>room; temp=room[3]+room[10]; x=temp%all.n; if(strcmp(all.hash_list[x].tel,room)==0) printf("姓名:%-15s 電話號碼:%s 地址:%-5s \n\n", all.hash_list[x].name,all.hash_list[x].tel,all.hash_list[x].addr); else { while(strcmp(all.hash_list[x].tel,room)) { x=(temp+j*j)%all.n; if(strcmp(all.hash_list[x].tel,room)) { x=temp; x=(x-j*j)%all.n; } j++; } printf("姓名:%-15s 電話號碼:%s 地址:%-5s \n\n", all.hash_list[x].name,all.hash_list[x].tel,all.hash_list[x].addr); }}void msgbox(){ printf("================================\n"); printf("= 基本操作: =\n"); printf("= 電話查詢--S =\n"); printf("= 通信錄人員名單--H =\n"); printf("= 退出系統(tǒng)--E =\n"); printf("================================\n");}int main(){ char op; cout<<" 警告:當(dāng)前通信錄還未初始化?。?!\n\n "; all.info_input(); all.hash_list_do(); msgbox(); cout<<"選擇操作\n-"; while(cin>>op) { msgbox(); switch(op) { case 'S': all.search_tel();break; case 'H': all.hash_out();break; case 'E': exit(0);break; default: continue; } } cout<<"謝謝使用?。?!";}

寫在最后:對于準備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:

整理分享(多年學(xué)習(xí)的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

對于C/C++感興趣可以關(guān)注小編在后臺私信我:【編程交流】一起來學(xué)習(xí)哦!可以領(lǐng)取一些C/C++的項目學(xué)習(xí)視頻資料哦!已經(jīng)設(shè)置好了關(guān)鍵詞自動回復(fù),自動領(lǐng)取就好了!

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由信途科技轉(zhuǎn)載于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系站長刪除。

轉(zhuǎn)載請注明出處http://macbookprostickers.com/xintu/65392.html

相關(guān)文章

「莒州網(wǎng)」莒州網(wǎng)莒縣論壇我們心靈的家園

本篇文章信途科技給大家談?wù)勡熘菥W(wǎng),以及莒州網(wǎng)莒縣論壇我們心靈的家園對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站。 本文導(dǎo)讀目錄: 1、莒縣房產(chǎn)信息,準備買房子。。求解。。 2、山東日照的莒縣...

模板建站報價(自己購買模板建站)

現(xiàn)在網(wǎng)站對于我們來說并不不陌生,但我可以告訴你,建立網(wǎng)站依然是大多數(shù)人做不到的事情,雖然說只要按照網(wǎng)絡(luò)中的免費教程就可以建站,但這還是一個比較高的門檻,為此請人做網(wǎng)站還是建站的主流,那么,請人做一個網(wǎng)...

泉州論壇建站模板(泉州智能模板建站)

來源:臺海網(wǎng)城市名片:新中國成立以來,泉州歷史上有過三座見證旅客運輸變遷的車站。臺海網(wǎng)8月26日訊 據(jù)泉州網(wǎng)報道 最早的泉州舊車站,始建于1953年,服役時間長達半個多世紀。泉州新車站1990年正式運...

陽江網(wǎng)站建設(shè)公司,音浪傳媒靠譜嗎

音浪傳媒靠譜嗎廣東音浪傳媒有限公司成立于2020年10月29日,注冊地位于陽江市江城區(qū)金山路333號萬山·香悅四季7幢7層712房(住所申報),法定代表人為許玉永。經(jīng)營范圍包括廣告設(shè)計、制作、代理及發(fā)...

美食在網(wǎng)絡(luò)怎么推廣(美食推廣的視頻怎么做)

中秋將至,餐飲行業(yè)要怎樣推廣呢?餐飲行業(yè)的宣傳很難像其他行業(yè)一樣在線舉辦展覽或發(fā)布視頻模擬效果。餐飲業(yè)常見的宣傳手段是軟文。可見軟文對于餐飲行業(yè)來說是非常重要的,那么如何為餐飲寫軟文呢?今天我就給大家...

林州:肖街在山中走出俏模樣

花汛起太行,鄉(xiāng)村弄春潮。半是天上客,半是畫中居。在“北方山水畫派之祖”荊浩隱居的林州洪谷山下,肖街村走出了俏模樣。肖街村是林州市合澗鎮(zhèn)的一個行政村,10個自然村850多口人隱沒在洪谷山里,紅旗渠一干渠...

現(xiàn)在,非常期待與您的又一次邂逅

我們努力讓每一次邂逅總能超越期待

  • 效果付費
    效果付費

    先出效果再付費

  • 極速交付
    極速交付

    響應(yīng)速度快,有效節(jié)省客戶時間

  • 1對1服務(wù)
    1對1服務(wù)

    專屬客服對接咨詢

  • 持續(xù)更新
    持續(xù)更新

    不斷升級維護,更好服務(wù)用戶