日常花銷管理系統(tǒng)_第1頁
日?;ㄤN管理系統(tǒng)_第2頁
日?;ㄤN管理系統(tǒng)_第3頁
日?;ㄤN管理系統(tǒng)_第4頁
日?;ㄤN管理系統(tǒng)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、項目案例C語言程序設(shè)計所在系別: 計算機技術(shù)系 所屬專業(yè): 網(wǎng)絡(luò)技術(shù) 指導(dǎo)教師: 宋鐵橋 專業(yè)負(fù)責(zé)人: 孫志成 項目案例13日?;ㄤN管理系統(tǒng)一、項目整體目標(biāo)及要求我們已經(jīng)學(xué)習(xí)過了C語言的語法規(guī)范和編寫一般程序的方法,對于數(shù)據(jù)類型和輸入輸出、三種結(jié)構(gòu)化編程等知識都有了一定的應(yīng)用能力。但是要編寫出優(yōu)秀的程序,需要學(xué)會綜合應(yīng)用。本項目將帶領(lǐng)同學(xué)們用C語言設(shè)計一個較大型的綜合性應(yīng)用程序日?;ㄤN管理系統(tǒng)。通過學(xué)習(xí),使大家對于實用的C語言程序有更深的了解,并且通過模仿寫出一個較為復(fù)雜的C語言程序,從而提高程序設(shè)計的技能。(一)項目整體目標(biāo)1.掌握并熟練運用C語言的基本數(shù)據(jù)類型與各種表達(dá)式,程序的流程控制語

2、句。2.掌握函數(shù)的定義,函數(shù)的返回值,函數(shù)的調(diào)用,函數(shù)的形式參數(shù)和實際參數(shù)之間的關(guān)系;掌握變量的作用域與生存期,了解函數(shù)的作用域。(二)項目內(nèi)容要求1用C語言實現(xiàn)系統(tǒng) 利用函數(shù)調(diào)用實現(xiàn)日?;ㄤN管理系統(tǒng)的設(shè)計;系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);提供一個界面來調(diào)用各個功能;調(diào)用界面和各個功能的操作界面應(yīng)盡可能清晰美觀。2. 日?;ㄤN管理系統(tǒng)功能實現(xiàn):試設(shè)計日?;ㄤN管理系統(tǒng)以菜單方式工作,采用自定義函數(shù)設(shè)計各功能模塊被主菜單調(diào)用,使之能提供以下基本功能: (1)顯示賬戶信息 (2)刪除賬戶信息(3)查詢賬戶信息(4)保存賬戶信息(5)刪除學(xué)生信息(6)登錄密碼修改(7)退出功能各功能模塊對可能

3、出現(xiàn)的異常情況能進(jìn)行簡單的識別和糾錯。二、項目解決方案(程序代碼清單)/*本軟件是完成日常收入與支出的記錄*/#include<stdio.h>#include<stdlib.h>#include<string.h>FILE *fp;int k=0;/初始化輸入個數(shù)為0int b=1;/主函數(shù)只讀取密碼驗證struct money char name201; char day201; char livetishi201; int takemoney,costmoney,allmoney,num;s1000;char str26="000000&qu

4、ot;void biaotou() printf(" 順序 進(jìn)賬 花銷日期 出賬 出賬情況 剩余money 生活提示 n"); printf("n");void menu() system("color 5e"); system("cls"); printf(" *n"); printf(" | 個人理財信息 |n"); printf(" |=|n"); printf(" | 1.個人理財信息 |n"); printf(" |

5、=|n"); printf(" | 2.顯示賬戶信息 |n"); printf(" |=|n"); printf(" | 3.刪除賬戶信息 |n"); printf(" |=|n"); printf(" | 4.查詢賬戶信息 |n"); printf(" |=|n"); printf(" | 5.保存賬戶信息 |n"); printf(" |=|n"); printf(" | 6.登錄密碼修改 |n");

6、printf(" |=|n"); printf(" | 0.退出系統(tǒng) |n"); printf(" |=|n"); printf(" | o(v)o(_)o(v)o |n"); printf(" n"); /理財信息void huaxiao() int i; char strd; char m50; for(i=0;i<1001;i+) printf(" 請輸入編號(輸入編號為0時結(jié)束):");scanf("%d",&si.num); if(

7、si.num=0) fflush(stdin); /清空緩存 printf("是否退出y/n? "); scanf("%c",&strd); if(strd='y') break; else continue; printf("請輸入進(jìn)賬數(shù)目:");scanf("%d",&(si.takemoney); printf("請輸入花銷時間:");scanf("%s",m);strcpy(si.day,m); printf("請輸入花銷數(shù)目

8、:");scanf("%d",&si.costmoney); printf("請輸入花銷情況:");scanf("%s",m);strcpy(,m); printf("請輸入生活提示:");scanf("%s",m);strcpy(si.livetishi,m); si.allmoney=si.takemoney-si.costmoney; k+; int xianshi()/顯示文件int i;biaotou();if(fp=fopen("huaxia

9、o","rb")=NULL) printf(" Can't Open!n"); exit(0);for(i=0;i<=k;i+) fread(&si,sizeof(struct money),1,fp); printf("%4d %8d %12s %8d %10s %8d %16s n",si.num,si.takemoney,si.day,si.costmoney,,si.allmoney,si.livetishi); fclose(fp);return 0;void save(int

10、m) /保存文件 FILE *fp; int j;if(fp=fopen("C:huaxiao","wb")=NULL) printf("can't open!"); exit(0); for(j=0;j<=m;j+) if(fwrite(&sj,sizeof(struct money),1,fp)!=1) printf("file write errorn"); fclose(fp); printf("nn"); printf(" 保存成功!");/刪

11、除文件void shanchu() int i,j,num,m; printf("請輸入你要刪除的編號:"); scanf("%d",&num); if(fp=fopen("huaxiao","rb")=NULL) printf("Can't Open!"); exit(0); for(i=0;i<=k;i+) fread(&si,sizeof(struct money),1,fp); if(si.num=num) m=i; fclose(fp);if(fp=fop

12、en("huaxiao","rb")=NULL) printf("Can't Open!"); exit(0); for(i=m;i<=k;i+) j=i+1; si.num=sj.num; si.takemoney=sj.takemoney; strcpy(si.day,sj.day); si.costmoney=sj.costmoney; strcpy(,); si.allmoney=sj.allmoney; strcpy(si.livetishi,sj.livetishi); print

13、f("nn"); printf(" 刪除成功! n");fclose(fp);save(k-1);void chaxun() /以編號查詢FILE* fp;int num;int i,m;printf(" 請輸入編號:");scanf("%d",&num);if(fp=fopen("huaxiao","rb")=NULL) printf(" Can't Open!n"); exit(0);for(i=0;i<=k;i+) if(si.

14、num=num) printf(" 查詢到結(jié)果nn"); m=i; biaotou(); for(i=0;i<=k;i+) fread(&sm,sizeof(struct money),1,fp); printf("%4d %8d %12s %8d %10s %16d %s n",si.num,si.takemoney,si.day,si.costmoney,,si.allmoney,si.livetishi); else printf("Not Find!");/密碼登陸void mima() char

15、str16; system("color e4"); if(fp=fopen("mima","wb")=NULL) printf("can't open this file!"); exit(0); printf("請設(shè)定新密碼(6個字符),以回車鍵結(jié)束:"); scanf("%s",str1); strcpy(str2,str1); fwrite(str2,sizeof(str2),1,fp); fclose(fp);/保存/退出顯示void tuichu() sy

16、stem("color e9"); printf("nnn");printf(" *(_)謝謝你的使用(_)*n");/主函數(shù)void main() FILE *fp; int i; int select,m; char str7; int c=2; system("color 5e"); if(b=1) printf(" .你僅有3次機會·n"); if(fp=fopen("mima","wb")=NULL) printf("can&

17、#39;t open this file!"); exit(0); fread(str2,sizeof(str2),1,fp); for(i=0;i<3;i+,c-) printf("請輸入密碼:"); scanf("%s",str); if(strcmp(str2,str)=0) break; else if(c>0) printf("還有%d次機會!n",c); else if(c=0) printf(" 謝謝使用!nn"); exit(0); b-; /fclose(fp); menu(

18、); printf(" 溫馨提示輸入完數(shù)據(jù)請按5進(jìn)行保存n"); printf(" 請選擇所需的項目(以ENTER結(jié)束): "); scanf("%d",&select); switch(select) case 1:printf(" *增加賬戶信息* n");system("cls");huaxiao(); printf("輸入0返回主菜單:");scanf("%d",&m);if(m=0);main();break; case 2:pr

19、intf(" *顯示賬戶信息* n");system("cls");xianshi(); printf("輸入0返回主菜單:");scanf("%d",&m);if(m=0)main();break; case 3:printf(" *刪除賬戶信息* n");system("cls");shanchu(); printf("輸入0返回主菜單:");scanf("%d",&m);if(m=0)main();break; c

20、ase 4:printf(" *查詢賬戶信息* n");system("cls");chaxun(); printf("輸入0返回主菜單: ");scanf("%d",&m);if(m=0)main();break; case 5:printf(" *保存賬戶信息* n");system("cls");save(k); printf("輸入0返回主菜單: ");scanf("%d",&m);if(m=0)main();b

21、reak; case 6:printf(" *登錄密碼修改* n");system("cls");mima(); printf("輸入0返回主菜單: ");scanf("%d",&m);if(m=0)main();break; case 0:printf(" * 退出系統(tǒng) * n");system("cls");tuichu(); break; default: break; /*按鍵有誤,必須為數(shù)值0-9*/ 三、項目主要技術(shù)指標(biāo)(一)代碼應(yīng)盡可能模塊化 無論是面向過程還是面向?qū)ο螅a重用是基本原則之一。代碼編寫可以將具有相近功能的語句或完成一個個具體任務(wù)的語句組織在一起,進(jìn)行模塊化編程。這在以后開發(fā)大型程序的時候,工作的效率就會明顯提高,程序兼容性強。(二)良好的編寫風(fēng)格 一個程序,不

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論