




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上一. 設計目的1.熟悉結構體類型的定義;2.練習對數據的儲存和讀寫:對文件的操作;3.實現函數的定義及對函數的調用;4.學習鏈表的建立,使用鏈表實現對數據的改動;5.掌握調試程序的方法,熟練單步跟蹤等。二. 設計內容主要實現以下幾個功能:1.管理員及業主賬號的創建及核對,管理員密碼的修改; 2錄入業主信息;3.修改,增加,刪除信息;4.信息的查詢,打印,統計;5.信息的文件儲存;6.文件的讀寫;7.密碼的加密。三概要設計1功能模塊圖; 主函數管理員業主創建住戶信息添加 修改查詢打印刪除統計修改密碼查詢22各個模塊詳細的功能描述。1.創建住戶信息:鍵盤輸入住戶信息,有姓
2、名,聯系方式,房屋號碼,房產所有,車位擁有情況,收費項目,家庭人口等。并儲存在文件中。2.添加: 選擇進行添加,添加住戶信息。并儲存進指定文件中。添加完畢后返回主界面。3.修改: 選擇進行修改,進入后可選擇修改的內容(包括聯系方式,住戶姓名,房間號等)。根據修改的內容查找用戶,繼續進行修改,輸入新的信息,完成后打印新信息,存入指定文件。不再修改時返回主界面。4.刪除: 選擇要刪除的人的信息(姓名或者房號),根據此信息查找該用戶并刪除相應信息,并存入指定文件中。5.打印: 利用讀文件及鏈表打印存入的信息。6.查詢: 打開文件,根據姓名或房間號查詢此業主的全部信息。7.統計: 打開文件,每個住戶的
3、車位信息與no比較,不是則進行加加操作,統計出已用車位總數。8.修改密碼:核對修改的賬號,輸入新密碼,存入文件,并進行加密。9.查詢2:打開文件,根據姓名或房間號查詢此業主的姓名,聯系方式,房間號信息四詳細設計1功能函數的調用關系圖; 退出退出 界 面 管理員住 戶注冊登錄選項創 建添 加查 詢打 印存文件讀文件· 件注冊登錄選項查 詢2改 密修 改選刪 除統 計2各功能函數的數據流程圖;主 界 面是否繼續管理打 開 文 件 輸入添加的住戶基本信息YN退出(1)添加:(2)創建住戶信息創 建 住 戶 信 息創 建 鏈 表存 入 指 定 文 件輸 入 住 戶 信 息打 開 指 定 文
4、件管 理 員 界 面 是否繼續輸入(3).修改打 開 文 件改姓名改電話改房號輸入修改的姓名是否存在是否存在是否存在打印輸出修改后該人資料存入文件輸入新姓名輸入新電話輸入新房號輸入修改的電話輸入修改的姓名退出YYYNNN(4).刪除打 開 文 件姓 名電 話輸入刪除的姓名是否存在是否存在存入文件成功刪除輸入刪除的電話退出YYN退出N (5).打印打 開 文 件查找打印的開始節點打 印(6).查詢返回主界面 打 開 文 件按 姓 名按 房 號輸 入 姓 名輸 入 房 號比較文件中姓名與輸入的姓名是否相同輸出此住戶信息此用戶不存在是否繼續查詢查 詢比較文件中姓名與輸入的姓名是否相同此用戶不存在NY
5、(7).統計打 開 文 件對比所有用戶的車位是否為noSum+輸出車位數第一個用戶信息下個用戶且下個節點不為空NY(8)密碼修改 打開密碼文件輸入修改密碼的賬號是否存在此用戶輸入新的密碼打印修改后的登錄信息不存在此用戶,跳出NY3重點設計及編碼。(1)登陸時密碼存入文件及加密 開辟兩個文件,一個存密碼,另一個存加密文件,當void deng() /登錄FILE *fp;FILE *k;char name30,code30; /用戶名,選擇登錄(注冊),密碼struct mima *r,*s,*h,*s1; /密碼鏈接的創建int i,p,j; /控制密碼重輸循環次數int m;char a6;
6、fp=fopen("mima.txt","a+");k=fopen("temp.txt","a+");if(fp=NULL) printf("此文件不存在,請檢查輸入"); getch(); exit (1);system("cls"); printf("-n");printf("n*請輸入賬號:n");scanf("%s",name);h=(struct mima*)malloc(sizeof(struct mim
7、a);h->next=NULL;r=h;while(!feof(fp)s=(struct mima*)malloc(sizeof(struct mima);fscanf(fp,"%st%sn",s->z,s->m);if(strcmp(name,s->z)=0)break;r->next=s;r=s;r->next=NULL;if(strcmp(name,s->z)!=0)printf("無效賬號!nn");printf("是否現在進行注冊?(按1繼續,按其它任意鍵退出)nn");scanf(
8、"%d",&m);system("cls");if(m=1)printf("n-n");printf("n*用戶名:n");scanf("%s",name);fprintf(fp,"%s ",name);printf("n*密碼:n");scanf("%s",code);fprintf(fp,"%sn",code);printf("n注冊成功!正在跳轉登錄···
9、3;nn");Sleep(1500);getch();deng(fp);elseprintf("nnnn 已成功退出!nnn");exit (0);printf(" n*請輸入密碼:n");for(j=0;j<6;j+)aj=getch();printf("*");aj='0' for(i=0,p=3;i<3;i+,p-)if(strcmp(s->m,a)!=0)printf("n密碼錯誤!請檢查!nn");printf("n您還有%d次輸入密碼的機會nn&qu
10、ot;,p);printf("n*請重新輸入密碼!*n");for(j=0;j<6;j+)aj=getch();printf("*");aj='0'elsebreak;if(p=0)if(strcmp(s->m,code)!=0)printf("密碼錯誤!nn");printf("對不起,你無權訪問!n");exit(0);if(k=NULL)return;while(ai!='0')s1=ai1234;fputc(s1,k);i+;fclose(k);if(k=fope
11、n("temp.txt","a+")=NULL)return; rewind(k); flushall;fclose(fp);printf("n");printf("n 恭喜您,您已成功登錄!n");printf("n-n");getch();(2)文件的打開及寫入struct people *fileopen()struct people *head,*s,*r;FILE *fp;long fsize,fno; s=head=(struct people *)malloc(sizeof(str
12、uct people);fp=fopen("zhuhu.txt","rt");if(fp=NULL)printf("n打開該管理文件失敗!n也可能不存在,請檢查輸入!n");exit(1);fno=fileno(fp);fsize=filelength(fno);printf("n此文件成功打開!n");printf("該文件的大小為:%ld bytesn",fsize);while(!feof(fp)r=(struct people*)malloc(sizeof(struct people);
13、fscanf(fp,"%st%st%st%st%st%st%dnn",r->name,r->pho,r->house,r->blong,r->car,r->money,&r->pop);s->next=r;s=r;s->next=NULL;fclose(fp);return head;printf("_n");struct people *filewrite(struct people *head) /寫入文件函數FILE *fp;char filename30;struct people *
14、q; printf("請輸入現有信息要儲存到de管理文件中:"); scanf("%s",filename); fp=fopen(filename,"wt");if(fp=NULL)printf("該文件無法找到,請檢查輸入n");exit(1);q=(struct people*)malloc(sizeof(struct people);q=head->next;while(q!=NULL) fprintf(fp,"%st%st%st%st%st%st%dnn",q->name,q
15、->pho,q->house,q->blong,q->car,q->money,q->pop);/*改q=q->next;fclose(fp);return head;(3)鏈表的創立struct people *createlist() FILE *fp; char filename40; struct people *head1,*p1,*p2;int flag;printf("n請輸入要保存的庫存資料管理文件名(以.txt結尾):");scanf("%s",filename); if(fp=fopen(fi
16、lename,"wt")=NULL) /*判斷文件是否存在*/printf("nn*寫文件出錯,請檢查輸入*n");getch();exit(1);head1=(struct people *)malloc(sizeof(struct people); /*申請頭結點空間*/p1=head1;p2=head1;system("cls"); printf("nn *(*_*) 成功創建管理文件包!*n");printf("請輸入基本信息:n 姓名 聯系電話 門牌號 房產所有 車位 收費 人口 n"
17、);printf("_n"); scanf("%s%s%s%s%s%s%d",p1->name,p1->pho,p1->house,p1->blong,p1->car,p1->money,&p1->pop);printf("_n");p1->next=NULL;fprintf(fp,"%st%st%st%st%st%st%dnn",p1->name,p1->pho,p1->house,p1->blong,p1->car,p1-&g
18、t;money,p1->pop); /*將信息存入文件*/while(1)p1=(struct people *)malloc(sizeof(struct people);printf("是否繼續輸入基本信息?(按0結束,任意其他鍵繼續)n");scanf("%d",&p1->flag); if(p1->flag=0) /*控制空間申請條件*/fclose(fp);return head1;printf("_n"); printf("請輸入基本信息:nn 姓名 聯系電話 門牌號 房產所有 車位 收費 人口 n");scanf("%s%s%s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴金屬礦床的生態環境影響評價考核試卷
- 自來水的水質保護與保障考核試卷
- 酒店業客戶體驗優化策略考核試卷
- 口腔科門診主任年終總結
- 急救儀器常見故障及處理
- 文獻閱讀匯報核心要素與實踐方法
- 糖尿病疾病防治與健康管理
- 顱腦損傷疾病康復
- RS-MCPG-Standard-alpha-MCPG-Standard-生命科學試劑-MCE
- “學海拾珠”系列之跟蹤月報
- 2025至2030中國執法系統行業經營效益及前景運行態勢分析報告
- 2025年廣東省萬閱大灣區百校聯盟中考二模語文試題(含答案)
- 【藝恩】出游趨勢洞察報告
- 護士理論考試試題及答案
- 學生因病缺課管理制度
- 2025年江蘇省蘇州園區星海中考英語二模試卷
- 福建省廈門市2023-2024學年高一下學期期末質量檢測歷史試題(解析版)
- 四川省成都市西川中學2025年八年級英語第二學期期末檢測模擬試題含答案
- 工程項目經理競聘演講稿
- 天津水務集團有限公司招聘考試真題2024
- 分部驗收橋梁主體驗收評估報告
評論
0/150
提交評論