版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言課程設(shè)計(jì)任務(wù)書及指導(dǎo)書3題目:銀行存取款管理設(shè)計(jì)功能:1、能夠輸入和查詢客戶存款取款記錄。在客戶文件中,每個(gè)客戶信息是一條記錄,包括編號(hào)、客戶姓名、支取密碼、客戶地址、客戶電話、賬戶總金額;在存取款文件中,每次存取款是一條記錄,包括編號(hào)、日期、類別、存取數(shù)目、經(jīng)辦人。類別分為取款和存款兩種。本系統(tǒng)能夠輸入客戶存款或取款記錄;根據(jù)客戶姓名查詢存款和取款記錄。2、保存:將相關(guān)數(shù)據(jù)寫入磁盤文件,便于存、取操作。分步實(shí)施:1、初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話界面,確定函數(shù)個(gè)數(shù);2、完成信息的錄入(即通過編程創(chuàng)建文件,輸入客戶信息并可將文件內(nèi)容顯示出來)3、完成存取款功能(即通過編程創(chuàng)建文
2、件,用來記錄存取款信息并可將文件內(nèi)容顯示出來)4、完成修改功能,輸入客戶編號(hào)可以修改該客戶的信息5、進(jìn)一步要求:完成客戶姓名查詢存款和取款記錄,并可顯示帳戶余額。要求:1、用C語(yǔ)言實(shí)現(xiàn)系統(tǒng);2、利用結(jié)構(gòu)體進(jìn)行相關(guān)信息處理;3、系統(tǒng)的各個(gè)功能模塊要求用函數(shù)的形式實(shí)現(xiàn);4、界面友好(良好的人機(jī)交互),程序要有注釋。課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告要求:1、預(yù)習(xí)報(bào)告:仔細(xì)分析客戶需求、進(jìn)行模塊劃分、設(shè)計(jì)每個(gè)模塊的算法和數(shù)據(jù)結(jié)構(gòu)。2、實(shí)驗(yàn)總結(jié)報(bào)告:按照模板的格式。一、總體設(shè)計(jì)1先簡(jiǎn)單分析客戶需求,畫模塊設(shè)計(jì)圖和菜單設(shè)計(jì)圖,例如下圖形式:2. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)1)自定義的數(shù)據(jù)類型:客戶存取款信息的記錄項(xiàng)用結(jié)構(gòu)體studen
3、t表示,包括5個(gè)屬性:name,sex,age,addr,num分別代表客戶姓名,性別,年齡,住址以及客戶存取款數(shù)目。struct studentchar abcd10,name20,sex; /客戶賬號(hào),姓名,性別int age; /客戶年齡char addr30; /客戶住址long int num; /存取款數(shù)目;2)文件:設(shè)計(jì)了*.*文件,是為了長(zhǎng)期保存數(shù)據(jù)還設(shè)計(jì)了*.*文件,是為了長(zhǎng)期保存數(shù)據(jù);之所以選擇使用二進(jìn)制文件類型(或文本文件),是基于以下考慮:3)全局變量: 寫出重要的全局變量及其含義(如果沒有全局變量,則不寫)3. 函數(shù)原型設(shè)計(jì)寫出你每一個(gè)函數(shù)的原形設(shè)計(jì)(而不是源代碼),
4、例如:銀行存取款管理系統(tǒng)采用結(jié)構(gòu)化程序設(shè)計(jì)的思想,從4個(gè).h頭文件和3個(gè).c源文件組成。程序中除了主函數(shù)外一共設(shè)計(jì)了一下7個(gè)函數(shù),分別包含在3個(gè).c源文件中。一下是這些函數(shù)的函數(shù)原型和設(shè)計(jì)功能。1) void inputing(student *p);函數(shù)功能:輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)2) void input (student *p,int i);函數(shù)功能:輸入函數(shù).輸入客戶的基本信息,包括客戶姓名,性別年齡,住址等3) void insert (student *p,int i);函數(shù)功能:插入函數(shù).插入要輸入客戶的基本信息4) void output(student *p,in
5、t i);函數(shù)功能:輸出函數(shù),將需要的客戶信息以列表的形式顯示在屏幕上5) void insert (student *p,int i);函數(shù)功能:排序函數(shù),按照要求將見客戶存取款信息以賬號(hào)大小的順序排列出來6) void find (student *p,int n);7) 函數(shù)功能:查找函數(shù),按要求通過輸入客戶姓名的方式查詢后客戶存取款信息8) void del (student *p,int n);函數(shù)功能:刪除函數(shù)。通過輸入要?jiǎng)h除的客戶姓名,查詢后刪除客戶存取款信息1)二、算法設(shè)計(jì)(分別畫各個(gè)函數(shù)的傳統(tǒng)流程圖,參考課本第2章的規(guī)范畫法。)1.*函數(shù)的流程圖2. *函數(shù)的流程圖3.三、調(diào)
6、試中的問題及解決方法本系統(tǒng)在VC6下編譯調(diào)試通過,可順利運(yùn)行,各項(xiàng)功能達(dá)到設(shè)計(jì)要求。本系統(tǒng)程序由4個(gè).h頭文件和3個(gè).c源文件構(gòu)成。系統(tǒng)調(diào)試主要在VC+6.0下進(jìn)行,采用分模塊調(diào)試的方法進(jìn)行編譯,即完成一個(gè)函數(shù)功能模塊就編譯一個(gè)功能模塊,最后再進(jìn)行整體編譯并生成可執(zhí)行文件 Student.exe。在調(diào)試的過程中,主要碰到了以下問題:1、清屏函數(shù)在 TC 中使用的 clrsrc() 函數(shù),但在VC6中沒有該函數(shù)也沒有相應(yīng)的函數(shù)。查資料,發(fā)現(xiàn)在VC中可使用 system() 函數(shù)調(diào)用系統(tǒng)命令 cls 實(shí)現(xiàn)。2、在使用C語(yǔ)言系統(tǒng)函數(shù)進(jìn)行數(shù)據(jù)輸入的時(shí)候,發(fā)現(xiàn)使用getchar()和gets()函數(shù)輸入
7、字符和字符串的時(shí)候,系統(tǒng)經(jīng)常跳過相應(yīng)的輸入語(yǔ)句,無法輸入數(shù)據(jù)。查資料,是C系統(tǒng)的輸入處理的輸入緩存問題,解決方法是在進(jìn)行字符和字符串輸入的時(shí)候,先使用fflush(stdin) 函數(shù)清除輸入緩存,即可正常輸入字符和字符串。五、用戶手冊(cè)本系統(tǒng)是WIN32控制臺(tái)程序,可在WINDOW和DOS環(huán)境下運(yùn)行,執(zhí)行文件名稱:Student.exe。運(yùn)行程序后,首先顯示系統(tǒng)信息和版權(quán)信息,用戶按任意鍵后進(jìn)行主功能菜單。在主功能菜單中輸入相應(yīng)的數(shù)字可執(zhí)行相應(yīng)的程序功能,包括錄入客戶存取款信息、修改客戶存取款信息、刪除客戶存取款信息和輸出所有客戶存取款信息,輸入4可進(jìn)行查詢子菜單,可進(jìn)行按學(xué)號(hào)查詢和按年級(jí)查詢學(xué)
8、生信息。在主功能菜單按7可結(jié)束本系統(tǒng)的運(yùn)行并自動(dòng)關(guān)閉運(yùn)行窗口。六、程序代碼:/*銀行存取款管理系統(tǒng)*#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>/自定義結(jié)構(gòu)體程序struct studentchar acad10,name20,sex; /客戶賬號(hào),姓名,性別int age; /客戶年齡char addr30; /客戶住址long int num,n; /存款數(shù)目/取款數(shù)目; void inputing(student *p);/聲明輸入函數(shù)中的輸
9、數(shù)據(jù)部分并保存的函數(shù)void input(student *p,int i);/聲明輸入函數(shù)void insert(student *p,int i);/聲明插入函數(shù)void output(student *p,int i);/聲明輸出函數(shù)void sort(student *p,int n);/聲明排序函數(shù)void find(student *p,int n);/聲明查找函數(shù)int del(student *p,int n);/聲明修改函數(shù)void main() system("color 34");student *q=NULL;/自定義類型指針int i=0,j,k,
10、b=0;do/ t橫向跳到下一指標(biāo)位置printf("tt|-|n");printf("tt|-一銀行存取款管理系統(tǒng)-|n");printf("tt| |n");printf("tt|-|n");printf("tt| 1.輸入客戶信息 2.添加客戶信息 |n");printf("tt| 3.排序客戶信息 4.查找客戶信息 |n");printf("tt| 5.修改客戶信息 6.顯示客戶信息 |n");printf("tt| 7.退出系統(tǒng) |n&
11、quot;);printf("tt|-|n");printf("tttt請(qǐng)選擇菜單: ");scanf("%d",&j);switch(j)case 1:b+;if(b!=1)printf("你已經(jīng)輸入過一次了,不能再選擇,加入可以選擇<2.添加客戶信息>n");break;elseprintf("請(qǐng)輸入要輸入的客戶人數(shù):");scanf("%d",&i);while(b<=0)printf("輸入錯(cuò)誤,請(qǐng)重新輸入要輸入的客戶人數(shù):
12、");scanf("%d",&i);q=(student *)malloc(i*sizeof(student);/ 指針以結(jié)構(gòu)體指針類型方式賦值給qinput(q,i);/調(diào)用輸入函數(shù)break;case 2:i+;q=(student *)realloc(q,i*sizeof(student);insert(q,i-1);/調(diào)用插入函數(shù)break;case 3:sort(q,i);/調(diào)用排序函數(shù)break;case 4:find(q,i);/調(diào)用查找函數(shù)break;case 5:k=del(q,i);/調(diào)用修改函數(shù)if(k=1)i-;q=(student
13、 *)realloc(q,i*sizeof(student);break;case 6:output(q,i);/調(diào)用輸出函數(shù)break;case 7:printf("程序即將退出.n");break;default:printf("菜單選擇錯(cuò)誤!");while(j!=7);free(q);/輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)void inputing(student *p)printf("請(qǐng)輸入客戶賬號(hào):");scanf("%s",p->acad);printf("請(qǐng)輸入客戶姓名:")
14、;scanf("%s",p->name);printf("輸入客戶住址:");scanf("%s",&(p->addr);doprintf("輸入客戶性別<m:男/w:女>:");fflush(stdin);/刷新標(biāo)準(zhǔn)輸入緩沖區(qū),把輸入緩沖區(qū)里的東西丟棄scanf("%c",&(p->sex);if(p->sex!='m'&&p->sex!='w')printf("輸入錯(cuò)誤,重新&
15、quot;);while(p->sex!='m'&&p->sex!='w');doprintf("輸入客戶年齡:");scanf("%d",&(p->age);if(p->age<1|p->age>100)printf("輸入錯(cuò)誤,重新");while(p->age<1|p->age>100);doprintf("輸入客戶存款數(shù)目:");scanf("%ld",&(p
16、->num);if(p->num<0|p->num>1000000)printf("輸入錯(cuò)誤,重新");while(p->num<0|p->num>1000000);doprintf("輸入客戶取款數(shù)目:");scanf("%ld",&(p->n);if(p->n<0|p->n>1000000)printf("輸入錯(cuò)誤,重新");while(p->n<0|p->n>1000000);void save
17、 ()FILE*fp;int i,N;if(fp=fopen("c:student.tet","wb")=NULL)printf("cannot open filen");return;for(i=0;i<N;i+)if(fwrite(&i,sizeof(struct student),1,fp)!=1)printf("fille write erron");fclose(fp);/輸入函數(shù)void input(student *p,int i)int x;for(x=0;x<i;x+,p+)p
18、rintf("請(qǐng)輸入第%d名客戶存取款信息:n",x+1);inputing(p);/調(diào)用輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)printf("n");/輸出函數(shù)void output(student *p,int i)printf("賬號(hào)t姓名t性別t年齡t住址t存款數(shù)目t取款數(shù)目");int x=0;for(x=0;x<i;x+,p+)printf("%st%st%ct%dt%st%ldt%1dtn",p->acad,p->name,p->sex,p->age,p->addr,p
19、->num,p->n);printf("n");/插入函數(shù)void insert(student *p,int i)p=p+i;printf("請(qǐng)輸入要插入的客戶存取款信息:n");inputing(p);/調(diào)用輸入函數(shù)中的輸數(shù)據(jù)部分并保存的函數(shù)printf("n");/排序函數(shù)void sort(student *p,int n)student t;int i,j;printf("要求按賬號(hào)從小到大排序.n");for(i=0;i<n-1;i+)for(j=0;j<n-i-1;j+)if(
20、strcmp(p+j)->acad,(p+j+1)->acad)=1)t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;output(p,n);/查找函數(shù)void find(student *p,int n)student t;int i=0;printf("要求按客戶姓名查找:");printf("請(qǐng)輸入要查找的姓名:");scanf("%s",);for(i=0;i<n;i+)if(strcmp(,(p+i)->name)=0)break;if(i>=n)
21、printf("查找的姓名是%s的客戶,沒有找到!n",);elseprintf("查找的姓名是%s的客戶,是所輸入的客戶中的%d個(gè)客戶.n",,i+1);printf("賬號(hào)t姓名t性別t年齡t住址t存款數(shù)目t取款數(shù)目");printf("%st%st%ct%dt%st%ldt%1dtn",p->acad,p->name,p->sex,p->age,p->addr, p->num,p->n);/修改函數(shù)int del(student *p,int
22、n)student t;int i=0,j;char ch;printf("要求按客戶編號(hào)修改:");printf("輸入要修改的客戶的編號(hào):");scanf("%s",t.acad);for(i=0;i<n;i+)if(strcmp(t.acad,(p+i)->acad)=0)break;if(i>=n)printf("修改的編號(hào)是%s的客戶,沒有找到.n",t.acad);return 0;elseprintf("修改的姓名是%s的客戶,是所輸入的客戶中的%d個(gè)客戶.n",
23、,i+1);printf("要修改的客戶存取款信息:n");scanf("%c",&ch);printf("請(qǐng)輸入客戶姓名:");scanf("%s",p->name);printf("輸入客戶住址:");scanf("%s",&(p->addr);doprintf("輸入客戶性別<m:男/w:女>:");fflush(stdin);/刷新標(biāo)準(zhǔn)輸入緩沖區(qū),把輸入緩沖區(qū)里的東西丟棄scanf("%c",&(p->sex);if(p->sex!='m'&&p->sex!='w')printf("輸入
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度離婚雙方子女撫養(yǎng)責(zé)任分配協(xié)議書3篇
- 配股協(xié)議書三篇
- 二零二五年度個(gè)人傭金收益分成合同3篇
- 二零二五版?zhèn)€人合伙教育培訓(xùn)機(jī)構(gòu)退伙分割協(xié)議4篇
- 二零二五年度個(gè)人與個(gè)人教育貸款合同
- 2025版綠色環(huán)保家庭析產(chǎn)分家協(xié)議書:綠色財(cái)富傳承計(jì)劃3篇
- 二零二五年度城市軌道交通項(xiàng)目投資合作協(xié)議范本2篇
- 二零二五年度國(guó)際商務(wù)日語(yǔ)談判團(tuán)隊(duì)建設(shè)與管理合同3篇
- 二零二五版物流配送勞務(wù)合同標(biāo)準(zhǔn)文本3篇
- 2025版物業(yè)公司崗位安全責(zé)任書:物業(yè)服務(wù)安全責(zé)任書(2025年)3篇
- 杭州市房地產(chǎn)經(jīng)紀(jì)服務(wù)合同
- 2024年大宗貿(mào)易合作共贏協(xié)議書模板
- 新聞?dòng)浾咦C600道考試題-附標(biāo)準(zhǔn)答案
- TSG ZF001-2006《安全閥安全技術(shù)監(jiān)察規(guī)程》
- 中考語(yǔ)文二輪復(fù)習(xí):記敘文閱讀物象的作用(含練習(xí)題及答案)
- 老年外科患者圍手術(shù)期營(yíng)養(yǎng)支持中國(guó)專家共識(shí)(2024版)
- 子宮畸形的超聲診斷
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉(cāng)庫(kù)組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- DB11∕T 2035-2022 供暖民用建筑室溫?zé)o線采集系統(tǒng)技術(shù)要求
- 《復(fù)旦大學(xué)》課件
評(píng)論
0/150
提交評(píng)論