源代码传送门
1、课程设计目的 |
C语言程序设计课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C语言程序设计这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。
|
2、课程设计任务与要求: |
本次课程设计利用《C语言程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求: 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框架 3、编程简练,程序功能齐全,能正确运行 4、说明书、流程图要清楚 5、课题完成后必须按要求提交课程设计报告
任务: 设计一个学生成绩排名系统。
实现功能: 1) 具备对成绩的管理功能(添加、删除、排序) 2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等) 3) 具备按学号、姓名、或课程名查询成绩的功能。 4)学生成绩应该保存在文件中。
备注:成绩记录以下信息:班级,学号,姓名,课程名,成绩(百分制)。可以用能表示学生成绩的结构体数组存储数据。
|
|
概要设计
详细设计
①:首先声明结构体,然后定义结构体数组,数组的每一个元素都包含结构体中的所有成员即学号、姓名、班级、课程名以及分数。 ②:为节省输入信息的时间,定义一个全局变量N=20。(同时为保证更接近信息真实情况,数字不能过小)。 代码如下: struct Student { int num; char name[20]; int clas; char course[10]; float score; }stu[45]; int N=20;
代码如下: int main() { void manage(struct Student stu[]); //声明管理信息函数 void count(struct Student stu[]); //声明统计信息函数 void search(struct Student *p); //声明查找信息函数 void save(); //声明保存信息函数 void read(); //声明读入信息函数 read(); //调用读入信息函数(此处需特别注意read函数的位置:只有先读入文本文件信息,才能进行后续操作) printf("*****************************学生成绩管理系统***********************************"); printf("* *"); printf("* 管理学生信息(请输入1) 统计学生信息(请输入2) *"); printf("* 查询学生信息(请输入3) 保存学生信息(请输入4) *"); printf("* *"); printf("********************************************************************************"); printf("请输入功能选项(1-manage/2-count/3-search/4-save):\n"); int order; scanf("%d",&order); switch(order) //用switch选择结构来调用四个不同的函数 { case 1: manage(stu);break; case 2: count(stu);break; case 3: search(stu);break; case 4: save();break; } return 0; }
并判断是否能正常打开。
代码如下: void read() //定义读入函数(注意read函数在主函数中调用的位置) { FILE *fp; int i; if((fp=fopen("student.txt","r"))==NULL) //r表示为了输入数据打开一个文本文件 { printf(& |