C语言课设Word文档格式.docx

上传人:b****5 文档编号:20666112 上传时间:2023-01-24 格式:DOCX 页数:23 大小:338.75KB
下载 相关 举报
C语言课设Word文档格式.docx_第1页
第1页 / 共23页
C语言课设Word文档格式.docx_第2页
第2页 / 共23页
C语言课设Word文档格式.docx_第3页
第3页 / 共23页
C语言课设Word文档格式.docx_第4页
第4页 / 共23页
C语言课设Word文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言课设Word文档格式.docx

《C语言课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课设Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

C语言课设Word文档格式.docx

1.2总体结构

本程序主要分为四个模块(功能模块图见图1.1):

客户资料添加与操作模块,存取款办理模块,存取款查询模块,关于模块。

客户资料添加与查询模块①、确定4个主功能实现较周全的功能要求。

②、采用了结构化程序设计思想。

③、为更好的实现功能的选择使每次次级操作后能方便的返回主界面,在主函数里用到了while

(1)这样函数,再在里面用到几个break就实现了返回主界面的功能。

④、从客户文件记录的客户地址、客户电话、当前金额等到客户存取款记录的办理时间、办理人、存取金额等全部囊括在同一个名为cou结构体类型中。

存取款办理和查询模块:

很好的实现了客户选择功能。

图1.1功能模块图

第2章详细设计

2.1主模块

控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块,实现各项功能,流程如图2.1所示。

图2.1主模块流程图

注释:

1在主函数外定义了voidkehu();

来执行客户文件操作;

2.局部变量intm;

用来在主和其他函数中进行SWITCH选择判断。

3.全局的结构体型数组w,为相关文件提供了较灵活的存取空间。

2.2客户添加与操作

管理客户信息

图2.2客户添加与操作模块流程图

注释:

1.w为存储卡号的结构体数组;

2.在主函数外定义了voidkehu();

3.全局变量longt;

用于记录客户卡号;

4.charr[20],b[20],c[20];

都为记录客户姓名的一维数组,用在生成客户以及存取款文件和读取客户文件。

2.3存取款办理模块

图2.3存取款办理模块流程图

1.cunq1()函数用于操作客户存取款办理;

2.m进行功能选择。

2.4存取款查询

图2.4存取款查询模块流程图

第3章调试分析

问题1;

如何对客户各种详细资料进行表示。

方案:

用结构体这样的数据类型。

问题2:

对客户资料打印时,不能正确的打印出所要的数据。

要把文件资料从文件读取到缓冲区,引用fread函数。

问题3:

在写入客户卡号时,但卡号上限为245却未得到很好的解决。

用fwrite(&

h,4,1,fp);

这样的语句,h已经被定义为long型变量,只要注意一下卡号并不影响程序的运行。

问题4:

在应用清空数据的清屏函数system(“cls”);

时不能被识别。

定义清屏函数的头文件。

问题5:

定义客户资料voidkehu();

时,忘加“;

”。

加上“;

问题6:

结构体数组couw[200]中没有添加保留字符。

添加保留字符structcouw[200]。

第4章使用说明与执行结果

银行存取款管理系统功能选择:

在程序的开始录入客户信息,以当前金额输入为结束:

客户存款办理:

客户资料修改:

返回主界面或退出

参考文献

[1]张长海.C语言程设计[M].北京:

高等教育出版社,2006

[2]谭浩强.C语言设计教程.北京:

清华大学出版社,2008

[3]杨开城,张志坤.C语言程序设计教程.实验与练习.北京:

人民邮电出版社,2002

[4]苏小红等.C语言大学实用教程(第2版).北京电子工业出版社

[5]吴文虎.程序设计基础(第二版).北京:

清华大学出版社

[6](美)DeitelHM,DeitelPJ著.C程序设计教程.薛万鹏等译.北京:

机械工业出版社,200

附录(程序清单)

#include<

stdio.h>

stdlib.h>

string.h>

voidkehu();

voidkehu1(structcoup[],char*re,long*h);

/*把顾客资料从文件读到缓冲区*/

voidkehu2(structcou*p,char*re,longh);

/*客户资料输入*/

voidkehu3(structcou*p,char*re,longh);

/*新客户资料输入*/

voidkehu4(structcou*p,char*re,longh);

/*资料清除*/

voidkehup(structcou*p,char*re,long*h);

/*打印顾客资料*/

voidcunq1();

voidcunq11(structcou*p,char*re,longh);

/*客户存款资料的键入*/

voidcunq12(structcou*p,char*re,longh);

/*客户取款资料的键入*/

voidcunq2();

voidcunq211(structcoup[],char*re,long*h);

/*把顾客存款资料从文件读到缓冲区*/

voidcunq212(structcou*p,char*re,long*h);

voidcunq221(structcoup[],char*re,long*h);

/*把顾客取款资料从文件读到缓冲区*/

voidcunq222(structcou*p,char*re,long*h);

voidhelp();

longt;

structcou

{

longb;

charx[20];

longm;

chara[50];

longd;

floatj;

longbc;

charjin[20];

charjin2[20];

chart[20];

floatj1;

floatj2;

floatj3;

floatj4;

};

structcouw[200];

voidmain()

intm;

while

(1)

{

system("

cls"

);

/*清屏函数清除数据*/

printf("

\n"

printf("

\n银行存取款管理系统\n"

功能选择\n"

一.客户添加与操作二.存取款办理三.存取款查询四.关于\n"

\n\n"

printf("

请按相应的数字选择您的需要\n"

scanf("

%d"

&

m);

switch(m)

case1:

kehu();

break;

case2:

cunq1();

case3:

cunq2();

case4:

help();

}

getchar();

\n\n\n\n\n按回车键返回主界面..."

}

voidkehu()

charr[20],b[20],c[20];

longh,k;

system("

\n客户文件1客户资料查询"

\n2客户资料添加"

\n3客户资料修改"

\n4客户资料删除"

\n5后退\n\n"

按相应的数字以选择您的需要\n"

scanf("

1客户资料查询\n"

\n"

请输入您要查询的客户的姓名:

%s"

b);

kehu1(w,b,&

t);

/*从文件读到缓冲区*/

kehup(w,b,&

/*打印*/

break;

2客户资料添加\n"

请输入新客户的姓名和卡号(1-245)\n"

请输入姓名:

r);

请输入卡号:

%ld"

h);

kehu2(w,r,h);

/*把数据从缓冲区输入到文件*/

3客户资料修改\n"

\n请输入您要修改的客户的姓名和卡号\n"

c);

k);

kehu3(w,c,k);

/*把新数据从缓冲区输入到文件*/

客户资料删除\n"

\n请输入您要删除的客户姓名和卡号\n"

kehu4(w,c,k);

/*把0数据从缓冲区输入到文件*/

case5:

default:

fprintf(stderr,"

输入有误!

"

voidkehu1(structcoup[200],char*re,long*h)

FILE*fp;

fp=fopen(re,"

rb"

fread(h,4,1,fp);

fread(&

p[*h],sizeof(structcou),1,fp);

fclose(fp);

voidkehup(structcou*p,char*re,long*h)

客户【%s】详细资料\n"

re);

客户卡号"

%ld\n"

*h);

客户密码"

p[*h].m);

客户电话"

p[*h].d);

客户地址"

%s\n"

p[*h].a);

账户当前金额"

%.2f\n"

p[*h].j);

voidkehu2(structcou*p,char*re,longh)

FILE*fp;

wb"

fwrite(&

h,4,1,fp);

请键入顾客【%s】

(卡号【%ld】)的客户资料:

re,h);

p[h].b=h;

\n客户密码:

p[h].m);

\n客户地址:

p[h].a);

\n客户电话:

只接受10位以下的号码\n"

p[h].d);

\n客户当前金额:

建议不要使账户满100万\n"

%f"

p[h].j);

p[h],sizeof(structcou),1,fp);

voidkehu3(structcou*p,char*re,longh)

\n请键入顾客【%s】

(卡号【%ld】)的新的客户资料:

\n修改后客户密码:

\n修改后客户地址:

\n修改后客户电话:

fclose(fp);

voidkehu4(structcou*p,char*re,longh)

\n\n\n\n请输入0键以清除:

p[h].m=0;

p[h].d=0;

p[h].j=0;

p[h].bc=0;

voidcunq1()

{

charg[20];

longm1;

\n1.存款办理2.取款办理3.后退\n"

\n\n按相应的数字以选择您的需要\n"

1.存款办理\n"

m1);

请输入办理存款业务的客户的姓名和卡号(1-245)\n\n"

输入客户姓名:

g);

输入客户卡号:

取款办理\n"

请输入办理取款业务的客户的姓名和卡号(1-245)\n\n"

cunq12(w,g,m1);

}

voidcunq11(structcou*p,char*re,longh)

存款办理\n\n"

(卡号%ld)的存款明细:

请输入存款流水号:

p[h].bc);

请输入存款数目(建议不要一次存超过百万):

p[h].j1);

p[h].j2=p[h].j+p[h].j1;

p[h].j=p[h].j2;

经办人:

p[h].jin);

办理时间(形如2012年06月2日):

p[h].t);

voidcunq12(structcou*p,char*re,longh)

取款办理\n\n"

(卡号%ld)的取款明细:

┄┅┄┅请输入取款流水号:

请输入取款数目(建议不要一次存超过百万):

p[h].j3);

p[h].j4=p[h].j-p[h].j3;

p[h].j=p[h].j4;

┄┅┄┅经办人:

p[h].jin2);

}

voidcunq2()

charv[20];

1.存款查询2.取款查询3后退\n\n"

按相应的数字以选择您的需要---------\n"

switch(m){

v);

cunq211(w,v,&

cunq212(w,v,&

/*注意*/

case2:

取款查询\n"

请输入您要查询的客户的姓名:

cunq221(w,v,&

cunq222(w,v,&

case3:

default:

voidcunq211(structcoup[],char*re,long*h)

voidcunq212(structcou*p,char*re,long*h)

客户【%s】存款明细\n"

客户卡号"

存款流水号"

p[*h].bc);

类别"

存款\n"

存款数目"

p[*h].j1);

账户当前总金额"

p[*h].j2);

经办人"

p[*h].jin);

客户地址"

办理时间"

p[*h].t);

voidcunq221(structcoup[],char*re,long*h)

FILE*fp;

fclose(fp);

voidcunq222(structcou*p,char*re,long*h)

客户[%s]取款明细\n"

printf("

客户卡号"

取款流水号"

类别"

取款\n"

取款数目"

p[*h].j3);

账户当前总金额"

p[*h].j4);

经办人"

p[*h].jin2);

办理时间"

voidhelp()

{

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"

┃┃\n"

┃产品介绍与说明┃\n"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1