《程序设计基础课程设计报告》由会员分享,可在线阅读,更多相关《程序设计基础课程设计报告(20页珍藏版)》请在金锄头文库上搜索。
1、课程设计(大作业)报告课程名称:程序设计基础 设计题目:学生成绩记录薄设计 院 系:信息技术学院 班 级:设 计 者: 学 号: 指导教师: 设计时间:2013.7 8.-2013.7.13 信息技术学院昆明学院课程设计(大作业)任务书姓 名: 院(系):信息技术学院专 业:计算机科学与技术 学 号:任务起止日期:2013.7 .8-2013.7.13 课程设计题目:学生成绩记录薄设计 课程设计要求:(1) 通过课程设计,进一步掌握C语言的语法结构,基本流程,更加深入和全面理解所学的基本概念、基本原理和基本方法。(2) 独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决
2、实际问题的能力。提高程序编制、程序调试及综合应用的能力(3)明确课程设计的目的,通过布置具有一定难度的,能综合运用所学知识的程序设计题目。(4)程序设计经过需求分析,明确程序设计题目要求,进行合理的设计,编码阶段编出的程序易读、易懂并具有良好的交互性,界面清晰。测试阶段应指导学生编写测试用例,尽量多地找出程序中的错误,进行调试。工作计划及安排: 第一天的,两个人合作选定题目,建立起程序的构思图形,了解题目意思,确立程序的方向,并且查阅一些资料开始构建程序。 第二天,两人商量分工合作,确定谁写那段函数,并且在总体思路的框架下,逐步写程序,并确保证程序无误。 第三天,将小程序合并,进行调试,对里面
3、出现的问题协商合作共同解决。 第四天,开始写实验报告,对每次失败原因进行总结,并且整合两人思想纂写报告。 第五天,实训课也接近尾声,和班上的同学交流心得体会。指导教师签字 2013年 7 月 8日 课程设计(大作业)成绩学号: 姓名: 指导教师:课程设计题目: 学生成绩记录薄设计总结:通过一周C语言课程设计,不仅增加了我对C语言学习的兴趣,还让我对C语言有了更深的了解。在这次的实训中,我们通过自己动手查找资料,并自己设计程序,还上机运行验证我们的程序。虽然在上机调试过程中,我遇到了很多的困难,(比如:很难理解一些逻辑思维上的东西)但通过自己不断的重新理解和修正,最终还是成功的完成了程序的设计。
4、那种喜悦感难以用言语来表达,这让我感觉到学习也可以是快乐的。在这次设计我不单单学习到了C语言的知识,也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。有许多知识,光靠老师上课所讲的和自己看书得到的,还远远不够,C语言主要是通过上机来熟悉并且运用的,这次的实训课让我深刻的明白了这一点。所以在以后的学习生活中,我要经常写程序并上机进行调试,不断从中学习新的知识。还有一点就是:不懂就问。遇到难题实在解决不了的,问老师同学,和同学共同讨论,有合作精神也是很重要的。希望以后还有更多的实训机会,让我得到锻炼。指导教师评语:成绩:填表时间:指导教师签名学生成绩记录薄设计一、课程设计目的与要
5、求1.课程设计目的(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。2. 课程设计要求 设计一个简易学生成绩记录簿设计,其中包括:姓名,学号,C语言成绩; 具体功能: 1系统以菜单方式工作 2. 创建学生成绩信息并以磁盘文件保存; 3. 读取磁盘文件并显示输出所有学生的成绩; 4. 查询学生成绩 (1)按学号查询成绩 (2)学号姓名查询成绩 5添加成绩记录; 6修改指定姓名或学号的学生的成绩并可存盘; 7显示输出60分以
6、下、6079、8089、90分以上各分数段的学生信息。二、 总体设计根据系统的要求,系统总体设计如图1所示。读取并显示所有成绩学号查询成绩成绩姓名查询成绩添加成绩记录修改学生成绩结束程序学生信息输入 学生成绩记录薄图1 系统总体结构三、详细设计1、数据结构设计#include#include#include#includeint n=4;struct studentint num; /*学号*/char name10; /*姓名*/float score3; /*成绩*/2函数说明1.主函数main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。2.其他部分功能函数包
7、括(1) 将学生成绩信息保存为文件void save(); 算法思想:定义指向文件的指针变量;输入保存路径及文件名,打开文件,若不能打开文件给出提示信息;将存有学生成绩信息的结构体数组信息依次保存到文件中。 (2) 学生成绩信息录入函数void input()算法思想:依次录入结构体数组中所包含的各个成员;直到输入的结构体成员中信息为4,数据输入结束;返回实际录入的学生成绩信息数。(3)从文件中读出学生成绩信息void output(); 算法思想:定义指向结构体变量的指针和指向文件的指针;输入文件的路径,打开文件,若不能打开文件给出提示信息;将文件中的信息依次读出,最后结构体的指针为NULL
8、。3函数设计(1)主菜单函数main()功能:函数返回值为整数,代表所选的菜单项 int main ()printf( * n);printf( n); printf( n);printf( 欢迎进入学生成绩记录系统 n);printf( n);printf(【1】- 创建学生成绩信息 n); printf( n);printf(【2】- 显示所有学生成绩信息 n); printf( n);printf(【3】- 添加学生成绩信息 n);printf( n);printf(【4】- 查询学生成绩信息 n); printf( n); printf(【5】- 修改学生的信息 n); printf(
9、 n);printf(【6】- 按分数段显示学生的信息 n); printf( n); printf(【0】- 退出 n);printf( n);printf( * n);printf( 请输入相应菜单编号: );(2) 我负责编写的程序A.添加学生信息 void Addstudent() FILE *fp;struct student s;fp=fopen(stu.dat,ab); if(fp=fopen(stu.dat,ab)=NULL) printf(File open error!n); else printf(请输入所增加学生的 学号 姓名 c语言成绩:n);scanf(%d,&s.num ); scanf(%s,s.name);scanf(%f,&s.score0);fwrite (&s,sizeof(struct student),1,fp);fclose(fp);/*关闭文件*/printf(写入成功!n); /end function Addstudent;B.修改学生成绩void modify() int number,i;printf(请输入要修改信息的学生学号:); scanf(%d,&number); for(i=0;in;i+)if(number=studi.num) break;/*查找判断*/