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

正文內(nèi)容

學(xué)生手機通信錄管理系統(tǒng)-資料下載頁

2025-04-07 23:06本頁面
  

【正文】 scanf(\t%s,per[i].pany)。 printf(\t地址:)。 scanf(\t%s,per[i].adds)。 printf(\t電話:)。 scanf(\t%s,per[i].tel)。 printf(\t手機:)。 scanf(\t%s,per[i].num)。 printf(\t電子郵件:)。 scanf(\t%s,per[i].)。 printf(\t備注:)。 scanf(\t%s,per[i].remark)。 printf(\t修改成功!)。 }}void WritetoText(Person per[],int n) { int i=0。 FILE *fp。 /*定義文件指針*/ char filename[20]。 /*定義文件名*/ printf(\t保存到文件\n)。 /*輸入文件名*/ printf(\t請輸入所保存的文件名:)。 scanf(\t%s,filename)。 if((fp=fopen(filename,w))==NULL) { printf(\t無法打開文件\n)。 system(pause)。 return。 } fprintf(fp,******************************************通訊錄******************************************\n)。 fprintf(fp,序號 姓名 簡拼 性別 工作單位 地址 電話 手機 電子郵件 備注\n)。 fprintf(fp,\n)。 while(in) { fprintf(fp,%3d\t%6s\t%3s\t%13s\t%20s\t%20s\t%20s\t%20s\t%20s\t%20s\n,per[i].score,per[i].name, per[i1].jianpin,per[i1].sex,per[i1].pany,per[i1].adds,per[i1].tel,per[i1].num,per[i1]., per[i1].remark)。 i++。 } fprintf(fp,\n)。 fprintf(fp,***************************************共有%d條記錄****************************************\n,n)。 fclose(fp)。 /*關(guān)閉文件*/ printf(保存成功\n)。 } int Load(Person per[],int n){ int i。 FILE *fp。 /*指向文件的指針*/ if((fp=fopen(,rb))==NULL)/*打開文件*/ { printf(無法打開文件\n)。 /*不能打開*/ exit(1)。 /*退出*/ } fscanf(fp,%d,amp。n)。 /*讀入記錄數(shù)*/ for(i=0。in。i++) fscanf(fp,%20s%30s%10s,per[i].name,per[i].pany,per[i].tel)。 /*按格式讀入記錄*/ fclose(fp)。 /*關(guān)閉文件*/ printf(你已經(jīng)成功地從文件中讀取數(shù)據(jù)\n)。 /*顯示保存成功*/ return n。 /*返回記錄數(shù)*/}void main() /*主函數(shù)*/ { int n=0。 for(。) { switch(menu_select()) { case 1: printf(\n\t添加記錄到通訊錄\n)。 /*添加記錄*/ n=Input(pe,n)。 break。 case 2: printf(\n\t\t\t 通訊錄記錄表\n)。 /*顯示記錄*/ Display(pe,n)。 break。 case 3: printf(\n\t從通訊錄中刪除記錄\n)。 n=Delete_a_record(pe,n)。 /*刪除記錄*/ printf(\t)。 system(pause)。 break。 case 4: printf(\n\t在通訊錄中查找記錄\n)。 Query_a_record(pe,n)。 /*查找記錄*/ printf(\t)。 system(pause)。 break。 case 5: printf(\n\t排序通訊錄中的記錄\n)。 SelectSort (pe,n)。 /*排序記錄*/ printf(\t)。 system(pause)。 break。 case 6: printf(\n\t修改通訊錄中的記錄\n)。 Change(pe,n)。 /*修改數(shù)據(jù)*/ printf(\t)。 system(pause)。 break。 case 7: printf(\n\t保存通訊錄功能\n)。 WritetoText(pe,n)。 /*保存數(shù)據(jù)*/ printf(\t)。 system(pause)。 break。 case 8: printf(\n\t讀入通訊錄記錄 \n)。 Load (pe,n)。 /*讀入記錄 */ printf(\t)。 system(pause)。 break。 case 0: printf(\n\t\t謝謝使用,再見!\n)。 /*結(jié)束程序*/ printf(\n\t\t)。 system(pause)。 exit(0)。 } } }五、測試數(shù)據(jù)及其結(jié)果分析界面:添加:依次輸入序號,姓名,簡拼,性別,工作單位,地址,電話,手機,電子郵件,備注,提示是否繼續(xù)添加。顯示:可以以表格形式輸出所有通訊錄里的記錄刪除:輸入欲刪除的那個人的名字后,刪除他(她)的記錄內(nèi)容查詢:可以選擇用姓名、簡拼、電話方式查詢排序:可按姓名、簡拼等排序。要求排序后,記錄的序號也要重新編排修改:先查找,再修改。若查找出多條記錄,則進一步提示用戶選擇記錄的序號,再修改保存:,輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件讀入:從文件中讀入通信錄數(shù)據(jù)。退出:結(jié)果分析:1. 在輸入菜單選項時如果輸入的內(nèi)容不是18之間的數(shù)字,而是其他數(shù)字或字符,系統(tǒng)將繼續(xù)執(zhí)行等待下次正確的輸入。2. 在需要輸入所須查找的名稱處如輸入名稱不在系統(tǒng)中,系統(tǒng)提示錯誤。3. 當備份文件時,如文件事先未建立,系統(tǒng)將自行建立。如建立的文件為TXT文件。六、調(diào)試過程中的問題1. 在顯示界面,各項不一一對應(yīng)及出現(xiàn)分行情況,在修改了每項的間距后得以改善。2. 保存后在下次運行時出錯問題:在保存信息時,應(yīng)在每個信息之間加一空格來保存,否則在文件下次使用時讀取就會沒有分界點。3. 在統(tǒng)計時名稱重復(fù)問題:因為在判斷名稱時不能加相同的名稱就使用后刪除,這樣會破壞鏈表結(jié)構(gòu)。所以這里使用建立一個二維字符數(shù)組將名稱進行保存,并將以后的名稱都與其所有成員進行比較判斷。將新的名稱儲存進數(shù)組,并將計數(shù)器加1以實現(xiàn)操作。七、課程設(shè)計總結(jié)這次的設(shè)計課是一次對自己動手設(shè)計程序的能力的鍛煉。應(yīng)用戶需求自己思考問題,編寫程序,發(fā)現(xiàn)錯誤,修改錯誤。在這過程中,對C和C++的操作有了進一步的掌握而且學(xué)會了使用VISIO軟件的使用方法。在設(shè)計這個程序的時候,重點在于鏈表的使用,當然還有不少文件的讀寫問題。但重點和難點還是在鏈表。例如,排序函數(shù)中,如使用冒泡法將程序進行排序?qū)浅?fù)雜,因為鏈表不僅牽扯到本身還牽扯到所指向的下一結(jié)點問題,一個不小心就會使鏈表斷開并造成丟失,而這種丟失是無法修復(fù)的。所以我采用了將其所有內(nèi)容通過中間變量來進行交換的較為簡單的方法,這樣只要通過兩層FOR循環(huán)就可以像非鏈表問題一樣進行冒泡法的排序從而解決問題。另外一點要說的就是這個程序用了很多的循環(huán),因此對于循環(huán)的控制要十分小心,要分清while和dowhile的區(qū)別。經(jīng)過了約兩個星期的努力,這個程序的設(shè)計終于基本上完成了。其中還有一些地方可能存在漏洞,需要進行思考和進一步完善,這樣可讓程序的運行更合理化。32 / 32
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1