最新BE100716刘婷惠-C语言课程设计报告.doc
《最新BE100716刘婷惠-C语言课程设计报告.doc》由会员分享,可在线阅读,更多相关《最新BE100716刘婷惠-C语言课程设计报告.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateBE100716刘婷惠-C语言课程设计报告BE100716刘婷惠-C语言课程设计报告课程设计报告 课程名称: 高级语言程序设计课程设计 姓 名: 刘婷惠 班级学号: BE100716 指导教师: 吉顺如 完成日期: 2012.6.15 目录1 课程设计目的与要求11.1课程设计目的11.2课程设计的基本内容和要求12 问题描述22.1成绩处理22.2加法考试题22.3
2、学生成绩统计32.4百钱百鸡32.5统计整数32 .6加密还原43 系统使用的主要函数54 详细设计64.1 程序总体结构图64.2 程序流程图75.1 系统主界面125.2成绩处理界面125.3 加法考试题界面125.4 学生成绩统计界面135.5 百钱百鸡界面135.6 统计整数界面135.7 加密还原界面146 程序设计调试情况分析157 课程设计小结16参考文献17附录 系统源程序17-1 课程设计目的与要求1.1课程设计目的C语言程序设计是本科工科类各专业的重要基础课,主要学习程序设计的基本概念和方法,通过本门课程学习,使学生掌握C语言的基本原理,熟练掌握程序设计的基础知识、基本概念
3、;掌握程序设计的思想和编程技巧。高级语言程序设计课程设计是在学生已经具备了使用C语言编写简单的应用程序的能力,为使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,通过提出算法、指定输入输出来设计一个系统解决方案。1.2课程设计的基本内容和要求参加课程设计的学生,应当认真完成课程设计的全部内容。最终提交课程设计成果来证明其独立完成各种实际任务的能力。从而反映出理解和运用本课程知识的水平和能力。具体如下:1代码编写规范,形成良好的编程习惯;2程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。3提交系统程序源代码、课程设计报告(电子稿和装订的打印稿)。课程设
4、计报告内容包括以下几个方面:l 程序的总体设计和算法分析。l 程序流程图、函数说明l 源程序代码清单l 测试数据和测试过程记录l 遇到的问题及解决方法分析l 课程设计小结4. 程序运行方式,构建一个简易菜单,用户通过输入数值选择所需运行的子程序,当一个子程序运行结束后回到菜单界面,直至用户输入0后退出程序。2 问题描述2.1成绩处理功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例):1)输入n和n个成绩(成绩为浮点数类型,数组名记为a,假设1n50);2)计算并输出成绩的累加和(记为sum)与平均成绩(记为啊ave),将ave的成绩归为A档,将ave的成绩归为B档;3)分别统计A、B
5、两档的人数,计算在总人数中的比率; 4)求出A档学生的最低分和B档学生的最高分,它们与平均成绩的差值;分析:根据题意,输入n个成绩,并对成绩进行处理统计。利用if语句判断输入成绩是否高于平均分,并对其进行分档,并用for语句使程序循环进行。同时定义sum,ave求和及平均分,输出结果。2.2加法考试题给小学生出加法考试题,编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。程序1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,程序结束。程序2 通过输
6、入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,直到做对为止。程序3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct! You have tried three times! Test over!”,程序结束。程序4 连续做10道题,通过计算机随机产生两个110之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则
7、显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。 分析:根据题意,输入两个加数,并输入你认为正确的答案,计算机进行判断对错。程序中使用了if语句进行判断是否为正确答案,利用while循环语句进行重复做题。2.3学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:1)统计不及格人数并打印不及格学生名单;2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;3)统计各分数段的学生人数及所占的百分比。提示:可考虑用两个一维数组实现学生成绩和学生信息的存
8、储。 分析:根据题意,先将学生的姓名及成绩输入,并分别保存在数组a和b中,若分数在60分以下,统计后打印出人数和名单;将全班同学的成绩累加除以全班人数,求出平均分,若在平均分以下,统计后打印出人数和名单;结合循环和数组,统计分数段的学生人数,除以全班人数即为所占的百分。程序使用了if语句进行判断,同时使用for语句实现循环功能。2.4百钱百鸡中国古代数学家张丘建在他的算经中提出了一个著名的“百钱百鸡”问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何分析: 根据题意,共100钱要买100只鸡,设公鸡、母鸡、小鸡个数分别为i、j、k。显然i取值在0-20之间,j
9、取值在0-33之间。因此,可得到方程:5*i+3*j+1/3*k=100,i+j+k=100。在分析确定方程中未知数变化范围的前提下,可采用枚举法来实现,即将可能出现的情况一一罗列测试,验证方程什么情况下成立,从而得到相应的解。构成for循环语句。2.5统计整数输入一个字符串,内有数字字符和非数字字符如123a345bcd567,将其中连续的数字作为一个整数,依次存放到整型数组a中,例如,123放在a0,345放在a1中,567放在a2中,统计共有多少个整数,并输出这些整数。分析:根据题意,将字符串中的连续数字作为一个整数,一次存放到整形数组a中。利用for循环语句使程序可以循环进行,if语句
10、判断该字符是否是09之间,即判断是否是数字,并输出结果。2 .6加密还原利用指针作函数参数,设计一函数对字母进行简单加密,把当前的字母变成后面第3个字母,如最后三个字母x、y、z变成字母a、b、c。再设计一函数把加密字符还原。分析:根据题意,编写一个程序实现如下功能:调用一个名为gm的函数,该函数实现简单的加密。加密方法如下:先定义一张字母加密对照表:原字母 a b c 加密后字母 d e f将需要加密的一行文字输入加密程序,程序根据加密表中的对应关系,可以简单地将输入的文字加密输出,再解密,输出原函数。 运行示例:输入函数:e f g 输出加密函数:h i j输出原函数:e f g3 系统使
11、用的主要函数表3.1系统使用的主要函数序号文件名函数名函数功能说明1成绩处理.hcjcl()输入n个人成绩,按要求对成绩进行整理统计2加法考试题.hjfkst()判断学生加法考试题计算结果正确与否3学生成绩统计.hxscjtj()输入学生成绩,对学生成绩进行统计4百钱百鸡.hbqbj()百钱买百鸡,经计算输出各种买法5统计整数.htjzs()输入字符串,将连续数字放入a中并输出6加密还原.hjmhy()对输入的字母按照规则进行加密再还原4 详细设计4.1 程序总体结构图根据设计出如下“C课程设计课题演示系统”的主控模块。在主控模块中,只要在主函数main()前加入包含各子系统文件组成的头文件,
12、我们就能方便的调用各子系统的函数了。C语言课题演示系统主控模块加法考试题模块学生成绩统计模块百钱百鸡模块退出加密还原模块整数统计模块成绩处理模块图4.1 主控模块子模块1:加法考试题模块程序1模块程序3模块程序2模块程序4模块图4.2 子模块1子模块2:统计整数模块输入字符串连续数字存放到整形数组a 中输出整数及其个数图4.3 子模块24.2 程序流程图开始int choice;char ch;ch=yNch=y|ch=Y? Y输入菜单1 2 3 4 5 6 0printf:”菜单选择错误!请重新输入!”退出ch=njmhy()tjzs()bqbj()xscjtj()jfkst()cjcl()
13、breakbreakbreakbreakbreakbreakbreak输出结果结束图4.4 主控模块流程图Int bN,j,i,ui+bi=0printf(不及格同学为n)开始YNj=0jibj60printf(%s ,aj)j+NNYYu=0u=averNNYY 结束return0K2=k/iu+bu=90&bu=60&bu=70&bu=80&bu90p+NYNY 图4.5 学生成绩统计流程图int i,j,k开始i=1,j=1Ni=20YNj=33 Yk=100-i-jN5*i+3*j+k*1/3=100 Yprintf(“i=%d,j=%d,k=%d,i,j,k)j+i+结束图4.6 百
14、钱百鸡流程图charch1000.*p=ch开始int a50.*q=a,num=o,iNYYYi+,q+printf(“%d”,*q)i=0&*p=9N结束图4.7 统计整数流程图5 功能测试5.1 系统主界面用户通过输入数值选择所需运行的子程序,当一个子程序运行结束后回到菜单界面,从1-6,一次类推,直至用户输入0后退出程序,如图5.1所示。图5.1 主菜单5.2成绩处理界面输入n个人的成绩,计算和及平均分,按平均分分成A、B两档,分别统计两档的最高最低分,计算两档人数及占总人数比率,如图5.2所示。图5.2 成绩处理界面5.3 加法考试题界面选择4个程序中的一个进行加法运算,由系统判断对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 BE100716 刘婷惠 语言 课程设计 报告
限制150内