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

正文內(nèi)容

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

2024-11-09 12:47 本頁面
 

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