freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c課程設(shè)計(jì)電話簿管理(編輯修改稿)

2024-11-09 12:47 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 d()函數(shù),進(jìn)行記錄的輸入,即完成在數(shù)組中添加元素的操作。(3)查詢記錄模塊查詢記錄模塊主要實(shí)現(xiàn)在數(shù)組中按聯(lián)系人姓名或電話查找滿足條件的記錄。在查詢函數(shù)Qur()中,為了遵循模塊化編程的原則,對(duì)在數(shù)組中進(jìn)行的記錄定位操作設(shè)計(jì)成了一個(gè)單獨(dú)的函數(shù)int Locate(TELEBOOK temp[],int n,char findmess[],char nameorphonenum[]),參數(shù)findmess[]保存要查找的具體內(nèi)容,nameorphonenum[]保存要查找的字段(值為字特串類型的name或phonenum),若找到該記錄,則返回指向該記錄的數(shù)組元素的下標(biāo);否則,返回一個(gè)1的值。(4)更新記錄模塊更新記錄模塊主要實(shí)現(xiàn)了對(duì)記錄的修改、刪除、插入和排序操作。因?yàn)橛涗浭且詳?shù)組的結(jié)構(gòu)形式存儲(chǔ)的,所以這些操作都在數(shù)組中完成。下面分別介紹這4個(gè)功能模塊。1)修改記錄修改記錄操作需要對(duì)數(shù)組中目標(biāo)元素的數(shù)據(jù)域中的值進(jìn)行修改,它分兩步完成。第一步,輸入要修改的聯(lián)系人姓名,輸入后調(diào)用定位函數(shù)Locate()在數(shù)組中逐個(gè)對(duì)聯(lián)系人姓名字段的值進(jìn)行比較,直到找到該聯(lián)系人姓名的記錄;第二步,若找到該記錄,修改除記錄編號(hào)之外的各字段的值,并將存盤標(biāo)記變saveflag置1,表示已經(jīng)對(duì)記錄進(jìn)行了修改,但還未執(zhí)行存盤操作。2)刪除記錄刪除記錄操作完成刪除指定聯(lián)系人姓名或電話號(hào)碼的記錄,它也分兩步完成。第一步,輸入要修改的聯(lián)系人姓名或電話號(hào)碼,輸入后調(diào)用定位函數(shù)Locate()在數(shù)組中逐個(gè)對(duì)聯(lián)系人姓名或電話號(hào)碼字段的值進(jìn)行比較,直到找到該聯(lián)系人姓名或電話號(hào)碼的記錄,返回指向該記錄的數(shù)組元素下標(biāo);第二步,若找到該記錄,則從該記錄所在元素的后續(xù)元素起,依次向前移一個(gè)元素位置,有值的數(shù)組元素個(gè)數(shù)減1,其具體過程如圖3所示,在刪除了數(shù)組元素A2后,數(shù)組元素A3和A4向前移動(dòng)了一個(gè)位置A0刪除A2前A0刪除A2后A1A1A2A3A3A4A4圖3 數(shù)組中刪除記錄示意圖3)插入記錄 插入記錄操作完成在指定記錄編號(hào)的隨后位置插入新的記錄。首先,它要求用戶輸入某個(gè)記錄編號(hào),新的記錄將插入在該記錄之后、然后,提示用戶輸入一條新的記錄的信息,這些信息保存在新結(jié)構(gòu)體類型的數(shù)組元素的各字段中。最后,將該元素插入在已經(jīng)確認(rèn)位置的記錄編號(hào)之后。它的具體插入執(zhí)行過程如圖4所示,新元素B1準(zhǔn)備插入至已有5個(gè)元素的數(shù)組中,插入位置為元素A2之后。這具體過程為:先調(diào)用Locate()函數(shù)找到A2在數(shù)組中的下標(biāo),從A4開始,往后移動(dòng),至A2停止移動(dòng),然后在原A3的位置插入元素B1。插入B1A0插入B1前A0插入B1后A1A2B1A3A4A1A2A3A4圖4 數(shù)組中插入記錄示意圖4)排序記錄選擇排序法也屬于內(nèi)部排序法中的一種,它是運(yùn)用字段值比較后,從欲排序的數(shù)組元素中,按指定規(guī)則選出其字段值最小的元素,并依原則交換數(shù)組元素位置后,更新欲排序的數(shù)組元素,以達(dá)到排序的目的。這里我們采用這種排序法來實(shí)現(xiàn)按照記錄編號(hào)或聯(lián)系人姓名字段的值從低到高對(duì)記錄進(jìn)行升序排序。對(duì)按照記錄編號(hào)排序方式而言,我們將按其數(shù)值大小來排序;對(duì)按照聯(lián)系人姓名排序方式而言,我們將按其姓名字符ASCII碼的大小來排序。選擇排序的方法為:從欲排序的n個(gè)數(shù)組元素中,以線性查找的方式找出最小的元素和第一個(gè)元素交換,再?gòu)氖O碌模╪1)個(gè)數(shù)組元素中,找出最小的元素和第二個(gè)元素交換,以此類推,直到所有元素均已排序完成。將相鄰的兩個(gè)數(shù)組元素的電話簿字段的值進(jìn)行比較,若左邊的值小于右邊的值,則將此兩個(gè)元素的值進(jìn)行交換;若左邊的值大于等于右邊的值,則此兩個(gè)值的位置不變。右邊的值繼續(xù)和下一個(gè)值做比較,重復(fù)此動(dòng)作,直到比較到最后一個(gè)值,最終實(shí)現(xiàn)了升序排序。選擇排序法是最簡(jiǎn)單的排序法,但選擇排序法所需的排序時(shí)間比其他排序法長(zhǎng)。(5)輸出記錄模塊當(dāng)把記錄輸出至文件時(shí),調(diào)用fwrite(amp。temp[i],sizeof(TELEBOOK),L,fp)函數(shù),將數(shù)組元素temp[i ]中各字段的值,寫入文件指針fp所指的文件:當(dāng)把記錄輸出至屏幕時(shí),調(diào)用void Disp()函數(shù),將數(shù)組中存儲(chǔ)的記錄信息以表格的形式在屏幕上打印出來。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)本程序定義了結(jié)構(gòu)體telebook,用于存放聯(lián)系人的基本信息。這里僅有3 個(gè)與聯(lián)系人有關(guān)的字段,讀者可以按照需要擴(kuò)展相關(guān)字段。typedef struct telebook { char num[4]。char name[10]。char phonenum[15]。char address[20]。}TELEBOOK。其各字段的值的含義如下: l num[4]:保存記錄編號(hào)。l name[10]:保存聯(lián)系人姓名。l phonenum[15]:保存聯(lián)系人的電話號(hào)碼。l address[20]:保存聯(lián)系人地址。函數(shù)功能描述1)printheader()函數(shù)原型:void printheader()printheader()函數(shù)用于在表格形式顯示記錄時(shí),打印輸出表頭信息。2)printdata()函數(shù)原型:void printdata(TELEBOOK pp)printdatan()數(shù)用于以表格顯示的方式,打印輸出單個(gè)數(shù)組元素pp中的記錄信息。3)Disp()函數(shù)原型:void Disp(TELEBOOK temp[],int n)Disp()函數(shù)用于顯示temp數(shù)組中存儲(chǔ)的n條記錄,內(nèi)容為telebook結(jié)構(gòu)中定義的內(nèi)容。其余函數(shù)功能描述省略,請(qǐng)同學(xué)們?cè)谧约簩懙臅r(shí)候?qū)懲暾?.程序?qū)崿F(xiàn)源程序(略)運(yùn)行結(jié)果(1)主界面圖5 主界面當(dāng)用戶剛進(jìn)入電話簿管理系統(tǒng)時(shí),其主界面如圖5所示。此時(shí),系統(tǒng)己經(jīng)將“c:telephon”文件打開,若文件不為空,則將數(shù)據(jù)從文件中逐條記錄讀出,并寫入數(shù)組中。用戶可選擇08之間的數(shù)值,調(diào)用相應(yīng)功能進(jìn)行操作。當(dāng)輸入為0時(shí),退出此管理系統(tǒng)。(2)輸入記錄當(dāng)用戶輸入1并按Enter鍵后,即可進(jìn)入數(shù)據(jù)輸入界面。其輸入記錄過程如圖6所示,這里輸入了3條記錄。當(dāng)用戶輸入為0的記錄編號(hào)時(shí),它會(huì)結(jié)束輸入過程,返回到主菜單界面。(3)顯示記錄當(dāng)用戶執(zhí)行了輸入記錄或已經(jīng)從數(shù)據(jù)文件中讀取了記錄之后,即可輸入2并按Enter鍵,查看當(dāng)前數(shù)組中的記錄情況,如圖7所示,此時(shí)表中有3條記錄。圖6 輸入記錄圖7 顯示記錄(4)刪除記錄當(dāng)用戶輸入3并按Enter鍵后,即可進(jìn)入記錄刪除界面。其刪除記錄過程如圖8所示,這里按聯(lián)系人姓名刪除了一條姓名為A1的記錄。圖8 刪除記錄(5)查找記錄當(dāng)用戶輸入4并按Enter鍵后,即可進(jìn)入記錄查找界面。其查找記錄過程如圖9所示,8 用戶可按姓名或電話號(hào)碼進(jìn)行記錄查找。圖9 查找記錄(6)修改記錄當(dāng)用戶輸入5并按Enter鍵后,即可進(jìn)入記錄修改界面。其修改記錄過程如圖10所示,這里修改了姓名為a2的聯(lián)系電話和地址字段。圖11 修改記錄(7)插入記錄當(dāng)用戶輸入6并按Enter鍵后,即可進(jìn)入記錄插入界面。其插入過程如圖11所示,這里在記錄編號(hào)為3的記錄后插入了一條記錄編號(hào)為5的記錄。(8)排序記錄當(dāng)用戶輸入7并按Enter鍵后,即可進(jìn)入記錄排序界面。用戶可以選擇按照記錄編號(hào)或聯(lián)系人姓名進(jìn)行排序,圖12為按記錄編號(hào)進(jìn)行記錄升序排序的結(jié)果。(9)保存記錄當(dāng)用戶輸入8并按Enter鍵后,即可進(jìn)入記錄保存界面。其保存結(jié)果提示信息如圖13所示,這里有3條記錄已經(jīng)存儲(chǔ)至磁盤數(shù)據(jù)文件c:telephon中。6.小結(jié)本文介紹了電話簿管理系統(tǒng)的設(shè)計(jì)思路及其編程實(shí)現(xiàn),重點(diǎn)介紹了功能模塊的設(shè)計(jì)原理和利用數(shù)組存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)電話簿管理的過程。通過本程序的開發(fā)使我熟悉C語(yǔ)言下的文件和數(shù)組操作,了解管理信息系統(tǒng)(MIS)的開發(fā)原理,并注意利用選擇排序法來實(shí)現(xiàn)數(shù)組元素 排序的特點(diǎn)。利用本電話簿管理系統(tǒng)可以對(duì)通訊錄進(jìn)行日常維護(hù)和管理。第三篇:C++課程設(shè)計(jì)(簡(jiǎn)單圖書管理系統(tǒng))課 程 設(shè) 計(jì)課程名稱C++課程設(shè)計(jì) 題目名稱圖書管理系統(tǒng)2016 年月 29 日目錄一.設(shè)計(jì)內(nèi)容與要求...............................................................................................................2 二.設(shè)計(jì)思路:.......................................................................................................................4 三.關(guān)鍵模塊實(shí)現(xiàn)及主要代碼...............................................................................................4 四.實(shí)驗(yàn)結(jié)果及分析.............................................................................................................13五、心得體會(huì).........................................................................................................................16六、參考文獻(xiàn).........................................................................................................................17一.設(shè)計(jì)內(nèi)容與要求(1)、設(shè)計(jì)一個(gè)圖書管理系統(tǒng),能夠?qū)崿F(xiàn)用戶信息管理,圖書信息的 錄入、查詢、刪除等功能。(2)、實(shí)現(xiàn)用戶管理,系統(tǒng)具有用戶注冊(cè)功能。管理員的賬號(hào)和密碼由系統(tǒng)指定,登錄后可進(jìn)行修改。一般用戶注冊(cè)后才能登錄使用系統(tǒng)。管理員具有錄入、查詢、刪除圖書信息及一般用戶的功能。一般用戶只有圖書查詢功能。(3)、登錄功能,只有注冊(cè)了的用戶才能進(jìn)入系統(tǒng),沒有注冊(cè)的則有提示信息出現(xiàn)。(4)、圖書管理功能,管理員能夠錄入、查詢、刪除圖書信息。(5)、圖書查詢功能,管理員及一般用戶能夠通過圖書的基本信息,如圖書作者、書名、出版社、出版日期等等,進(jìn)行查詢。提示:上述為基本功能,可參考實(shí)際的系統(tǒng)進(jìn)行擴(kuò)展。二.設(shè)計(jì)思路:為了實(shí)現(xiàn)用戶信息以及圖書信息的管理,建立一個(gè)用戶CUser類與圖書信息CBoodata類,其中CUser類應(yīng)該包含用戶賬號(hào)以及密碼,CBookdata類應(yīng)該包含圖書作者,書名,出版社,出版日期。同時(shí)應(yīng)該建立兩個(gè)dat文件,一個(gè)為存儲(chǔ)用戶信息,一個(gè)用來儲(chǔ)存圖書信息。程序主要分為4個(gè)頁(yè)面:(1)登錄頁(yè)面,由Cdialog類派生出CMyprojectDlg類,用來處理賬號(hào)注冊(cè)與用戶登錄。(2)圖書查詢頁(yè)面。由Cdialog類派生出CSearch類。包含讀取所有圖書數(shù)據(jù)響應(yīng)函數(shù),以及根據(jù)作者姓名或者書名來查詢圖書響應(yīng)函數(shù)。(3)管理員圖書管理頁(yè)面。由Cdialog類派生出CBookdata類。包含讀取所有圖書響應(yīng)函數(shù),添加圖書響應(yīng)函數(shù),修改圖書響應(yīng)函數(shù),刪除圖書響應(yīng)函數(shù)。(4)用戶信息管理頁(yè)面,由Cdialog類派生出CUserdata類。包含讀取所有用戶信息響應(yīng)函數(shù),刪除用戶響應(yīng)函數(shù)、添加用戶響應(yīng)函數(shù)、修改用戶信息響應(yīng)函數(shù)。因?yàn)楸救四芰τ邢?,而且自己是根?jù)老師給的教程以及結(jié)合書本內(nèi)容來完成課程設(shè)計(jì),于是我第一想到的就是應(yīng)數(shù)組來存儲(chǔ)信息,而不是用鏈表,所以,對(duì)于文件數(shù)據(jù)的刪除與修改,難免會(huì)過于乏力。三.關(guān)鍵模塊實(shí)現(xiàn)及主要代碼(1)自己建立的類 : class CUser { public: int num。char password[20]。}。:class Book//圖書類 { public:char author[10]。//設(shè)置作者姓名char bname[20]。//設(shè)置圖書書名char pub_name[20]。//設(shè)置出版社名稱int pub_date。//設(shè)置出版年月 }。(2)登錄頁(yè)面,由Cdialog類派生出CMyprojectDlg類,用來處理賬號(hào)注冊(cè)與用戶登錄。:void CMyprojectDlg::OnButton3()//用戶注冊(cè) { // TODO: Add your control notification handler code here////////////////////////////////////////////////////////////////////////////////////// //以下代碼主要還是把這條記錄寫入文件,注意寫入的格式:文件的前四個(gè)字節(jié)是保持用戶記錄數(shù),//后面依次保持用戶記錄注意,寫用戶的每個(gè)信息的順序要與讀取時(shí)的順序一致。UpdateData(TRUE)。CUser user。int n_user=0。//用戶的個(gè)數(shù),管理員默認(rèn)為第一個(gè)。自己輸入為賬號(hào):1111,密碼:0000。int size=0。fstream file(“”,ios::in|ios::out)。// 建立一個(gè)文件類,關(guān)于其用法,請(qǐng)baidu。(ios::beg)。//將文件指針指向文件頭。((char*)amp。n_user,sizeof(n_user))。//讀取用戶數(shù)。n_user+=1。(ios::beg)。((char*)amp。n_user,sizeof(n_user))。//寫學(xué)生記錄個(gè)數(shù)=m_num。//,導(dǎo)致密碼匹配時(shí)有錯(cuò)誤。memcpy(,(()),())。// 把類CString對(duì)象的內(nèi)容賦值到字符數(shù)組中[()]=39。39。//在數(shù)組末尾加結(jié)束符號(hào)//在文件末尾,把新的記錄寫入。(4+(n_user1)*sizeof(CUser),ios::beg)。//這里出錯(cuò)((char*)amp。,sizeof())。((char*)amp。,sizeof())。()。///////////////////////////////////////////////////////////////////////////////////////// //用消息框提示CString str。(“成功注冊(cè),成為第 %d 個(gè)注冊(cè)用戶,請(qǐng)按確定返回重新登錄.”,n_user1)。///因?yàn)榈谝粋€(gè)為管理員,不算為用戶人數(shù)。AfxMessageBox(str)。} 。其中包含判斷是管理員,還是普通用戶。void CMyprojectDlg::OnButton2()//用戶登錄 { // TODO: Add your control notification handler code hereUpdateData(TRUE)。CUser m_user[100]。int i。int size。int n_user=0。//文件中用戶的個(gè)數(shù)////////////////////////////////////////////////////////////////////////////////////////// //讀取文件中的用戶記錄,注意讀取順序與寫入的順序要一致,文件最開始的4個(gè)字節(jié)是表示記錄個(gè)數(shù)。//根據(jù)記錄個(gè)數(shù),依次讀取用戶記錄 放在成員變量m_st數(shù)組中(已在類體中聲明了)CFile file。(“”,CFile::modeRead
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1