目录
题目需求
程序编写
定义学生结构体:
选择菜单:
文件读入结构体变量:
结构体变量写入文件:
输入检查:
输入记录:
打印记录:
修改记录:
删除记录:
查找信息:
最终代码:
调试:
软件准备:
测试数据:
直接复制测试数据版本:
输入,打印输出功能测试:
统计功能测试:
其他功能测试:
题目
编写一个C语言程序,实现学生成绩管理系统,至少能够管理30条的成绩信息。其中:学生成绩信息主要包括:学号,姓名,各科成绩(假设四科成绩:数学,英语,政治,程序设计),用结构类型数组保存学生成绩信息;学生成绩信息保存到文件中;注:成绩为良以上的需用文件保存数据;每一功能用函数实现; 具体功能要求如下:
1)【录入】能够从文件中读学生成绩信息,也能够随时录入1条学生成绩信息。
2)【修改】能够随时按学号修改1条学生信息,包括:对已录入的信息进行修改。
3)【删除】能够随时按学号删除1条学生信息。
4)【显示】能够按照要求把结果显示到屏幕上。
5)【查询】能够按照输入要求把查询结果显示到屏幕上(例:按学号查询,结果有一条或没有相应信息显示,或按成绩查询,结果可能有多条记录或没有相应信息显示)。
6【统计】能够按照输入要求统计相应功能(例:统计每门课平均成绩并显示,统计每门课优秀率学生人数并显示)。
7)【存储】能够将当前系统中的所有信息保存到文件中。
程序编写
定义学生结构体:
#define MAX_STUDENTS 30
// 定义结构体类型
typedef struct Student {int id; // 学号 char name[20]; // 姓名 int scores[4];// 各科成绩(数学、英语、政治、程序设计)
}STU;
STU students[MAX_STUDENTS];
首先我们将学生的信息全部封装成一个结构体,这样我们才能方便后续使用。
选择菜单:
#include<stdio.h>
void menu(void);
void main(void)
{short int flag = 0;menu();do{flag = 1;switch (getch()){case '1':; break;case '7':exit(0); default: printf("输入有误\n");}printf("按任意键继续\n");getch();menu();} while (flag == 1);
}/*选择菜单*/
void menu(void)
{system("cls");printf("\n");printf("*********欢迎进入学生成绩管理系统**************\n");printf(" 菜单 \n");printf("输入记录-------------------------------------1\n");printf("修改记录-------------------------------------2\n");printf("删除记录-------------------------------------3\n");printf("查询记录-------------------------------------4\n");printf("统计记录-------------------------------------5\n");printf("显示记录-------------------------------------6\n");printf("退出系统-------------------------------------7\n");printf("**********************************************\n");printf("请输入您的选择\n");
}
这段代码实现了一个学生成绩管理系统的菜单选择功能。以下是代码的解析:
- 包含头文件:
#include<stdio.h>
包含了C语言的标准输入输出库,使得程序可以使用printf
和getch
等函数。