南京工程学院
课程设计任务书
课 程 名 称 C语言程序设计 院(系、部、中心) 电力工程学院 专 业 建筑电气与智能化 班 级 建电121 学生姓名 伍颖 学 号 206121026 起 止 日 期 2012年1月2日至5日 指 导 教 师 陈
、目
录
课程设计说明书(论文)................................................. 1 目录…………………………………………………………………………………………2 课程设计任务书……………………………………………………………………………3
第1章 绪论 .................................................................. 6 1.1设计目的 .................................................................. 6 1.2 内容与要求 ............................................................... 6 第2章 系统总体设计 .......................................................... 7 2.1系统设计的组成框图 ........................................................ 7 2.2功能描述 .................................................................. 7 第3章 系统详细设计 .......................................................... 8 3.1程序设计流程图 ............................................................... 8 3.2功能模块设计 .............................................................. 9 3.3函数功能描述 ............................................................. 10 3.4数据结构设计 ............................................................. 10 第4章 系统使用与测试 ....................................................... 11 4.1使用说明 ................................................................. 11 4.2 系统测试 ................................................................ 11 第5章 结论 ................................................................. 16 5.1系统中用到的知识点 ....................................................... 16 5.2系统难点以及解决办法 ..................................................... 16 5.3本系统的主要技术 ......................................................... 16 5.4编程总结 ................................................................. 17 5.5自评成绩 ................................................................. 17 附 录 ...................................................................... 18
1.课程设计应达到的目的 通过课程设计加深理解课堂教学内容,熟练掌握C语言的基本知识和技能;掌握面向过程程序设计的基本思路和方法;掌握数组、指针、结构体、文件的打开和保存等知识的应用;培养学生分析问题、解决问题的能力;培养学生自主学习能力,团队合作精神和创新的精神。提高学生的科技论文写作能力。 2.课程设计题目及要求 题目:银行业务模拟系统 模拟银行日常业务。零存零取账户:随时存取账户;零存整取账户:随时存储,一次取款,马上注销;信用卡账户:取钱需收取手续费,可以在信用额度之内透支取款;客户资料的输入,修改,删除。 功能要求: 1、客户资料管理:要求:客户资料信息要求使用文件存储。根据输入客户的身份证号码来确定客户身份,新客户应先建立客户资料。老客户可以建立新的账户、进行存取款操作,也可以进行客户资料的修改。 2、信息查询:根据身份证号码可实现账户余额查询,信用卡账户可以查询透支额度; 3、存、取款:在进行存取款时要核对存取款的金额是否符合要求,帐户中的余额是否能进行支付。信用卡账户的取款可以透支,但不能超出透支额度; 4、排序:能对同类型账户根据存款额进行排序,显示每个帐户的客户信息(使用多种排序方法实现给予加分)。 其他要求:除了基本功能和异常处理,鼓励进行以下扩展和改进。 (1)有创意的设计,友好的输入输出界面; (2)功能扩展,采用改进程序性能的其他方法; (3)对输入数据的对错判断; 3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕 (1)对系统进行功能模块分析、控制模块分析,符合课题要求,实现相应功能可以加 以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,可用,编程简练,功能全面,程序中要有异常处理。 (3)完成系统的应用模块,进行功能调试;应列出测试大纲对程序进行测试,保证测试用例测试到程序的各种边缘情况; (4)界面设计要以用户为中心,操作方便、美观大方。(要有选择性提示) (5)程序要求采用模块化程序设计方法,及锯齿型书写格式; (6)按照课程设计说明书的格式规范撰写课程设计说明书,其中正文包括: ① 功能描述:对系统要实现的功能进行简明扼要的描述。 ② 概要设计:根据功能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能。 ③ 详细设计:详细说明各功能模块的实现过程,算法、技巧等。 ④ 效果及存在问题:说明系统的运行效果(附上运行界面图片)、存在哪些不足以及预期的解决办法。 ⑤ 心得体会:谈谈自己在课程设计过程中的心得体会。 (7)课程设计说明书用A4 纸统一打印,装订按学校的统一要求完成。 (8)课程设计的程序以软盘形式上交,文件夹名称为学生姓名及学号的组合。未经指导教师许可或无故不到者,缺勤率达50%的学生不能参加答辩。 答辩时,设计者在5分钟内阐述自己的设计过程和最终结果,突出设计中遇到的主要问题和解决方法,然后回答教师提问。每位学生答辩总时间一般不超过15分钟。 4.主要参考文献 [1] 谭浩强. C语言程序设计[M] . 北京:清华大学出版社,2004. [2] 吴乃陵.C程序设计实践教程[M].北京: 高等教育出版社,2003. [3] 刘振安.C程序设计课程设计[M].北京:机械工业出版社,2004. [4] 张引.C程序设计基础课程设计[M].浙江:浙江大学出版社,2007. 5.课程设计进度安排 起 止 日 期 工 作 内 容 2011年12月10日~11日 熟悉任务,设计算法,编写源程序 2011年12月12日 2011年12月13日 2011年12月14日 2011年12月15 日 2011年12月16 日 6.成绩考核办法 课程设计成绩的评定:根据设计的完成情况、程序的编制质量、设计能力以及答辩情况综合衡量,由答辩小组讨论决定。原则上按以下公式计算: 课程设计成绩=工作表现×30%+设计成果×40%+考核测评×30% 工作表现:工作能力及设计过程的表现。占总成绩的30%。 设计成果:设计说明书(计算书、论文)、图纸、程序、作品等的质量。占总成绩的40%。 考核测评:课程设计结束前,指导教师应采用考试或答辩等形式对所指导的学生进行测评。测评成绩占总成绩的30%。 有创新的同学根据具体情况适当加分。 教研室审查意见: 教研室主任签字: 年 月 日 院(系、部、中心)意见: 主管领导签字: 年 月 日 上机调试 上机调试 上机调试 上机调试 考核验收 第1章 绪论
1.1设计目的
1)银行存取款系统是针对银行账目的日常管理而设计。银行账目管理系统不仅要求操作方便而且要求界面简洁,它还需要实现账目管理,用户查询功能。
2)并了解银行存取款业务的流程,使用C语言和数据程序知识模拟银行存取款系统。
1.2背景
说明:
a. 待开发的软件系统的名称:模拟银行存取款业务。
b. 本项目的任务由南京工程学院陈景涛老师提出,面向的用户是银行管理员和普通用户。 c. 面对日新月异的计算机普及,利用计算机对储户进行综合的管理。
1.3 内容与要求
1.题目:模拟银行存取款业务系统 2.基本内容:
1)设定账户密码,设计一银行存取款管理系统来是提供以下功能:存款、取款、查询功能。
2)存款:存款后查询所存储金额可以写入储蓄金额
3)取款:取款前判定所取金额是否超过原有储蓄金额,若不超过可以取款,取款后能够写入文档,利用查询功能可以查询余额。 4)查询:可查询现有储蓄金额。 3要求:
1) 完成银行存取款业务的模拟系统,并且能够运行。 2) 设定账户密码,密码输入三次自动退出系统。 3) 功能结束后选择Y或y能够继续选择功能。 4) 程序各个模块要添加注释。
5) 报告要画出系统框图和详细的流程图。 6) 输出的结果要准确、清晰、美观。
1.4开发环境
Vi 编辑器 gcc编译器
1.5运行环境
Red Hat
第2章 系统总体设计
2.1系统设计的组成框图
账号登陆
取款 查询 退出 2.2功能描述
系统实现的主要功能有: 1账号登陆
(1)储蓄卡的存款功能 (2)储蓄卡的取款功能 (3)查询储蓄卡的余额功能 (4)退出储蓄卡的功能
第3章 系统详细设计
3.1程序设计流程图
开始 输入用户名密码 用户名密码正确错误 正确 选择操作类型 操作类型 存款 查询 取款 退出 输入存款金额 大于余额输入取款金额 是否超过余额 存档 查询余额 小于余额 存档 取出钞票 结束
3.2功能模块设计
1)存款模块:
登陆账号后,选择存款功能,并输入存款金额,写入文件,原有金额增加,可使用查询功能进行查询。
存款功能 输入存款金额 存档 结束
2)取款模块:
取款功能:登陆账号后,选择取款功能,并输入取款金额,判断输入金额是否大于原有存款,若大于原有金额显示输入错误,余额不足,若输入金额小于原有金额则取出钞票,并写入文件,原有金额减小,可使用查询功能进行查询。
取款功能 输入取款金额 请重新输入取款金额 大于 是否大于原有金额 不大于 输入错误 取款成功 结束 3)查询模块:
查询功能:查询账户现有存款。
查询功能 显示现有金额 结束
3.3函数功能描述
mune():调用函数 sort_sco():查询函数 exit(0):退出函数 modify_sco():取款函数 search_sco():存款函数
3.4数据结构设计
m=5000:存折内原有存款为5000元 n:存取金额
c:选择Y或y 继续程序 i:选择功能
a:密码错误时输入次数
name[20]:存储账号:liuluy
password[10]:存储密码:123456 person[20]:从键盘输入的账号 password1[10];从键盘输入的密码 flag1:账号比较 flag2:密码比较
第4章 系统使用与测试
4.1使用说明
1)输入账号liuluy密码123456,登陆界面。若账号密码错误三次则自动退出系统。
2)登陆界面后,选择功能
3)选择1.为存款功能,输入存款金额,存档,存款成功。
4)选择2.为取款功能,输入取款金额,若取款机金额小于原有存款,则取款成功,取出钞票。
若取款金额大于原有金额,则显示金额不足。
5) 选择3.为查询功能,查询原有或储存后或取款后的金额。 6)选择0.为退出系统
7) 选择功能时大于3或小于0的数,输出输入错误,请重新输入。 8)选择Y或y继续运行程序
4.2 系统测试
主菜单显示
运行结果: 1.登陆账号: 1)账户密码正确:
2)账户或密码错误
2.选择功能时大于3数退出程序
3.存款成功
4.取款
1)取款成功:
2)余额不足,取款失败:
5.查询:
6退出
第5章 结论
5.1系统中用到的知识点
1)switch语句中,表达式和常量表达式的值一般是整型或字符型,所有的常量表达式的值都不相等。每个语段可以包括一条或多条语句,也可以为空语句。一般形式为:
switch(表达式){
case常量表达式1:语句段1;break; case常量表达式2:语句段2;break; case常量表达式n:语句段n;break; default: 语句段n+1; break;} 2)strcmp函数:字符串比较函数 strcmp(字符串1,字符串2)
功能:比较两个字符串,返回值为比较结果。 当 字符串1=字符串2,函数返回值为0;
字符串1>字符串2,函数返回值为一正数; 字符串1<字符串2,函数返回值为一负数; 3)输入和输出函数
scanf():输入函数 scanf(格式控制字符串,地址列表); printf():输出函数 printf(格式控制字符串,输出列表); gets():输入函数 4)if语句
if (表达式); 语句1;
else语句2; 5)while循环语句 6)字符串数组
7)字符输入函数 getchar 从键盘读入一个字符。
5.2系统难点以及解决办法
1)账号和密码的设置:通过老师的帮助学会了使用字符串比较函数strcmp。运用函数比较输入的账号密码和原设置好的账号密码,在运用if函数,比较账号与密码是否正确。
2)函数的调用:查找资料和老师讲解,通过老师讲解学生成绩管理的函数调用例子,学会使用函数调用。
5.3本系统的主要技术
Microsoft Visual C++ 6.0
5.4编程总结
本程序阐述了银行的工作原理、体系结构等,并设计实现了一个银行存款业务系统原型,能够实现用户开存款、取款、查询等功能,能够满足人们在日常生活中对银行服务的需要,通过对银行业务模拟的分析,总结了银行与人们的相关关系,同时给出了设计银行业务服务的方案。
本程序在刚开始调试时有许多错误,但在我的努力及老师的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过不能运行、不能输入账号及密码等等问题。经过我的努力及同学的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善。最后在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问老师学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。
5.5自评成绩
平时表现 报告成绩 程序可行性 总分
满分 20 30 50 100 得分 20 25 45 90 附 录
/*程序源代码*/
#include int m=5000/*存折内原有存款*/,n/*存取金额*/; char c; search_sco()/*存款*/ { printf(\"请输入存款金额:\\n\"); scanf(\"%d\ m+=n; printf(\"操作成功,谢谢使用\\n\"); } modify_sco()/*取款*/ {printf(\"请输入取款金额:\\n\"); scanf(\"%d\if(n printf(\"操作成功,请取走您的钞票\\n\");} else printf(\"输入错误,您的余额不足\\n\"); } sort_sco() /*查询*/ { } mnue() printf(\"\您账户的余额是%d元\\n\ {int i; int a=0,flag1,flag2; char name[20]=\"liuluy\账户与密码*/ char person[20],password1[10]; while(a<3)/*密码错误三次退出程序*/ {printf(\"请输入账号:\\n\"); gets(person); flag1=strcmp(person,name); printf(\"请输入密码:\\n\"); gets(password1); flag2=strcmp(password,password1); if(flag1==0&&flag2==0) { printf(\"密码正确!\"); break; } else { printf(\"账号或密码错误!\\n\"); a++; if (a==3) exit(0); } } { printf(\"========================\\n\"); printf(\"========================\\n\"); printf(\"==欢迎使用自助银行系统==\\n\"); printf(\"========================\\n\"); printf(\"========================\\n\"); printf(\"\\n\\n\"); printf(\"1.存款\\n\"); printf(\"2.取款\\n\"); printf(\"3.查询\\n\"); printf(\"0.退出\\n\"); scanf(\"%d\if( i > 3) printf(\"输入错误,请重新输入!\\n\"); else {switch(i) {case 1:search_sco();break; case 2:modify_sco();break; case 3:sort_sco();break; case 0:exit(0);break; }} printf(\"继续请选择Y或y:\\n\"); getchar(); while(c=='Y'||c=='y'); c=getchar(); scanf(\"%c\ mnue();} } main() {mnue(); }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务