搜档网
当前位置:搜档网 › C语言课程设计报告(银行存取款管理设计)

C语言课程设计报告(银行存取款管理设计)

C语言课程设计报告(银行存取款管理设计)
C语言课程设计报告(银行存取款管理设计)

错误!未找到目录项。

C程序课程设计报告

题目车票管理系统

院别数学与计算机学院班级

姓名学号

指导教师邓永江

二○一五年六月

预习报告

一:设计题目

银行存取款管理设计

二:功能要求

①能够添加和修改以及删除客户文件。(在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额)。 ②能够输入和查询客户存款取款记录。(在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种)。

③能够给程序提供运行提示。

三:设计要求

①、用C 语言实现系统;

②、函数功能要划分好(结构化程序设计); ③、界面友好(良好的人机交互),加必要的注释;

④、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能

运行起来,不能运行的程序是没有价值的。

四:设计目的

①、通过这次课程设计,使我们更加深入地理解和掌握C 语言基本概念,切身体会用结构化程序设计的工程思想,感受C 语言的魅力。

②、通过这次课程设计,培养我们独立思考、勇于探索、积极创新、严谨求实、有过必改的工作态度以及较熟的上级操作能力,同时加强我们团结友爱,协作攻关的团队合作意识。

五:设计框架图

void main():在里面写了“功能选择”的SWITCH函数;

void kehu();客户资料添加与操作主菜单;void kehu1(struct cou p[],char *re,long *h); 客户资料查询函数;

void kehu2(struct cou *p,char *re,long h);客户资料添加函数;

void kehu3(struct cou *p,char *re,long h); 客户资料修改函数;

void kehu4(struct cou *p,char *re,long h); 客户资料清楚函数;

void kehup(struct cou *p,char *re,long *h); 客户资料打印函数;

void cunq1(); 存取款办理选择主菜单;

void cunq11(struct cou *p,char *re,long h);客户存款资料的键入;

void cunq12(struct cou *p,char *re,long h); 客户取款资料的键入;

void cunq2();存取款选择查询主菜单;

void cunq211(struct cou p[],char *re,long *h);把顾客存款资料从文件读到缓冲

区;

void cunq212(struct cou *p,char *re,long *h);打印存款资料;

void cunq221(struct cou p[],char *re,long *h);把顾客取款资料从文件读到缓冲

区;

void cunq222(struct cou *p,char *re,long *h);打印取款资料;

void help(); 使用说明模块。

㈡变量

①全局的结构体型数组w(用来存放200多个结构体变量):

extern struct cou

{

long b;

char x[20];

long m;

char a[50];

long d;

float j;

long bc;

char jin[20];

char jin2[20];

char t[20];

float j1;

float j2;

float j3;

float j4;

} w[200];

②局部变量int m;用来在主和其他函数中进行SWITCH选择判断;

③全局变量long t;用于记录客户卡号,而卡号是在整个程序中都要用到的,因为是全局变量,所以一个客户的卡号不能变更。

④char r[20],b[20],c[20];都为记录客户姓名的一维数组,用在生成客户以及存取款文件和读取客户文件以及存取款文件;

七:函数调用流程图(客户资料添加与查询部分)

注:上叙具体函数功能见六(一)函数说明八:客户资料添加与查询部分的设计思想

①、由于是银行存取款管理设计,考虑到要有较周全的功能要求,所以在设计之初就对最终成品的功能进行了较为详细的布局,最终确定了4个主功能(见源代码)。

②、采用了结构化程序设计思想,在主函数外定义了void kehu();(客户文件操作)、void cunq1();(存取款办理)、void cunq2();(存取款查询)、void help();(使用帮助)以及他们的嵌套函数,使产品功能更加健全。

③、对于如何使每次次级操作后能方便的返回主界面,我们在主函数里用到了while(1)这样函数,再在里面用到几个break;就实现了返回主界面的功能。

④、对于客户及存取款记录的保存我们在这里用到了用FILE类型定义文件指针,从而来以文件形式存放数据,而又用到fopen函数打开文件,用fclose 关闭文件,释放文件缓冲区;又用到fwrite函数使数据写入到磁盘保存,用fread函数把数据拉到缓冲区。

⑤、对于如何使客户文件和客户存取款记录很灵活的结合到一起,我们在主函数前面构造了一个具有多个成员的结构体,从客户文件记录的客户地址、客户电话、当前金额等到客户存取款记录的办理时间、办理人、存取金额等全部囊括在同一个名为cou结构体类型中。

⑥、程序在主函数之前定义了全局的结构体型数组w,为相关文件提供了较为灵活的存取空间,而程序中在fwrite函数之前输入了客户姓名和卡号,这实际上就创建了一个名为所输入客户姓名的文件,从而在资料读取时直接用姓名读取非常方便。

实验总结报告

九:测试方案

方案①、可以直接打开所给的名为“银行存取款及客户资料管理系统.exe”应用程序进行操作,而操作是纯键盘式的,建议先添加客户文件,或者先查看“关于”中的帮助。

方案②、如果是对源代码进行操作,可以双击名为“银行存取款及客户资料管理系统.c”的.c文件,进入C++运行环境,按“重新组建”,然后点击运行按

钮“!”,运行成功,便可进入主界面,相关操作见上。而这同时C++又在后台生成了.exe文件,这就是我们所需要的应用程序。

十:调试中问题及解决方案

调试过程并不是一帆风顺的,比如

①、如何对客户各种详细资料进行表示,之前我们并没有想到用结构体,然后再写程序过程中遇到诸多困难,一段时间之后,组员进行仔细研究,并查阅相关书籍,最终确定了用结构体这样便捷的数据类型,而这一决定也为后续工作指明了方向;

②、对客户资料的打印,因为没有注意到要把文件资料从文件读取到缓冲区,因而始终不能正确的打印出所要的数据,而最终在组员的一致努力下,察觉到问题,然后fread函数被用到,这问题迎刃而解;

③、在程序编写过程中,由于时间关系,难免还有些问题尚未解决,我们不怕暴露问题,我们只求进步。比如说在写入客户卡号时,用到fwrite(&h,4,1,fp);这样的函数语句,虽然h已经被我们定义为long型变量,然为什么上限为245至今尚未得到很好的解决。但这并不影响我们程序的运行,只要稍微注意一下卡号,程序还是很理想的。

十一:心得与体会

这次的C语言课程设计我们付出不少,一次一次的编写,一次次的修改,花了不少时间,甚至有时也用上了休息时间。但我们的收获是那些付出比量不了的。在一次次的调试与失败中,我们更加坚强,更加专注。在团队合作过程中也发生过小小的矛盾,但这些终被我们克服,从而转化为难得的友谊,而又使我们对团队这个概念的认识又上升到一个新的高度。其实一切的一切,都没有知识来的重要,在这次课程设计过程中我们查阅了大量的资料,而有些是书本上都较少提到的,而这些给我们的便是知识,无形的宝贵财富。

最后,老师提供给我们这次难得的课程实习机会,我们是受益匪浅的,当看到一个完整的应用程序出现在我们面前,作为一个初涉软件的学徒来说,又何尝不是感慨万千呢?我们深怀感恩,一路前行,软件工程,我们来了!

十二:附源程序清单

#include

#include

void kehu();

void kehu1(struct cou p[],char *re,long *h); /*(把顾客资料)从文件读到缓冲区*/

void kehu2(struct cou *p,char *re,long h); /*客户资料输入*/

void kehu3(struct cou *p,char *re,long h); /*新客户资料输入*/

void kehu4(struct cou *p,char *re,long h); /* 资料清除*/

void kehup(struct cou *p,char *re,long *h); /*打印顾客资料*/

void cunq1();

void cunq11(struct cou *p,char *re,long h); /*客户存款资料的键入*/

void cunq12(struct cou *p,char *re,long h); /*客户取款资料的键入*/

void cunq2();

void cunq211(struct cou p[],char *re,long *h); /*(把顾客存款资料)从文件读

到缓冲区*/

void cunq212(struct cou *p,char *re,long *h);

void cunq221(struct cou p[],char *re,long *h); /*(把顾客取款资料)从文件读

到缓冲区*/

void cunq222(struct cou *p,char *re,long *h);

void help();

long t;

extern struct cou

{

long b;

char x[20];

long m;

char a[50];

long d;

float j;

long bc;

char jin[20];

char jin2[20];

char t[20];

float j1;

float j2;

float j3;

float j4;

};

struct cou w[200];

void main()

{

int m;

while(1)

{

system("cls");

printf("\n▂▃▂▃▂▃▂▃▂▃▃银行存取款管理系统▂▃▂▃▃▂▃▂▃▂▃▂\n"); printf("…………………………………【功能选择】……………………………………\n"); printf(" 一:客户添加与操作二:存取款办理三:存取款查询四:关于\n"); printf("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"); printf("------------------------------------------------请按相应的数字选择您的需要------\n"); scanf("%d",&m);

switch(m)

{

case 1:kehu();break;

case 2:cunq1();break;

case 3:cunq2();break;

case 4:help();break;

}

getchar();

printf("\n\n\n\n\n ┄┅┄┄┄┅┄┅按回车键返回主界面..."); getchar();

}

void kehu()

{

int m;

char r[20],b[20],c[20];

long h,k;

system("cls");

printf("\n▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄");

printf("\n 客户文件:1:客户资料查询");

printf("\n 2:客户资料添加");

printf("\n 3:客户资料修改");

printf("\n 4:客户资料删除");

printf("\n 5:后退\n\n");

printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("-------------------------------------------------按相应的数字以选择您的需要-----\n");

scanf("%d",&m);

switch(m)

{

case 1:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍1:客户资料查询▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

printf(" ┭┮┯┬┭请输入您要查询的客户的姓名:\n");

scanf("%s",b);

kehu1(w,b,&t); /*从文件读到缓冲区*/

kehup(w,b,&t); /*打印*/

break;

case 2:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍2:客户资料添加▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

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

printf("┅┄┅┄请输入姓名:\n");

scanf("%s",r);

printf("┅┄┅┄请输入卡号:\n");

scanf("%ld",&h);

kehu2(w,r,h); /*把数据从缓冲区输入到文件*/

break;

case 3:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍3:客户资料修改▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

printf("\n▄▄▄▄▄请输入您要修改的客户的姓名和卡号▄▄▄▄▄:\n");

printf("┅┄┅┄请输入姓名:\n");

scanf("%s",c);

printf("┅┄┅┄请输入卡号:\n");

scanf("%ld",&k);

kehu3(w,c,k); /*把新数据从缓冲区输入到文件*/

break;

case 4:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍4:客户资料删除▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

printf("\n▄▄▄▄▄请输入您要删除的客户姓名和卡号▄▄▄▄▄:\n");

printf("┅┄┅┄请输入姓名:\n");

scanf("%s",c);

printf("┅┄┅┄请输入卡号:\n");

scanf("%ld",&k);

kehu4(w,c,k); /*把0 数据从缓冲区输入到文件*/

break;

case 5:break;

default:

fprintf(stderr,"输入有误!");

}

}

void kehu1(struct cou p[],char *re,long *h)

{ FILE *fp;

system("cls");

fp=fopen(re,"rb");

fread(h,4,1,fp);

fread(&p[*h],sizeof(struct cou),1,fp);

fclose(fp);

}

void kehup(struct cou *p,char *re,long *h)

{

printf(" 客户【%s 】详细资料\n",re);

printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅");

printf("客户卡号");

printf("%ld\n",*h);

printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅");

printf("客户密码");

printf("%ld\n",p[*h].m);

printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┅");

printf("客户电话");

printf("%ld\n",p[*h].d);

printf("┄┅┄┅┅┄┅┄┅┄┅┄┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf("客户地址");

printf("%s\n",p[*h].a);

printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅");

printf("账户当前金额");

printf("%.2f\n",p[*h].j);

printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┄┅┄┅"); }

void kehu2(struct cou *p,char *re,long h)

{

FILE *fp;

system("cls");

fp=fopen(re,"wb");

fwrite(&h,4,1,fp);

printf("▄▄▄▄▄请键入顾客【%s】(卡号【%ld 】)的客户资料:▄▄▄▄▄\n",re,h);

p[h].b=h;

printf("\n┭┮┯┬┭客户密码:\n");

scanf("%ld",&p[h].m);

printf("\n┭┮┯┬┭客户地址:\n");

scanf("%s",p[h].a);

printf("\n┭┮┯┬┭客户电话:(只接受10位以下的号码)\n");

scanf("%ld",&p[h].d);

printf("\n┭┮┯┬┭客户当前金额:(建议不要使账户满100万)\n");

scanf("%f",&p[h].j);

fwrite(&p[h],sizeof(struct cou),1,fp);

fclose(fp);

}

void kehu3(struct cou *p,char *re,long h)

{

FILE *fp;

system("cls");

fp=fopen(re,"wb");

fwrite(&h,4,1,fp);

printf("\n▄▄▄请键入顾客【%s】(卡号【%ld 】)的新的客户资料:▄▄▄\n",re,h);

p[h].b=h;

printf("\n┭┮┯┬┭修改后客户密码:\n");

scanf("%ld",&p[h].m);

printf("\n┭┮┯┬┭修改后客户地址:\n");

scanf("%s",p[h].a);

printf("\n┭┮┯┬┭修改后客户电话:\n");

scanf("%ld",&p[h].d);

fwrite(&p[h],sizeof(struct cou),1,fp);

fclose(fp);

}

void kehu4(struct cou *p,char *re,long h)

{

FILE *fp;

system("cls");

fp=fopen(re,"wb");

fwrite(&h,4,1,fp);

printf("\n\n\n\n ┭┮┭┮┯请输入0键以清除┭┮┭┮┯:\n");

scanf("%s",p[h].a);

p[h].m=0;

p[h].d=0;

p[h].j=0;

p[h].bc=0;

fwrite(&p[h],sizeof(struct cou),1,fp);

fclose(fp);

}

/*--------------------------------------------------------------------------------------------------------*/ void cunq1()

{

int m;

char g[20];

long m1;

system("cls");

printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("\n 1.存款办理 2.取款办理3:后退\n"); printf("\n▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"); printf("\n\n--------------------------------------------按相应的数字以选择您的需要-----\n");

scanf("%d",&m);

switch(m)

{

case 1:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍ 1.存款办理▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

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

printf("┄┅┄┅输入客户姓名:\n");

scanf("%s",g);

printf("┄┅┄┅输入客户卡号:\n");

scanf("%ld",&m1);

cunq11(w,g,m1); /*存款数据输入*/

break;

case 2:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍2:取款办理▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

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

printf("┄┅┄┅输入客户姓名:\n");

scanf("%s",g);

printf("┄┅┄┅输入客户卡号:\n");scanf("%ld",&m1);

cunq12(w,g,m1);

break;

case 3:break;

default:

fprintf(stderr,"输入有误!");

}

}

void cunq11(struct cou *p,char *re,long h)

{

FILE *fp;

system("cls");

fp=fopen(re,"wb");

fwrite(&h,4,1,fp);

printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf(" 存款办理\n\n");

printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("▂▂▂▂▂请键入顾客【%s】(卡号%ld ) 的存款明细:▂▂▂▂▂▂\n",re,h); printf("┄┅┄┅请输入存款流水号:\n");

scanf("%ld",&p[h].bc);

printf("┄┅┄┅请输入存款数目(建议不要一次存超过百万):\n");

scanf("%f",&p[h].j1);

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

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

printf("┄┅┄┅经办人:\n");

scanf("%s",p[h].jin);

printf("┄┅┄┅办理时间(形如2012年06月2日):\n");

scanf("%s",p[h].t);

fwrite(&p[h],sizeof(struct cou),1,fp);

fclose(fp);

}

void cunq12(struct cou *p,char *re,long h)

{

FILE *fp;

system("cls");

fp=fopen(re,"wb");

fwrite(&h,4,1,fp);

printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf(" 取款办理\n\n");

printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf("▂▂▂▂请键入顾客【%s】(卡号%ld ) 的取款明细:▂▂▂▂▂\n\n",re,h); printf("┄┅┄┅请输入取款流水号:\n");

scanf("%ld",&p[h].bc);

printf("┄┅┄┅请输入取款数目(建议不要一次存超过百万):\n");

scanf("%f",&p[h].j3);

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

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

printf("┄┅┄┅经办人:\n");

scanf("%s",p[h].jin2);

printf("┄┅┄┅办理时间(形如2012年06月2日):\n");

canf("%s",p[h].t);

fwrite(&p[h],sizeof(struct cou),1,fp);

fclose(fp);

}

/*--------------------------------------------------------------------------------------------------------*/ void cunq2()

{

int m;

char v[20];

system("cls");

printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf(" 1.存款查询 2.取款查询3:后退\n\n"); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("---------------------------------------------按相应的数字以选择您的需要---------\n");

scanf("%d",&m);

switch(m)

{

case 1:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍1:存款查询▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

printf("┭┮┯┰┱请输入您要查询的客户的姓名:\n");

scanf("%s",v);

cunq211(w,v,&t);

cunq212(w,v,&t);

break; /*注意*/

case 2:

printf(" ┏━━━━━━━━━━━┓\n");

printf(" ▍2:取款查询▍\n");

printf(" ┗━━━━━━━━━━━┛\n");

printf("┭┮┯┰┱请输入您要查询的客户的姓名:\n");

scanf("%s",v);

cunq221(w,v,&t);

cunq222(w,v,&t);break;

case 3:break;

default:

fprintf(stderr,"输入有误!");

}

}

void cunq211(struct cou p[],char *re,long *h)

{

FILE *fp;

system("cls");

fp=fopen(re,"rb");

fread(h,4,1,fp);

fread(&p[*h],sizeof(struct cou),1,fp);

fclose(fp);

}

void cunq212(struct cou *p,char *re,long *h)

{

printf(" 客户【%s 】存款明细\n",re);

printf("┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 客户卡号");

printf("%ld\n",*h);

printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 存款流水号");

printf("%ld\n",p[*h].bc);

printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 类别");

printf("存款\n");

printf("┄┅┄┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 存款数目");

printf("%.2f\n",p[*h].j1);

printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 账户当前总金额");

printf("%.2f\n",p[*h].j2);

printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 经办人");

printf("%s\n",p[*h].jin);

printf("┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 客户地址");

printf("%s\n",p[*h].a);

printf("┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅");

printf(" 办理时间");

printf("%s\n",p[*h].t);

printf("┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); }

void cunq221(struct cou p[],char *re,long *h)

{

FILE *fp;

system("cls");

fp=fopen(re,"rb");

fread(h,4,1,fp);

fread(&p[*h],sizeof(struct cou),1,fp);

fclose(fp);

}

void cunq222(struct cou *p,char *re,long *h)

{

printf(" 客户【%s 】取款明细\n",re);

printf("┄┅┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅");

printf("客户卡号");

printf("%ld\n",*h);

printf("┄┅┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅");

printf("取款流水号");

printf("%ld\n",p[*h].bc);

printf("┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄");

printf("类别");

printf("取款\n");

printf("┄┅┄┅┄┅┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf("取款数目");

printf("%.2f\n",p[*h].j3);

printf("┄┅┄┅┄┅┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf("账户当前总金额");

printf("%.2f\n",p[*h].j4);

printf("┄┅┄┅┄┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf("经办人");

printf("%s\n",p[*h].jin2);

printf("┄┅┄┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf("客户地址");

printf("%s\n",p[*h].a);

printf("┄┅┄┅┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf("办理时间");

printf("%s\n",p[*h].t);

printf("┄┅┄┅┄┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); }

void help()

{

system("cls");

printf("\n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf("\n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf( \n");

printf(" \n");

printf(" \n");

printf(" \n");

printf(" ");

}

c语言课程设计报告·图书管理系统

第一章 §题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能: (1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。 3.结构体系设计 图:主函数结构;图:新书信息录入流程;图:图书信息查询(管理员)流程;图:图书信息查询(学生)流程;图:图书信息删除流程;图:办理借书手续流程;图:办理还书手续流程; §程序设计及代码分析 1.程序设计: 下面,我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时,首先进入系统主界面,然后可以选择[1].管理员登陆(密码:123),[2].学生登陆,[0].退出系统; 选择[1]后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。管理员功能菜单中,[1].新书信息录入,[2].图书信息查询,[3].图书信息删除,[4].返回主菜单,[0].退出系统;当出现“请选择”时,输入选项前的数字,输完之后按回车(下同)。首次运行系统需要先选择[1]录入库存书籍信息,图书各信息项须用空格键隔开,输入完毕后信息自动储存并更新至数据库,然后再选择其他操作。当选择[3]时会进入图书信息删除,在这里可以选择删除图书信息等操

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

仓库管理系统课程设计报告

课程设计报告 科目:数据库课程设计 题目:仓库管理系统 姓名:XXX 院(系):信息工程系 专业班级:09计算机科学与技术本科班 学号:09011XXXX 指导教师:XXX 成绩: 时间:2012 年11 月13 日至2012 年11 月30 日 摘要

根据企业仓库管理人员的工作需要,为了解决业务的不断发展,加强成本管理和收入管理,通过提高服务水平来提升企业形象,对仓库管理程序进行了详细的分析和策划,提出了利用计算机管理信息系统对仓库进行管理,而进行了仓库管理系统的开发。该系统能实现物品发放、物品入库、出库管理功能。在各个子系统中,用户管理只有相关管理人员被允许进行操作。各子系统可录入、查询、更改相应数据库信息,以及对其他子系统数据信息的调用查询。数据库起到了各方面数据以及查询各方面信息的重大作用。系统有良好的交互性,便于各部门操作人员使用本系统,以及容易掌握本系统的各项功能。 关键词:https://www.sodocs.net/doc/5a16225456.html, 仓库管理数据库

目录 1概述 (1) 1.1 课程设计选题背景 (1) 1.2 课程设计的目的 (1) 2 需求分析 (2) 2.1 设计任务 (2) 2.2 设计要求 (2) 2.3 需求描述的规范文档 (2) 2.3.1 数据流图 (2) 2.3.2 数据字典 (3) 3概念结构设计 (5) 3.1概念结构设计工具(E-R模型) (5) 3.2总体E-R图 (5) 3.2.1 E-R图的集成 (5) 3.2.2 总体E-R图 (7) 3.3 系统结构设计 (7) 4逻辑结构设计 (9) 4.1关系数据模式 (9) 4.2视图的设计 (9) 5.数据库物理设计与实现 (11) 5.1数据库应用的硬件、软件环境介绍 (11) 5.2 物理结构设计 (11) 5.3 索引的设计 (13) 5.4 建立数据库 (14) 5.5 加载数据库测试数据 (15) 6 数据操作要求及实现 (17) 6.1数据查询操作 (17) 6.2数据更新操作 (17) 6.3数据维护操作 (18) 7设计心得体会 (19) 8 参考文献 (20)

C语言课程设计报告(银行存取款管理设计)

错误!未找到目录项。 C程序课程设计报告 二○一五年六月

预习报告 一:设计题目 银行存取款管理设计 二:功能要求 ①能够添加和修改以及删除客户文件。(在客户文件中,每个客户是一条记 录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额)。 ②能够输入和查询客户存款取款记录。(在存取款文件中,每次存取款是一 条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种)。 ③能够给程序提供运行提示。 三:设计要求 ①、用C语言实现系统; ②、函数功能要划分好(结构化程序设计); ③、界面友好(良好的人机交互),加必要的注释; ④、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能 运行起来,不能运行的程序是没有价值的。 四:设计目的 ①、通过这次课程设计,使我们更加深入地理解和掌握C语言基本概念,切身体会用结构化程序设计的工程思想,感受C语言的魅力。 ②、通过这次课程设计,培养我们独立思考、勇于探索、积极创新、严谨求实、有过必改的工作态度以及较熟的上级操作能力,同时加强我们团结友爱,协作攻关的团队合作意识。 五:设计框架图

void main():在里面写了“功能选择”的SWITCH函数; void kehu();客户资料添加与操作主菜单;void kehu1(struct cou p[],char *re,long *h); 客户资料查询函数; void kehu2(struct cou *p,char *re,long h);客户资料添加函数; void kehu3(struct cou *p,char *re,long h); 客户资料修改函数; void kehu4(struct cou *p,char *re,long h); 客户资料清楚函数; void kehup(struct cou *p,char *re,long *h); 客户资料打印函数; void cunq1(); 存取款办理选择主菜单; void cunq11(struct cou *p,char *re,long h);客户存款资料的键入; void cunq12(struct cou *p,char *re,long h); 客户取款资料的键入; void cunq2();存取款选择查询主菜单; void cunq211(struct cou p[],char *re,long *h);把顾客存款资料从文件读到缓冲 区; void cunq212(struct cou *p,char *re,long *h);打印存款资料; void cunq221(struct cou p[],char *re,long *h);把顾客取款资料从文件读到缓冲 区; void cunq222(struct cou *p,char *re,long *h);打印取款资料; void help(); 使用说明模块。 ㈡变量 ①全局的结构体型数组w(用来存放200多个结构体变量): extern struct cou { long b; char x[20]; long m;

c语言课程设计报告书--学生成绩管理

C 语言程序设计报告 课题:学生成绩管理 时间:

一、需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具体要求如下: 1.主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 系统功能需求分析: 1、定义一个结构体类型,成员包括学期、班级、各科成绩、建立链表,定义该结构体类型的指针,用于指向各结点; 2、分别建立具有添输入、修改、查询、总分及平均分、排序等功能的子函数,完成相应功能,对程序实现模块化。 二、概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的子函数,各子函数中运用链表存储数据。 系统功能模块图:

三、详细设计 主要功能模块的算法设计思路如下: 1、输入信息函数 (1)定义指向结构体变量的指针; (2)移动指针,找到插入结点; (3)在要插入的结点输入信息; (4)返回头指针。 2、修改信息 (1)定义指向结构体变量的指针; (2)用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; (3)根据要修改的编号查找对应结点; (4)修改信息;

(5)修改成功。 3、排序函数 (1)定义所要排序的班级和链表的头指针为形参; (2)调用排序函数,把班级和链表的头指针赋给形参; (3)在子函数中进行排序; (4)输出排序结果。 4、显示学生成绩信息(void Disp(Link l)) (1)选择想要查询的项目(学生各科成绩、不及格科目、班级成员);(2)用指针检验是否有记录; (3)若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find(Link l)) (1)选择所要查询的班级; (2)输入班级: (3)在链表中寻找相应结点; (4)输出结点信息。 以上各个函数的流程图如下:

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

仓库管理系统C课程设计报告

《高级语言程序设计》 课程设计报告 设计题目图书管理系统 专业计算机科学与技术 班级 姓名 学号 2007 年6 月5日 目录 1.设计目的 (3) 2.设计思想 (3) 3.类及对象设计 (4) 4.程序源代码 (5) 5.调试记录 (16) 6.总结 (18) 仓库管理系统 1.设计目的 通过实习进一步掌握所学的基本知识,学会解决实际问题的方法 2设计题目 1、问题描述(功能要求):某公司现有以下设备:普通电视机、DVD、带DVD 的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。

2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 2.设计思想 (1)设计classadmin管理库,实现对仓库信息的描叙;class shelf柜台类库实现建立电器资料;class ele电器类,实现对电器的描述,电器的编号,货架号,名称,数量,价格等;class mana函数类,实现对电器的入库,查找,出库等。 (3)设计菜单来实现功能设计 1、输入商品 2、商品查找 3、查询入库 4、商品出库 5、退出系统 3.设计类及对象 (1)本程序定义了四个类,定义如下: classadmin { public: admin(); private:

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B) 题目银行取款管理系统 学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师 所在单位信息科学系软件工程教研室 教学部主任王立娟 完成日期 2016年9月30日

课程设计报告单 综合评定:(优、良、中、及格、不及格)指导教师签字:2016年9月30日

《java程序设计课程设计(B)》任务书 一、课程设计任务及要求: 任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。 要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。 (2)提交课程设计报告。 (3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。 二、工作量 2周(10个工作日)时间 三、计划安排 第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第2个工作日-第4个工作日:设计程序结构、模块图。 第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。 第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。 指导教师签字: 2016年9月19日

目录 题目: (1) 1.需求分析 (1) 2.概要设计 (1) 3.详细设计 (2) 4.编码 (3) 5.调试分析 (11) 6.测试结果及运行效果 (11) 7.系统开发所用到的技术 (13) 8.课程设计总结 (14) 参考文献 (145) 附录全部代码 (16)

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

Access仓库管理系统课程设计报告

A c c e s s仓库管理系统课 程设计报告 This model paper was revised by the Standardization Office on December 10, 2020

课程设计报告 (数据库技术及应用) 题目:仓库管理系统 系别: 专业: 姓名: 学号: 指导教师: 河南城建学院 目录 一开发概述 (3) 仓库管理系统. (3) 仓库管理系统研究背景与意义 (3) 二功能概述 (3) 系统目标 (3) 功能需求 (3) 系统功能模块设计 (3) 三概要设计 (4)

数据库需求分析 (4) 数据库逻辑结构设计 (5) 四详细设计 (8) 建立表 (8) 建立表间联系 (13) 窗体设计 (14) 创建查询 (20) 报表设计 (24) 五效果及存在的问题 (27) 六课程设计总结 (27) 七参考文献 (27) 一开发概述 仓库管理是一项繁琐复杂的工作,每天要处理大量的单据数据。为及时结清每笔业务,盘点库存和货物流动情况,保证企业生产用料以及货物安全,库管人员要花费大量人力物力和时间作数据记录统计工作。 本系统正是根据仓库管理的专业特点而开发的,用现代电子技术提高库管工作的质量和效率。适用于小型企业库管以及储运业务,界面直观,操作简便,运用鼠标,在窗口的不同部位供使用者录入和查询统计。 基于课程学习,应对简单的商品在途、入库、在库、出库管理。

开发软件:本系统以Office软件系列中Microsoft Access 2003为开发平台,适用于Microsoft Access 2003及其以上版本装载的计算机。 二功能概述 系统目标 通过一个仓库管理系统,使仓库的管理工作系统化、规范化、自动化,使得资金使用合理,物资设备的储备最佳。 功能需求 (1)仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。 (2)仓库管理各种信息的查询、修改和维护。 (3)设备采购报表的生成。 (4)在库存管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监控。 (5)企业各个部门的物资需求的管理。 (6)操作日志的管理。 系统功能模块设计 在系统功能分析的基础上,得到下图的系统功能模块:

银行管理系统软件工程课设报告

学习报告 学生姓名学号课程成绩: 二零一六 年 六 月

目录 4 4 4 4 4

4 4 5 5 6 7 7 7 8 9 9 9 9 9

1 前言 系统的背景及开发意义 (1)系统背景介绍 随着计算机的飞速发展及应用领域的扩大,特别是计算机网络和电子商务的发展,极大的改变了商业银行传统的经营模式。能够为客户提供方便、快捷、安全的服务,也能够有效的降低银行的营运成本,这是银行存储系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现方便安全的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。 (2)系统开发的意义 方便用户快速的进行存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。 系统的开发环境及工具 (1)系统开发的环境 硬件:Windows2000服务器、希捷 ST9500420AS ( 500 GB / 7200 转/分 )硬盘、2GB ( DDR3 1333MHz )内存 软件:Windows 10 旗舰版 64位 SP1 ( DirectX 11 ) (2)系统开发的工具 系统采用Microsoft Visual Studio 2010、SQL Server 2008数据库开发工具、C/S结构。下面对开发中采用的工具进行说明: ①Microsoft Visual Studio 2010简介 是目前最流行的平台应用程序的,Visual Studio 2010版本()的界面被重新设计和组织,变得更加简单明了。并且支持开发面向的。除了,它还支持??和数据库。 ②SQL Server 2008数据库简介

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

Access仓库管理系统课程设计报告

课程设计报告 (数据库技术及应用) 题目:仓库管理系统 系另y:__________________________________ 专业:________________________________________________ 姓名:________________________________________________ 学号:________________________________________________ 指导教师:______________________________________________ 河南城建学院 目录 一?? ?幵发概述........................................... ..3 1.1仓库管理系统. ................................................ ... (3) 1.2仓库管理系统研究背景与意义................. . (3) 二功能概述..................................... (3) 2.1系统目标 (3)

22功能需求 (3) 2.3系统功能模块设计 ............................ ..3 三概要设计 (4) 3.1数据库需求分析 .............................. . (4) 3.2数据库逻辑结构设计 (5) 四详细设计........................................................ (8) 4.1 建立表 (8) 4.2? 建立表间联系 (13) 4.3 窗体设计.............................................. (14) 4.4 创建查询.................................. (20) 4.5 报表设计............................................ (24) 五效果及存在的问题.............................. . ............... (27) 六课程设计总结.............................................. (27) 七参考文献………………………………………………… .27 一?开发概述 仓库管理是一项繁琐复杂的工作,每天要处理大量的单据数据。为及时结清每 笔业务,盘点库存和货物流动情况,保证企业生产用料以及货物安全,库管人员要花费大量人

c语言语言课程设计报告

上海应用技术学院 课程设计 2011~ 2012学年第二学期 设计题目成绩记录簿 院(系)计算机科学与信息工程学院 专业计算机应用技术 班级 11104114 学号 1110411414 学生姓名蒋佳琴 设计时间 2012.06.25 -2012.07.06 指导教师马智娴 提交日期 2012.07.06

上海应用技术学院课程设计任务书 指导教师(签名):马智娴教研室主任(签名):马智娴2012年6 月25日2012年6月25日

目录 1 设计目的 (5) 2 功能描述 (5) 2.1模块功能 (5) 2.2流程图 (6) 3 总体设计 (13) 3.1 功能模块设计 (13) 3.2 数据结构设计 (13) 3.3 函数功能描述 (13) 4 程序实现 (14) 4.2 运行结果 (25) 5课程设计总结 (28)

成绩记录簿 1. 设计要求: 基本功能 a) 添加成绩 b) 删除成绩 c) 查询学生成绩 d) 查询班级成绩 e) 退出 拓展功能 a) 写入文件 b) 读取文件 创新(自拟)功能: 程序实现的其它功能由个人自拟。 2. 设计要求具体说明 基本功能: 成绩记录簿中记录以下数据: 学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分; 输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:8位数字;课程编号:5位数字;成绩:0 ~ 100 之间的整数,学分: 1~ 5之间的实型数。 添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示; 查询(班级或个人)成绩: a) 查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成 的总学分。 b) 查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同 学不同课程在不同分数段分布的人数及百分比。 拓展功能: a) 程序启动时先从文件读入数据,如果文件中没有数据则给出提示; b) 每次修改的数据写入文件。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。

仓库管理系统-课程设计报告

《仓库管理系统》 课程设计报告 题目:仓库管理系统专业:网络工程 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年12月8日

目录 1设计内容及要求 (1) 1.1设计内容 (1) 1.2设计要求 (1) 2概要设计 (2) 2.1课程设计选题背景 (2) 2.2系统功能简介 (2) 3概念结构设计工具(E-R模型) (3) 3.1数据流图 (3) 3.2基本数据项及数据结构 (4) 3.3总体E-R图 (5) 3.3 系统结构设计 (7) 4逻辑结构设计 (8) 4.1关系数据模式 (8) 4.2视图的设计 (8) 5.数据库物理设计与实现 (10) 5.1数据库应用的硬件、软件环境介绍 (10) 5.2 物理结构设计 (10) 5.3 索引的设计 (12) 5.4 相关SQL语句 (13) 6 数据操作要求及实现 (18) 6.1数据查询操作 (18) 6.2数据更新操作 (18) 6.3数据维护操作 (19) 总结 (20) 参考文献 (21)

1设计内容及要求 1.1设计内容 《仓库管理系统》 该系统主要分为四大功能:管理员功能、信息安全功能、一般用户功能、报表生成。 管理员功能:产品入库登记、确认入库信息、删除库内信息、借出信息登记、产品分类管理、添加人员、删除人员、查询库内信息; 信息安全功能:人员权限区分、事件记录、数据警告、计划备份、即时备份、数据恢复; 一般用户功能:查询库内信息、查询出库信息、查询入库信息、修改本用户密码; 报表生成:库存信息报表生成。 1.2设计要求 根据用户需求,该系统应该实现以下功能: 进出库管理:对进出库信息进行记录。 查询功能:仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。 部门资料管理与库存报表生成:资料管理包括了人员信息管理,财政支出信息管理,以及各项业务单据的资料管理。报表主要分类为:日报表,月报表,销售报表,入库报表等等。 由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。 许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。

C语言课程设计报告烟花绽放

课程设计报告书设计题目烟花绽放 系别计算机工程系 专业计算机科学与技术 班级 姓名 指导教师 设计任务下达日期2011年 12 月 24 日 设计时间2011年12月26日至 2010年12月30日 课程设计任务书

一、目的和意义 本课程设计是《C语言程序设计》课程的后继教学环节, 通过研究C语言中图形编程技术或者声音控制等其它方面的多媒体编程技术,一方面拓展学生在这些领域的C语言知识,另一方面使学生在运用所学理论知识进行实践开发,更好的培养学生综合学习能力和实践能力。本次课程设计学生可以根据喜好,可以利用复杂的数据类型实现成绩管理系统等小型的综合应用程序。 二、题目(可从下面题目中任选一个) 1、C语言的图形编程应用 设计实现如菜单、图形的显示,再如动画和小游戏。 2、简易电子琴模拟程序的实现 为实现在键盘模拟电子琴设计的程序。由学生自行设计并且实现。 3、成绩管理程序 学生本人设计具体方案,然后改进和编码实现。 三、课程设计报告书应包括的主要内容 1、介绍概要的思路和设计方案,程序的总体功能和模块划分。 2、主要算法的介绍及流程图,主要功能的实现手段的说明文档。 3、对于有设想但最终未实现的功能的大致编程思路的阐述和设计过程中的启发。 四、进度要求 1、设计时间:2011年12月19日至2011年12月25日 2、编写课程设计报告书:2011年12月26日至2011年12月29日 3、提交报告及答辩时间:2011年12月30日 专科 四、进度要求 1、设计时间:2011年12月26日至2011年12月28日 2、编写课程设计报告书:2011年12月29日 3、提交报告及答辩时间:2011年12月30日 目录

仓库管理系统课程设计报告

仓库管理系统课程设计报告 一、概述 项目背景: 仓库管理在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控 制及发货,将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力。传统简单、静态的仓库管理已无法保证企业各种资源的高效利用。如今的仓库作业和库存控制 作业已十分复杂化多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企 业带来巨大损失。使用仓库管理系统,对仓库各环节实施全过程控制管理,并可对货物进 行货位、批次、保质期、配送等实现系统列号管理,对整个收货、发货、补货、集货、送货等各个环节的规范化作业,还可以根据客户的需求制作多种合理的统计报表。仓库管理系 统能帮助企业合理有效地利用仓库空间,以快速、准确、低成本的方式为客户提供最好的服 务。 系统特点: 本系统是采用面向对象的设计思想进行编制,整个系统由若干个表单、报表及一个主菜单组成,由项目管理器统一管理全部程序的编写和调试?用户在操作中可以通过主菜单调用系统的各个功能?在表单设计方面尽量考虑方便用户,简化操作,绝大部分操作只需点击鼠标即可完成,力求突出系统的便利性、实用性? 设计环境与工具: 在现有的DBMS ( Visual FoxPro )支持下进行。

二、需求分析 问题陈述: 需完成的功能: 产品入库管理,可以填写入库单,确认产品入库; 产品出库管理,可以填写出库单,确认出库; 借出管理,凭借条借出,然后能够还库; 初始库存设置,设置库存的初始值,库存的上下警戒限; 可以进行盘库,反映每月、年的库存情况; 可以查询产品入库情况、出库情况、当前库存情况,可以按出库单、入库单,产品、时间进 行查询; 三、系统结构设计 (1)系统功能结构设计(包括主要功能模块及功能模块的细化。) 本系统应能够方便的实现仓库货物存储信息的录入、修改、编辑和浏览等功能,高效地完成 企业的各种产品信息的统计功能,打印出各种产品入库出库和盘库查询的信息表格,系统的各主要功能的要求如下: 信息录入功能:仓库产品基本信息、产品入库信息、产品出库信息、产品清单资料等 浏览功能:浏览仓库产品基本信息,浏览产品入库情况、出库情况、当前库存情况 查询功能:产品标号,或者按验收时间查询库存设置等

相关主题