




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#define LEN sizeof(struct financial)#define FFORMAT "%-8d%-15s%-10d%-10d%-12.2f%-12.2f%-12.2fn"#define DATA memberi.num,,memberi.month,memberi.year,memberi.income,memberi.output,member
2、i.totalstruct financial /定義家庭成員信息 int num; /編號 char name15; /家庭成員姓名 int month; /月份 int year; /年份float income; /收入 float output; /支出 float total; /總金額;struct financial member50; /定義結構體數組void menu(); /主界面void in(); /錄入家庭成員收支信息void show(); /顯示家庭成員收支信息void del(); /刪除家庭成員收支信息void modify(); /修改家庭成員收支信息 vo
3、id total(); /計算家庭成員總收入void search(); /查找家庭成員收支信息int main() int n; menu(); scanf("%d",&n); /輸入數字選擇功能 while(n) switch(n) case 1: in(); /調用錄入家庭成員信息函數 break; case 2: search(); /查找家庭成員信息函數 break; case 3: del(); /調用刪除家庭成員信息函數 break; case 4: modify(); /調用修改家庭成員信息函數 break; case 5: total(); /調用
4、匯總函數 break; default:break; printf("按任意鍵返回主菜單:n"); getch(); menu(); /執(zhí)行完功能再次顯示菜單界面 scanf("%d",&n); return 0;void menu() system("cls");printf("|-|n"); printf("|-家庭財務信息系統(tǒng)-|n"); printf("| 0. 退出 |n"); printf("| 1. 錄入信息 |n"); printf
5、("| 2. 查找信息 |n"); printf("| 3. 刪除信息 |n"); printf("| 4. 修改信息 |n"); printf("| 5. 統(tǒng)計信息 |n"); printf("|-|n"); printf("選擇(0-5):");void in() /錄入家庭成員信息 int i,m=0; char ch2; FILE *fp; if(fp=fopen("家庭財務管理系統(tǒng)","ab+")=NULL) printf(&
6、quot;不能打開文件!n"); return; while(!feof(fp) if(fread(&memberm ,LEN,1,fp)=1) m+; /統(tǒng)計當前記錄條數 fclose(fp); if(m=0) printf("沒有找到!n"); else /system("cls"); show(); /調用show函數,顯示原有信息 if(fp=fopen("家庭財務管理系統(tǒng)","wb")=NULL) printf("不能打開文件!n"); return; for(i=0
7、;i<m;i+) fwrite(&memberi ,LEN,1,fp); /向指定的磁盤文件寫入信息 printf("是否輸入?(y/n):"); scanf("%s",ch); while(strcmp(ch,"Y")=0|strcmp(ch,"y")=0) /判斷是否要錄入新信息 printf("編號:"); scanf("%d",&memberm.num); /輸入家庭成員編號 for(i=0;i<m;i+) if(memberi.num =
8、 memberm.num) printf("該記錄已經存在,按任意鍵繼續(xù)!"); getch(); fclose(fp); return; printf("家庭成員姓名:"); scanf("%s",); /輸入家庭成員姓名 printf("請輸入月份:"); scanf("%d",&memberm.month); /輸入月份printf("請輸入年份:"); scanf("%d",&memberm.year); /
9、輸入年份printf("請輸入收入:"); scanf("%f",&memberm.income); /輸入收入printf("請輸入支出:"); scanf("%f",&memberm.output); /輸入支出 memberm.total=memberm.income - memberm.output; /匯總 if(fwrite(&memberm,LEN,1,fp)!=1) /將新錄入的信息寫入指定的磁盤文件 printf("不能保存!"); getch(); e
10、lse printf("%s 已經保存!n",); m+; printf("是否繼續(xù)?(y/n):"); scanf("%s",ch); fclose(fp); printf("OK!n");void show() FILE *fp; int i,m=0; fp=fopen("家庭財務管理系統(tǒng)","ab+"); while(!feof(fp) if(fread(&memberm ,LEN,1,fp)=1) m+; fclose(fp); pri
11、ntf("編號 成員 月份 年分 收入 支出 總金額 tn"); for(i=0;i<m;i+) printf(FFORMAT,DATA); void del() FILE *fp; int snum,i,j,m=0; char ch2; if(fp=fopen("家庭財務管理系統(tǒng)","ab+")=NULL) printf("不能打開文件n"); return; while(!feof(fp) if(fread(&memberm,LEN,1,fp)=1) m+; fclose(fp); if(m=0)
12、 printf("沒有記錄!n"); return; printf("請輸入編號:"); scanf("%d",&snum); for(i=0;i<m;i+) if(snum=memberi.num) break; if(i=m) printf("沒有找到!"); return; printf("已經找到該記錄,是否刪除?(y/n)"); scanf("%s",ch); if(strcmp(ch,"Y")=0|strcmp(ch,"
13、y")=0) /判斷是否要進行刪除 for(j=i;j<m;j+) memberj = memberj+1; /將后一個記錄移到前一個記錄的位置 m-; /記錄的總個數減1 printf("成功刪除!n"); if(fp=fopen("家庭財務管理系統(tǒng)","wb")=NULL) printf("不能打開!n"); return; for(j=0;j<m;j+) /將更改后的記錄重新寫入指定的磁盤文件中 if(fwrite(&memberj ,LEN,1,fp)!=1) printf(&
14、quot;不能保存!n"); getch(); fclose(fp);void search() FILE *fp; int snum,i,m=0; char ch2; if(fp=fopen("家庭財務管理系統(tǒng)","ab+")=NULL) printf("不能打開文件n"); return; while(!feof(fp) if(fread(&memberm,LEN,1,fp)=1) m+; fclose(fp); if(m=0) printf("沒有記錄!n"); return; printf
15、("請輸入編號:"); scanf("%d",&snum); for(i=0;i<m;i+) if(snum = memberi.num) printf("已經找到該記錄,是否顯示?(y/n)"); scanf("%s",ch); if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0) printf("編號 成員 月份 年份 收入 支出 總金額tn"); printf(FFORMAT,DATA); break; else
16、return; if(i=m) printf("沒有找到相應的記錄!n");void modify() FILE *fp; int i,j,m=0,snum; char ch2; if(fp=fopen("家庭財務管理系統(tǒng)","ab+")=NULL) printf("不能打開文件!n"); return; while(!feof(fp) if(fread(&memberm,LEN,1,fp)=1) m+; if(m=0) printf("沒有記錄!n"); fclose(fp); ret
17、urn; printf("請輸入要修改的記錄信息的編號!n"); scanf("%d",&snum); for(i=0;i<m;i+)if(snum=memberi.num) /檢索記錄中是否有要修改的信息 printf("已經找到該記錄,是否修改?(y/n)n"); scanf("%s",ch); if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0) printf("家庭成員姓名:"); scanf("%s&
18、quot;,); /輸入家庭成員姓名 printf("請輸入月份:"); scanf("%d",&memberi.month); /輸入月份 printf("請輸入年份:"); scanf("%d",&memberi.year); /輸入年份 printf("請輸入收入:"); scanf("%f",&memberi.income); /輸入收入 printf("請輸入支出:"); scanf("%f",&memberi.output); /輸入支出 memberi.total=memberi.income - member
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全GFRP筋增強混凝土梁柱節(jié)點抗震性能研究
- 我們愛運動健康教案中班
- 醫(yī)學超聲診斷技術概述
- 春季骨科常見病例分析與防治指南
- 頜骨骨折護理課件
- 頸肩腰腿痛護理課件
- 割皮術后水腫護理
- 領導安全講堂課件
- 顱腦手術術后護理課件
- 2025年貴州省中考道德與法治試卷(含解析)
- 2024年安徽省合肥市北城片區(qū)七年級數學第一學期期末學業(yè)水平測試試題含解析
- 2025至2030中國銅冶煉行業(yè)發(fā)展現狀及應用需求現狀分析報告
- 農業(yè)保險培訓課件
- 茶園租賃合同(含茶葉加工銷售)
- 2025至2030全球及中國浮式液化天然氣行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 藥品連鎖總部管理制度
- 2025至2030中國家用清潔工具行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 20250617國金證券機器人行業(yè)研究垂直領域具身智能機器人的野望416mb
- 數字時代親屬關系重構-洞察及研究
- 物理●湖北卷丨2024年湖北省普通高中學業(yè)水平選擇性考試物理試卷及答案
- 一諾LZYN質量流量計使用說明書-2009版
評論
0/150
提交評論