C程序设计-学生成绩管理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计-学生成绩管理

课程设计说明书 (C程序设计) 班级: **** 姓名: **** 设计题目: 《C程序综合应用》 设计时间: 2008.9.1 至 2008.9.5 指导教师: **** 评 语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩: 评阅教师: 课程设计说明 (1)课程设计的目的 通过这次课程设计,对上学期所学习的C语言知识进行巩固和复习,并进一步对先前未掌握的知识做进一步学习和研究,融入自己的课程设计中,提升编程能力,解决实际问题。 掌握字符串的定义,初始化,处理(包括连接、复制、查找、排序等)、选择结构程序设计、switch语句的应用、定义结构体类型变量的方法、结构体变量的引用和初始化、指向结构体变量的指针的应用、用结构体变量和指向结构体变量的指针作函数参数的方法、建立动态链表并输出链表、对链表进行插入和删除的操作、文件的打开与关闭、文件的写入和存储操作、fprintf,fopen,fclose等函数的使用,并将其灵活应用到课程设计中。 (2)软件的总体结构图以及主要功能模块 具体说明:(重要看点用★标记) 该设计名称为C语言综合应用,因此在主函数中设有一个菜单,其中包含五个功能模块(包含学生成绩管理、日期查询系统、字符数组运算功能、汉诺塔功能五个部分),主函数通过运用switch语句实现对以上各个模块的调用,进行运算,输入选择的序号实现这一功能,同时若输入有误给出输错信息。 日期查询系统:该系统的功能分为两个部分,一个是对输入的日期进行判断,看其是这一年中的第几天(同时要注意闰年的问题),这部分是用子函数fun1实现的,一个是判断所输入的月份的最后一天是一年中的第几天,并将这个结果保存在名为test1.txt的文件中,这部分使用子函数fun2实现的。 ★ 这一系统应该说运用的知识比较多,更重要的是用到了文件的打开关闭及写文件并保存的内容,还有结构体的建立、赋初值,指向结构体变量的指针,通过只针对结构体赋值、调用函数等。 其中,年 月 日定义为结构体,再定义一个结构体变量date和指向结构体变量的指针p,首先将date的首地址赋给p,给结构体赋值,以p- nian,p- yue,p- ri作为实参,传递给子函数fun1和fun2中的形参进行运算,由于年份(有闰年和平年之分)月份(每个月的总天数不同)的特殊性,因此运算具有很强的逻辑性,首先用数学公式判断这一年是闰年,还是平年,然后,在运用switch语句进行分别计算,这一天是全年的第几天,这是fun1的功能。 ★ fun2中的判断这个月的最后一天是全年的第几天的功能与以上的算法相同,但不同在于(也是这个子程序的特色之处)需要将结果保存到文件名为test1.txt中,首先定义一个指向文件类型的指针变量fp,输入要保存的文件名,即filename,用fp fopen filename,w 语句打开该只写文件,在打开之前要先检查打开的操作是否出错,若不能实现打开任务,由fopen函数带回一个出错信息,即一个空指针值NULL,由exit函数关闭所有文件进行进一步检查,之后用fprintf函数将给定类型的字符串输出到fp指向的文件上,最后运用fclose函数关闭该文件。 ★ 汉诺塔问题:这一部分是我在课外学习的过程中积累的知识的运用,其中运用到了函数的递归调用,可能有些思路方面还不太成熟,有待改善,汉诺塔的规则是将a针上的圆盘移送到c针上,但是每次移动都只能保证大的圆盘在下面,首先输入需要移动的塔数n,然后将n,a,b,c作为实参,传递给子函数中的形参进行运算,逻辑关系主要为:将a上的第n-1个圆盘移到b上,再将a上的第n个圆盘移动到c上,最后将b上的n-1个圆盘移动到c上,由于子函数hannuota1的作用就是将形参x上的圆盘传递给z上,我的想法是利用函数的递归调用对该问题进行处理,但是,缺点在于else语句后面的printf语句的变量的顺序我不太明白,在我看来应该是x到y,可是没有成功,调试了好多次,才成功,最终结果是x到z,在递归调用过程中n n-1,所以n的值逐渐递减最后等于1,再逐层返回。 字符数组的运算功能:这一部分也运用到了菜单对各个函数进行调用,原理与主函数的相同,包含多个字符串排序、字符串的复制、字符串的统计、字符串的比较、字符串的长度、字符串的大小写转换、字符串查找功能7个模

文档评论(0)

bh10099 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档