家庭財務(wù)管理系統(tǒng)源代碼.doc_第1頁
家庭財務(wù)管理系統(tǒng)源代碼.doc_第2頁
家庭財務(wù)管理系統(tǒng)源代碼.doc_第3頁
家庭財務(wù)管理系統(tǒng)源代碼.doc_第4頁
家庭財務(wù)管理系統(tǒng)源代碼.doc_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

。#include#include#include#include#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,memberi.totalstruct financial /定義家庭成員信息 int num; /編號 char name15; /家庭成員姓名 int month; /月份 int year; /年份float income; /收入 float output; /支出 float total; /總金額;struct financial member50; /定義結(jié)構(gòu)體數(shù)組void menu(); /主界面void in(); /錄入家庭成員收支信息void show(); /顯示家庭成員收支信息void del(); /刪除家庭成員收支信息void modify(); /修改家庭成員收支信息 void total(); /計算家庭成員總收入void search(); /查找家庭成員收支信息int main() int n; menu(); scanf(%d,&n); /輸入數(shù)字選擇功能 while(n) switch(n) case 1: in(); /調(diào)用錄入家庭成員信息函數(shù) break; case 2: search(); /查找家庭成員信息函數(shù) break; case 3: del(); /調(diào)用刪除家庭成員信息函數(shù) break; case 4: modify(); /調(diào)用修改家庭成員信息函數(shù) break; case 5: total(); /調(diào)用匯總函數(shù) break; default:break; printf(按任意鍵返回主菜單:n); getch(); menu(); /執(zhí)行完功能再次顯示菜單界面 scanf(%d,&n); return 0;void menu() system(cls);printf(|-|n); printf(|-家庭財務(wù)信息系統(tǒng)-|n); printf(| 0. 退出 |n); printf(| 1. 錄入信息 |n); printf(| 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(家庭財務(wù)管理系統(tǒng),ab+)=NULL) printf(不能打開文件!n); return; while(!feof(fp) if(fread(&memberm ,LEN,1,fp)=1) m+; /統(tǒng)計當(dāng)前記錄條數(shù) fclose(fp); if(m=0) printf(沒有找到!n); else /system(cls); show(); /調(diào)用show函數(shù),顯示原有信息 if(fp=fopen(家庭財務(wù)管理系統(tǒng),wb)=NULL) printf(不能打開文件!n); return; for(i=0;im;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;im;i+) if(memberi.num = memberm.num) printf(該記錄已經(jīng)存在,按任意鍵繼續(xù)!); getch(); fclose(fp); return; printf(家庭成員姓名:); scanf(%s,); /輸入家庭成員姓名 printf(請輸入月份:); scanf(%d,&memberm.month); /輸入月份printf(請輸入年份:); scanf(%d,&memberm.year); /輸入年份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(); else printf(%s 已經(jīng)保存!n,); m+; printf(是否繼續(xù)?(y/n):); scanf(%s,ch); fclose(fp); printf(OK!n);void show() FILE *fp; int i,m=0; fp=fopen(家庭財務(wù)管理系統(tǒng),ab+); while(!feof(fp) if(fread(&memberm ,LEN,1,fp)=1) m+; fclose(fp); printf(編號 成員 月份 年分 收入 支出 總金額 tn); for(i=0;im;i+) printf(FFORMAT,DATA); void del() FILE *fp; int snum,i,j,m=0; char ch2; if(fp=fopen(家庭財務(wù)管理系統(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(請輸入編號:); scanf(%d,&snum); for(i=0;im;i+) if(snum=memberi.num) break; if(i=m) printf(沒有找到!); return; printf(已經(jīng)找到該記錄,是否刪除?(y/n); scanf(%s,ch); if(strcmp(ch,Y)=0|strcmp(ch,y)=0) /判斷是否要進行刪除 for(j=i;jm;j+) memberj = memberj+1; /將后一個記錄移到前一個記錄的位置 m-; /記錄的總個數(shù)減1 printf(成功刪除!n); if(fp=fopen(家庭財務(wù)管理系統(tǒng),wb)=NULL) printf(不能打開!n); return; for(j=0;jm;j+) /將更改后的記錄重新寫入指定的磁盤文件中 if(fwrite(&memberj ,LEN,1,fp)!=1) printf(不能保存!n); getch(); fclose(fp);void search() FILE *fp; int snum,i,m=0; char ch2; if(fp=fopen(家庭財務(wù)管理系統(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(請輸入編號:); scanf(%d,&snum); for(i=0;im;i+) if(snum = memberi.num) printf(已經(jīng)找到該記錄,是否顯示?(y/n); scanf(%s,ch); if(strcmp(ch,Y)=0|strcmp(ch,y)=0) printf(編號 成員 月份 年份 收入 支出 總金額tn); printf(FFORMAT,DATA); break; else return; if(i=m) printf(沒有找到相應(yīng)的記錄!n);void modify() FILE *fp; int i,j,m=0,snum; char ch2; if(fp=fopen(家庭財務(wù)管理系統(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); return; printf(請輸入要修改的記錄信息的編號!n); scanf(%d,&snum); for(i=0;im;i+)if(snum=memberi.num) /檢索記錄中是否有要修改的信息 printf(已經(jīng)找到該記錄,是否修改?(y/n)n); scanf(%s,ch); if(strcmp(ch,Y)=0|strcmp(ch,y)=0) printf(家庭成員姓名:); scanf(%s,); /輸入家庭成員姓名 printf(請輸入月份:); scanf(%d,&memberi.month); /輸入月份 printf(請輸入年份:); scanf(%d,&memberi.year); /輸入年份 printf(請輸入收入:); scanf(%f,&memberi.income); /輸入收入 printf(請輸入支出:); scanf(%f,&memberi.output); /輸入支出 memberi.total=memberi.income - memberi.output; /匯總 printf(保存成功!); else return; else printf(沒有找到!); return; if(fp=fopen(家庭財務(wù)管理系統(tǒng),wb)=NULL) printf(不能打開文件!n); return; for(j=0;jm;j+) /將新修改的信息寫入指定的磁盤文件中 if(fwrite(&memberj ,LEN,1,fp)!=1) printf(不能保存!); fclose(fp);void total() / 統(tǒng)計 FILE *fp; int m=0; if(fp=f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論