1 题目与要求。
1.1 问题提出。
学生信息应该包含学号、姓名、班级、三门课成绩和总成绩。
系统要能够实现对学生成绩的输入、输出、删除、修改、排序、显示不及格学生信息。
能够按学号或姓名查找学生的信息。
1.2 本系统涉及的知识点。
结构体数组的定义与引用;函数的定义与调用;局部变量和全局变量;多函数的链接与编译;for循环语句;if语句;break语句;goto语句;格式输入与输出;结构体数组的排序;字符串处理函数;函数的定义数组作为函数参数。
1.3 功能要求。
1. 输入学生信息(学号、姓名、班级和三门课成绩)。
2. 修改学生信息。
3. 删除学生信息。
4. 对学生信息排序。
a) 按学号排序。
b) 按姓名排序。
c) 按班级排序。
d) 按总分降序输出成绩。
5. 显示学生成绩。
6. 根据学号或姓名查询学生成绩。
7. 输出挂科学生信息。
2 功能设计。
2.1 数据结构定义。
typedef struct student
char id[11]; 学号。
char name[20]; 姓名。
char _class[20]; 班级。
double score[3]; 三门课成绩。
double sum; 总成绩。
st结构体的类型。
static int n=0; 静态全局变量,统计输入信息个数。
2.2 功能模块。
3 程序**设计。
主函数模块:main函数,程序的起始点。
通过switch语句选择进入的功能。
int main(void) /主函数开始。
int choice;
while(1不断的循环输出菜单让用户选择。
return 0;
总菜单模块:输出提示信息让用户选择。
输出提示的信息,让用户根据提示信息选择相应的功能。
int menu_select()
int c;
printf("\t\tn");
printf("\t\t学生成绩管理系统n");
printf("\t\tn");
printf("\t\tn");
printf("\t\t │ 1. 输入学生信息和分数 │");
printf("\t\tn");
printf("\t\t │ 2. 删除学生信息n");
printf("\t\tn");
printf("\t\t │ 3. 修改学生信息n");
printf("\t\tn");
printf("\t\t │ 4. 排序输出n");
printf("\t\tn");
printf("\t\t │ 5. 显示所有学生成绩n");
printf("\t\tn");
printf("\t\t │ 6. 根据学号或姓名查询成绩 │");
printf("\t\tn");
printf("\t\t │ 7. 显示挂科学生信息n");
printf("\t\tn");
printf("\t\t │ 8. 退出程序n");
printf("\t\tn");
dowhile(c<0||c>9);
return c;
学生信息输入模块:输入学生的信息。
首先输出提示符,提示使用者输入几个学生信息,然后依次按照学生学号、学生姓名、学生三门课成绩输入。
void enter()
int p整形p存储所要添加学生信息个数。
printf("请输入要录入学生个数:")
scanf("%d",&p);
for(i=n;i整形n为全局静态变量,为了存储学生个数。
printf("请输入第%d个学生信息:",i+1); 提示输出第几个学生信息。
printf("\t\t请输入第%d个学生信息:",i+1);
printf("\t\t学生学号:")
scanf("%s",&s[i].id);
printf("\t\t学生姓名:")
scanf("%s",&s[i].name);
printf("\t\t学生班级:")
scanf("%s",&s[i]._class);
printf("\t\t语文成绩:")
scanf("%lf",&s[i].score[0]);
printf("\t\t数学成绩:")
scanf("%lf",&s[i].score[1]);
printf("\t\t英语成绩:")
scanf("%lf",&s[i].score[2]);
s[i].sum=s[i].score[0]+s[i].score[1]+s[i].score[2];
scanf("%s %s %lf %lf %lf",&s[i].id,&s[i].name,&s[i].
score[0],&s[i].score[1],&s[i].score[2]);
s[i].id 结构体变量中给学生输入学号。
n=p+n所有学生信息个数。
printf("s[i].name 结构体变量中给学生输入姓名。
/ s[i].score[0] s[i].score[1] s[i].score[2]
结构体变量中给学生输入三门课成绩。
修改信息模块:修改错误的学生信息。
通过循环依次比较输入信息和每个学生的是否相同,修改相同信息的内容。
变量作用同上。
void alter()
int d储存选择相应功能的变量。
sr: printf("\t\t请输入学号或姓名:")
scanf("%s",&
for(i=0;i
if(i==n)
printf("\t选择修改内容:");
printf("\t┌──n");
printf("\t│1.学生学号 │");
printf("\t│2.学生姓名 │");
printf("\t│3.学生班级 │");
printf("\t│4.语文成绩 │");
printf("\t│5.数学成绩 │");
printf("\t│6.英语成绩 │");
printf("\t└──n");
printf("\t请选择所需修改的内容选择修改信息的依据。
scanf("%d",&d);
switch(d)
case 1:
printf("请输入学生学号:")
scanf("%s",&s[i].id);
break;
case 2:
printf("请输入学生姓名:")
scanf("%s",&s[i].name);
break;
case 3:
printf("请输入学生班级:")
scanf("%s",&s[i]._class);
break;
case 4:
printf("请输入语文成绩:")
scanf("%lf",&s[i].score[0]);
break;
case 5:
printf("请输入数学成绩:")
scanf("%lf",&s[i].score[1]);
break;
case 6:
printf("请输入英语成绩:")
scanf("%lf",&s[i].score[2]);
DS课程设计报告正文格式
1 题目与要求 左对齐,宋体粗四号 1.1 问题提出 左对齐,宋体粗小四号 详细叙述本人所要实现的题目中的问题 宋体,小四 1.2 本系统涉及的知识点。描述本设计所采用的数据结构的逻辑结构 宋体,小四 1.3 功能要求。叙述本人所要实现的题目的功能 宋体,小四 2 功能设计。2.1 数据结构定义。定...
DS课程设计报告正文格式
1 题目与要求 左对齐,宋体粗四号 1.1 问题提出 左对齐,宋体粗小四号 详细叙述本人所要实现的题目中的问题 宋体,小四 1.2 本系统涉及的知识点。描述本设计所采用的数据结构的逻辑结构 宋体,小四 1.3 功能要求。叙述本人所要实现的题目的功能 宋体,小四 2 功能设计。2.1 数据结构定义。定...
课程设计正文格式
学生自然信息管理。1.功能描述。近几年来,计算机的快速发展,使得计算机越来越接近人们的生活,人们可以通过计算机查找自己想要的数据,信息,知识等等。与以往的人力,脑力,精力相比,它更加方便,快捷,而且它的准确度会更高。这些优势深受人们的喜爱,对于许多年轻人来说,它还可以节省时间,它的这些功能越来越成为...