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

下載本文檔

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

文檔簡(jiǎn)介

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; /編號(hào) 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(); /修改家庭成員收支信息 vo

3、id total(); /計(jì)算家庭成員總收入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)用

4、匯總函數(shù) break; default:break; printf("按任意鍵返回主菜單:n"); getch(); menu(); /執(zhí)行完功能再次顯示菜單界面 scanf("%d",&n); return 0;void menu() system("cls");printf("|-|n"); printf("|-家庭財(cái)務(wù)信息系統(tǒng)-|n"); printf("| 0. 退出 |n"); printf("| 1. 錄入信息 |n"); printf

5、("| 2. 查找信息 |n"); printf("| 3. 刪除信息 |n"); printf("| 4. 修改信息 |n"); printf("| 5. 統(tǒng)計(jì)信息 |n"); printf("|-|n"); printf("選擇(0-5):");void in() /錄入家庭成員信息 int i,m=0; char ch2; FILE *fp; if(fp=fopen("家庭財(cái)務(wù)管理系統(tǒng)","ab+")=NULL) printf(&

6、quot;不能打開文件!n"); return; while(!feof(fp) if(fread(&memberm ,LEN,1,fp)=1) m+; /統(tǒng)計(jì)當(dāng)前記錄條數(shù) fclose(fp); if(m=0) printf("沒有找到!n"); else /system("cls"); show(); /調(diào)用show函數(shù),顯示原有信息 if(fp=fopen("家庭財(cái)務(wù)管理系統(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("編號(hào):"); scanf("%d",&memberm.num); /輸入家庭成員編號(hào) for(i=0;i<m;i+) if(memberi.num =

8、 memberm.num) printf("該記錄已經(jīng)存在,按任意鍵繼續(xù)!"); getch(); fclose(fp); return; printf("家庭成員姓名:"); scanf("%s",); /輸入家庭成員姓名 printf("請(qǐng)輸入月份:"); scanf("%d",&memberm.month); /輸入月份printf("請(qǐng)輸入年份:"); scanf("%d",&memberm.year); /

9、輸入年份printf("請(qǐng)輸入收入:"); scanf("%f",&memberm.income); /輸入收入printf("請(qǐng)輸入支出:"); scanf("%f",&memberm.output); /輸入支出 memberm.total=memberm.income - memberm.output; /匯總 if(fwrite(&memberm,LEN,1,fp)!=1) /將新錄入的信息寫入指定的磁盤文件 printf("不能保存!"); getch(); e

10、lse 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("家庭財(cái)務(wù)管理系統(tǒng)","ab+"); while(!feof(fp) if(fread(&memberm ,LEN,1,fp)=1) m+; fclose(fp); pri

11、ntf("編號(hào) 成員 月份 年分 收入 支出 總金額 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("家庭財(cái)務(wù)管理系統(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("請(qǐng)輸入編號(hào):"); scanf("%d",&snum); for(i=0;i<m;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,"

13、y")=0) /判斷是否要進(jìn)行刪除 for(j=i;j<m;j+) memberj = memberj+1; /將后一個(gè)記錄移到前一個(gè)記錄的位置 m-; /記錄的總個(gè)數(shù)減1 printf("成功刪除!n"); if(fp=fopen("家庭財(cái)務(wù)管理系統(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("家庭財(cái)務(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

15、("請(qǐng)輸入編號(hào):"); scanf("%d",&snum); for(i=0;i<m;i+) if(snum = memberi.num) printf("已經(jīng)找到該記錄,是否顯示?(y/n)"); scanf("%s",ch); if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0) printf("編號(hào) 成員 月份 年份 收入 支出 總金額tn"); printf(FFORMAT,DATA); break; else

16、return; if(i=m) printf("沒有找到相應(yīng)的記錄!n");void modify() FILE *fp; int i,j,m=0,snum; char ch2; if(fp=fopen("家庭財(cái)務(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); ret

17、urn; printf("請(qǐng)輸入要修改的記錄信息的編號(hào)!n"); scanf("%d",&snum); for(i=0;i<m;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&

18、quot;,); /輸入家庭成員姓名 printf("請(qǐng)輸入月份:"); scanf("%d",&memberi.month); /輸入月份 printf("請(qǐng)輸入年份:"); scanf("%d",&memberi.year); /輸入年份 printf("請(qǐng)輸入收入:"); scanf("%f",&memberi.income); /輸入收入 printf("請(qǐng)輸入支出:"); scanf("%f",&memberi.output); /輸入支出 memberi.total=memberi.income - member

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論