C语言课程设计实验报告
n=reads(stu)循环变量i=0当i j++图5按总分排 4.程序清单 本程序主要由九个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,添加学生数据函数、删除数据函数和排序函数是程序中较为核心的部分,下面分别进行说明。 1.录入车次信息函数 录入车次信息,首先由程序创建一个新文件,并将录入的车次信息写入该文件(e:\\\\train.txt)当中。具体的程序段如下: if((fp=fopen(\ //如果文件已经存在,可以追加车次信息 { if((fp=fopen(\文件不存在时,创建新文件,输入车次信息 { - 6 - C语言课程设计实验报告 printf(\文件打开失败!\\n\ return; } } printf(\请输入要车次的数量,按回车键确认:\ scanf(\ for(i=1;i<=n;i++) { printf(\请输入第%d个车的车次,日期,始发,终点,用空格分开,并按回车键确认:\\n\ scanf(\ printf(\请输入第%d个卖出的数量,车次所需的费用,用空格分开,并按回车键确认:\\n\ scanf(\ fprintf(fp,\eprice); } fclose(fp); } 2.旅客买票函数 对于买票,这部分程序然调用了reads函数,首先应输入旅客所买车次,然用if函数进行比较,如果成立就进行一下售票以及金额运算,最后调用save函数进行更新。 具体程序如下: n=reads(tra); printf(\请输入待查询的车次号,按回车键确认:\\n\ scanf(\ for(i=0;i if(num==tra[i].num) break; if(i>=n) { printf(\没有找到该车次信息!\\n\ return; } else printf(\请输入所买票数,按回车键确认:\\n\ - 7 - C语言课程设计实验报告 scanf(\ tra[i].maipiao=tra[i].maipiao+j; printf(\购买成功\\n\ printf(\tra[i].maipiao,tra[i].tickeprice); save(tra,n); 3. 查询销售总额 对于也使用比较日期的方法实现的,这部分程序仍然调用了reads函数,整个排序过程在文件中实现,然后用for循环进行运算,把查询这一天的总额算出。 具体程序如下: if((fp=fopen(\ { printf(\读取错误,不能打开该文件!!\\n\ return; } else for(i=0;i fscanf(fp,\tra[i].maipiao,&tra[i].tickeprice); printf(\请输入你要查询的日期:\\n\ scanf(\ for(i=0;i {sum=sum+tra[i].maipiao*tra[i].tickeprice;j=1; } - 8 - C语言课程设计实验报告 if(j==0) printf(\无此日期销售信息,请重新输入\ else printf(\今天的总销售额为:%f\\n\ fclose(fp); 5.所遇到的问题 问题一:屏幕停滞问题 由于知识的有限,对于很多功能知识了解大概,通过网上的查询,得知getchar()有停滞界面的功能。 问题二:????(你们自己补充问题) 6.课程设计总结 范立恒:本次C语言课程设计从暑假就开始收集资料,学习相关知识,一些上课未涉及 的内容也做了些了解和掌握,直至开学的第一周陆续完成。 在实验的设计的过程中出现了许多上课、作业中没有遇到过的问题,这就是理论与实践的区别,知道知识却不能很好的运用,说明自己没有真正的掌握C语 言,学习的只是皮毛,使我认识到了实践、动手编译的重要性。 以下本次C语言课程设计的几点小结: (1) 通过上网学习和参阅参考资料陆续解决了系统时间的定义及调用、菜单形式界 面的形成、屏幕停滞问题等问题。 (2) 在编译的过程中大大提高了编程的逻辑性,在语言清晰、简洁方面有了较好的 提高。在程序查错的过程中也学会了设置断点,分块检查,逐渐提高了判断错误的速度和准确性。 (3) 通过在上课时间与老师的交流了解到了函数模块化的重要性。把程序的总目标 分成一个个模块,提高清晰度和可读性。 (4) 本次试验是个自主学习的机会,通过本次试验也增强了自己的信息获取能力和 自学能力。 聂俊豪:通过这次学习,使我更加深刻的了解了 c语言的用处,也使我更加喜欢这一学 科,但也有一些不足之处:在统计金额方面不会使用定义时间的函数,不能把时间函数有效的使用,从而是程序有了一些瑕疵。这也只能希望在以后的学习中我能够慢慢的把这些问题解决掉。 陈根:紧张的近一周数据结构课程设计很快过去了,通过这周的学习使我巩固了以前的 - 9 - C语言课程设计实验报告 知识并在此基础上对数据结构的特点和算法有了更深的了解, C语言是计算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且已经成为其他理工专业的热门选修课。在计算机的研究和应用中已展现出强大的生命力,它兼顾了诸多高级语言的特点,是一种典型的结构化程序设计语言,它处理能力强,使用灵活方便,应用面广,具有良好的可移植性,同时这两周的学习也提高了我适应实际,实践编程的能力. 黄文康:首先这一周的学习,使我在巩固了原有的理论知识上,培养了我灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力,使我体会到自身知识和能力在实际中的应用和发挥。其次,激发了我创新意识,开发创造的能力和培养沟通能力。另外,让我进一步熟悉了数据结构的设计应用。每一处编码都是在反复的熟悉数据结构的结构特性,及其语法、函数和程序设计思想的过程,对我数据结构的学习和提高很有益处,并且使我明白了程序设计过程有如解决一实际问题,从解决实际问题的角度,我们可以这样来看:第一要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;第二,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的数据结构的基本类型——线性表、栈、队列、串、数组、树和二叉树以及图等,然后确定处理过程——算法,可得最后结论。最后,在这次课程设计过程中,我们深刻的认识到了自己在学习方面的不足之处,我们知道我们还有太多的基本的思想没有真正的理解,当然我们不会灰心,我们会在以后的日子里努力弥补我们的不足。 麦灿文:一个礼拜的课程设计让我们受益匪浅。要学好一门学科,没有刻苦钻研的精神是不行的,只有在不断的尝试中,不断经历失败,然后又不断的尝试才能获得成功。两个多礼拜中,我们有过山穷水尽的困惑;有过柳暗花明的惊喜;有过唇枪舌剑的辩论;有过相互鼓励的安慰。一个礼拜的时间我们经历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我们不仅学到了很多知识和技能,更重要的是我们学会了如何运用所学知识去解决实际问题。 对于我本人来讲这次课程设计的总体表现,我自己还比较满意,每天做到了按时的出勤,上机遵守机房的管理规定,遵循指导老师的安排并能适时地与老师进行沟通,觉得不足的是不能熟练地掌握c语言的设计技巧使编程的结果缺乏效率,不过我相信这只是我的一个开始,我更应该注重的是这次过程,我坚信我会在以后的学习和训练中不断地弥补自己的不足之处,不断的完善自己的编程能力,因为成功需要一点一点积累。 - 10 -