C语言课程设计报告银行存取款管理设计修订版

C语言课程设计报告银行存取款管理设计修订版
C语言课程设计报告银行存取款管理设计修订版

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

IBMT standardization office【IBMT5AB-IBMT08-IBMT2C-ZZT18】

错误!未找到目录项。

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);

}

仓库管理系统毕业设计(论文)

仓库管理系统毕业设计(论文) 前言 随着企业管理信息化的发展,网络及计算机的引入使管理跃上了一个新的发展平台。企业的各项管理都将向信息化方向扩展,仓库的管理对于企业来说尤为重要,也正是基于这个原因我把毕业设计的方向定在了企业的仓库管理上。 仓库管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以仓库管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理产品,这种管理方式存在着许多缺点,如:效率低、保密性差等。另外,由于时间一长,将产生大量的文件和数据,这对于查找、更新和维护产品都带来了不少的困难。 作为计算机应用的一部分,使用计算机对仓库信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高仓库管理的效率。 由于时间紧迫,加之水平有限,设计中的缺点和不足之处在所难免,敬请导师批评指正,不胜感激。 摘要 仓库管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企业管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、

高效的完成仓库管理提供了强有力的工具和管理手段。仓库管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了仓库管理的要求。整个系统由基本信息、单据中心、查询统计、报表打印、维护设置、帮助等模块组成。 本系统是在以ACCESS2000作为后台数据库,以Visual Basic为编程语言来开发的。仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。 关键字:仓库,管理系统,数据库 目录 前言 (1) 摘要 (1) Abstract ................................... 错误!未定义书签。 目录 (2) 1 仓库管理系统开发环境简介 (4) 1.1 中文Visual Basic 6.0 简介 (4) 1.2 ACCESS2000简介 (5) 2 系统可行性分析 (6) 3 系统总体设计 (7) 3.1 系统目标设计 (7) 3.2 开发设计思想 (7) 3.3 系统功能需求分析 (8) 3.4 系统功能模块设计 (8) 4 数据库设计 (9)

员工信息管理系统课程设计

《信息系统设计》软件工程课程设计 课题名称:员工信息管理系统 姓名:兰朝仁 学号:080一五3035 学院:继续教育学院 专业:计算机科学与技术 年级:2008级(夜大专升本)指导教师:陈郞钦 完成日期:2010年10月11日

目录

【摘要】本文从员工信息管理系统规划、需求分析、系统设计、系统实现及系统测试等多个方面,分别叙述系统研发的整个实现过程,简述采用 7编程工具及数据库实现系统应用的设计要点,重点阐述系统实现过程中的重点和难点问题的分析及其解决方案,解决企业对员工的计算机管理。 【关键词】员工、人事、工资、管理、数据库 引言 随着我国国民经济建设的蓬勃发展和社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。员工信息管理作为企业内部的一种员工基本档案管理也是如此,由于企业的人数较多,每一位员工的具体实际情况也不尽相同,如果没有一个完整的员工信息管理系统去完成,将使工作变得复杂,并且对于工作的效率也将使一个致命的打击,使无论如何也无法适应现代社的需要。另外,目前部分企业使用的员工信息管理系统只有信息的录入,修改和删除的功能,而不具有信息查询的功能,这对于企业的信息管理工作来说是一个很遗憾的事情。因此,开发一套功能完整,设计合理,使用方便的企业员工信息管理系统成为很有必要的事情。 企业员工信息管理系统的内容功能对于企业的决策者和管理者来说都至关重要,所以企业员工信息管理系统应该能够为管理者提供充足的信息和快捷的查询与管理手段。作为计算机应用的一部分,使用计算机对企业员工信息进行管理,具有手工管理所无法比拟的优点.例如:查询迅速、查找方便、可靠性高、存储量大、BaoMi性好、寿命长、成本低等。这些优点能够降低员工管理工作的成本,减轻企业管理人员的负担,方便员工信息的更新、维护和查询,增加数据的可靠性;从而提高企业员工信息管理的效率,开拓企业员工管理工作的新局面,提高管理水平,是企业管理的科学化、正规化、信息化管理,与世界接轨的重要条件。 当前主流的程序开发环境有,,等。对系统兼容性好;可以支持多种环境及操作系统平台;而则可在系统下快速开发结构程序,具有多方成熟的控件完善系统开发。

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); //调用函数为新局初始化,第二个

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;

(仓库管理)计算机毕业设计仓库管理系统

仓库管理系统 仓库管理是整个物资供应管理系统的核心。本实例着重讲解仓库管理模块,给出数据库设计和程序实现过程。 1、系统设计 1、1系统设计目标 系统开发的总统任务是实现企业物资设备管理的系统化、规范化和自动化,从而达到仓库管理效率的目的。 1、2开发设计思想 在本系统的设计过程中,为了克服仓库管理信息处理量大的困难,满足计算机管理的需要,采取了下面的一些原则: ●●统一各种原始单据的格式,统一帐目和报表的格式。 ●●删除不必要的管理冗余,实现管理规范化、科学化。 ●●程序代码标准化,软件统一化,确保软件的可维护性和实用性。 ●●界面尽量简单化,做到实用、方便,尽量满足企业不同层次员工的需要。 ●●建立操作日志,系统自动记录所进行的各种操作。 1、3系统功能分析 本例中的仓库管理系统需要完成的功能主要有以下几点: ●●仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。 ●●仓库管理各种信息的查询、修改和维护。 ●●设备采购报表的生成。 ●●在库存管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监 控和报警。 ●●企业各部门的物资需求的管理。 ●●操作日志的管理。 ●●仓库管理系统的使用帮助。 1、4系统功能模块设计 在系统功能分析的基础上,结合Visual C++程序编制的特点,得到如图1-1所示的系统功能模块图。 图1-1 系统功能模块图 2、数据库设计

2、1数据库需求分析 在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的数据流程如图1-2所示: ● ● 现有库存信息,包括的数据项有设备、现有数目、总数目、最大库存和最 小库存。 ● ● 设备使用信息,包括的数据项有使用的设备、使用部门、数目、使用时间 和出库时状态等。 ● ● 设备采购信息,包括的数据项有采购的设备、采购员、供应商、采购数目 和采购时间等。 ● ● 设备归还信息,包括的数据项有归还设备、归还部门、归还数目、归还时 间和经手人等。 ● ● 设备需求信息,包括的数据项有需求的部门、需求设备、需求数目和需求 时间等。 2、2数据库概念结构设计 本实例根据上面的设计规划出的实体有库存实体、入库实体、出库实体、采购实体、还库实体和需求实体,各实体的E-R 图及其关系描述如下:

员工考勤管理系统课程设计

课程设计报告书 课程名称:VC++课程设计 题目:员工考勤经管系统 学生姓名: 专业:计算机科学与技术 班别: 学号: 指导老师: 日期:2012年 6 月20 日 目录 第一章绪论 (2) 1.1 课题背景 (2) 1.2 课题任务 (2) 1.3开发工具 (2)

1.4 课题目的 (3) 第二章可行性研究 (3) 2.1 对现有系统的分析 (3) 2.2对本系统设计的说明 (4) 第三章软件需求分析 (4) 3.1软件设计的预期目标 (4) 3.2系统用户需求 (5) 3.3 系统的框架 (5) 第四章数据分析及数据库的设计 (6) 4.1数据库分析 (6) 4.2数据库结构的设计 (6) 第五章系统详细设计说明 (8) 5.1 系统结构 (8) 5.2系统各个模块界面及说明 (9) 第六章软件的测试 (27) 6.1测试工程 (27) 6.2测试人员 (27) 6.3 测试结果 (27) 6.4 对程序的调试及在测试中遇到的困难及解决困难的方法 (27) 6.5 系统还有哪些不足 (27) 6.6 对系统的评价 (27) 归纳总结 (28) 参考文献 (28) 摘要:本系统是基于VC++6.0中的MFC与Access数据库开发的,可用于企业单位的员工考勤,统计员工出勤情况。 关键字:VC++、Access、员工考勤

第一章绪论 1.1 课题背景 在当今社会,互联网空间的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。社会正处于信息时代,信息技术已渗透到社会生活的各个领域,特别是各行各业的经管领域,智能化信息处理已是提高效率、规范经管、客观审查的最有效的途径。 随着经济的发展,企业正向大型化、规模化的方向发展,因此企业员工数量急剧增加,有关员工的各种信息业成倍的曾长。考勤作为一个公司的基本经管,是单位对员工工作经管的基本依据。但是,目前国内的大多数企业在考勤时,依然使用是传统的考勤方法,例如手工记录、签卡、机械打卡等,不仅考勤速度慢,在考勤是需要专门的人员在旁记录、统计、制成报表,当报表最后交到主管人员时,也许时间已经过了几天了,根本不能发挥考勤真正的监督作用。而且考勤数据不准确,考勤人员在考勤过程中可能记录出错,甚至弄虚作假的现象出现,极大的影响了企业对员工的经管。因此根据企业需求,设计企业员工考勤经管系统,以帮助企业达到员工经管办公自动化、节约经管成本、提高企业工作效率的目的。 1.2课题任务 做出一个可以简单操作的员工考勤经管系统,方便员工和经管员查询出勤记录。员工可以通过输入自己的名字修改自己的信息以及查询出勤记录;经管员可以查看员工的出勤记录,可以添加和删除员工信息以及修改密码。 1.3开发工具 VC++MFC平台和数据库 1.4课题目的 设计制作出员工考勤经管系统,设计相关的操作功能;通过课程设计,了解并掌握VC++MFC平台的操作使用,学会利用数据库进行数据表制作及添加数据源;深入了解所学课程的重要性和实用性,提高学习耐性。

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() 菜单函数

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)

仓库管理系统毕业设计

毕业设计 设计题目基于B/S的仓库管理系统设计研究学生姓名 学号 专业班级工业工程 指导教师 院系名称 2013 年6月2日

毕业设计(论文)任务书 (2013届) 设计(论文)题目基于B/S的仓库管理系统设计研究 学院名称 专业(班级)工业工程 姓名(学号) 指导教师 系(教研室)负责人

一、毕业设计(论文)的主要内容及要求(任务及背景、工具环境、成果形式、着重培养的能力) 【背景】 信息技术与计算机技术的迅猛发展,科学管理理念的传播,是企业经营者逐渐认识到:现代管理应该建立在真实有效的信息上。而仓库管理系统便是企业进销存问题与计算机强大数据统计功能相结合的产物。 仓库管理系统解决了企业库存的进,销,存等一系列操作流程中的数据信息的处理问题,提供了一系列的数据分析,帮助经营者合理调配资金、资源,从而调整经营环节的运作节奏。它的全面应用将进一步规范业务流程、提高企业管理水平、加速资金流转,进而全面提高企业的经济效益。 仓库管理系统是企业信息系统中的一个相当重要组成部分。仓库管理系统的好坏直接影响企业物流管理的效果,并直接影响企业的经济效益。因此,在当今的企业,尤其是制造业来说,仓库管理方法研究及系统开发是一项极为重要的任务,影响着企业的整体发展。 【主要任务】 (1)收集与查阅仓库管理方法研究及其系统开发的相关技术资料; (2)对已有的仓库管理方法进行理论分析,并结合市场实际情况提出新的方法。 (3)借助C#等语言、SQL数据库等工具,针对装配制造过程构建B/S架构。 (4)基于B/S架构进行仓库物料管理系统开发。 【成果形式】仓库管理系统,毕业设计论文和英文翻译。 【着重培养的能力】资料的查阅和分析能力、理论与实践结合的能力、系统规划和设计能力、外文的翻译和论文撰写能力。 二、应收集的资料及主要参考文献 [1]朱耀祥,朱立强.设施规划与物流[M].北京:机械工业出版社,2004.2. [2]申作兰,王波.仓储与库存管理[M].电子工业出版社.2008. [3]李堡春,喻丹丹,曾慧,曾平https://www.360docs.net/doc/963561013.html,动态网站设计教程[M]. 北京:清华大学出版社,2011.344-345. [4]靳华,洪石丹https://www.360docs.net/doc/963561013.html, 4.0编程技术大全[M].北京:电子工业出版社,2011.9. [5][美]Matthew https://www.360docs.net/doc/963561013.html, 3.5从入门到精通(C#2008版)[M].施宏斌,马煜译,北京:清华大学出版社,2010.1. [6]常倬林等https://www.360docs.net/doc/963561013.html,标准教程[M].北京:化学工业出版社,2011.1. [7]何玉洁.数据库原理与应用教程[M].机械工业出版社,2008. [8][美]Silberschatz Abraham.,Korth Henry F.,Sudarshan S..数据库系统概念(原书第5版)[M].杨冬青,马秀莉,唐世渭等.1版5次.北京:机械工业出版社,2008. [9]罗福强,白忠建,杨剑.Visual C#.NET程序设计教程[M].北京:人民邮电出版社,2009.3. [10]炎士涛,陈文臣,胡荷芬,张彬https://www.360docs.net/doc/963561013.html,项目开发案例精粹[M].北京:电子工业出版社,2010.6. [11]黄梯云.管理信息系统(第四版)[M].北京:高等教育出版社,2009,4. 三、毕业设计(论文)进度计划

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)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

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

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

目录 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数据库简介

物流仓储管理毕业论文

摘要 伴随着我国经济的持续快速发展和人民生活水平的日益提高,中国汽车市场的消费需求迅速膨胀,这种惊人且持续的高速增长带动了中国汽车物流业的蓬勃发展。汽车物流产业的发展面临前所未有的良好机遇。而占据汽车物流产业中主导地位之一的仓储中心的成功运作,将会促进汽车物流业更好的发展。仓储管理水平的高低直接影响着仓储中心的运作状况,进而决定了仓储中心的兴衰,良好的仓储管理方式是企业降低成本的有效方法。本文首先概述了仓储和仓储管理相关容,介绍了一汽国际物流中心概况。其次,分析了一汽国际物流中心仓储管理的现状和存在的问题。最后,针对其问题提出了相应的改善措施。 关键词仓储管理准时化生产仓储中心

Abstract Along with China's sustained economic development and people's living standards increasing, China's auto consumption market is rapidly expansion. This amazing and sustaining growth of the demand is booming the China's auto logistics industry. Automotive Logistics Industry is facing an unprecedented good opportunity. Furthermore, as one top of leading part of the auto logistics industry, the successful operation of warehouse would in return promote the logistics’s development. The level of warehouse management directly affects the operation of storage conditions, and decides whether the warehouse will well operation. An appropriate warehouse management could effectively reduce the cost of corporation. The paper mainly describes the related of warehouse and the management of it firstly, including of the overview of the FAW. Secondly, it analyses the present situation and the problem of the FAW. Finally, give some improvements against the problems it owns above on. Keywords:warehouse management Just-in-time warehouse

C#+员工信息管理系统的设计课程设计

河南理工大学 计算机科学与技术学院 课程设计 2011 — 2012学年第二学期 课程名称C#Windows程序设计课设 设计题目人事管理系统 学生姓名 学号 专业班级软件工程.net 指导教师 2012 年6月7日 目录 封面...........................1 目录...........................2

1.设计任务书.......................4 1.1题目与要求.....................4 1.2本系统涉及的知识点.................4 2.功能设计........................4 3.数据库设计.......................5 3.1数据库概念设计(E-R图) ...............5 3.2数据库逻辑结构设计.................6 3.3数据库物理设计...................6 4.系统实现........................6 4.1界面设计及实现...................6 4.2部门信息管理设计及实现...............11 4.2.1添加部门信息...................11 4.2.2浏览部门信息...................13 4.2.3修改部门信息...................14 4.2.4删除部门信息...................16 5.总结..........................18 致谢...........................18 参考文献.........................18

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");

相关文档
最新文档