输入学生学籍信息,统计学生某一门课的成绩并且根据这门课的成绩给出相应的等级评定!
根据提供的文件标题、描述、标签以及部分内容,我们可以总结出该程序是用于管理学生学籍信息及成绩统计的应用。下面将详细解析其中所涉及的关键知识点。 ### 关键知识点 #### 1. 学生信息结构体定义 在 C 语言中,`struct` 是一种用户自定义的数据类型,它允许我们将不同数据类型的多个变量组合在一起。本程序中的 `struct student` 定义了学生的学号、姓名、性别、班级和成绩等属性: ```c struct student { int num; char name[20]; char sex[2]; char banji[10]; float score; }; ``` #### 2. 输入学生信息 通过 `input` 函数实现学生信息的输入,包括学号、姓名、性别、班级和成绩等字段的输入。这部分功能通常涉及到用户交互,即从标准输入(如键盘)读取数据,并将这些数据存储到预先定义好的结构体数组中。 ```c struct student input(struct student stu[], int k); ``` #### 3. 显示学生信息 `display` 函数用于显示所有已录入的学生信息,包括学号、姓名、性别、班级和成绩等字段的信息。此函数通常会遍历整个学生结构体数组,并逐一打印每个学生的相关信息。 ```c void display(struct student stu[], int k); ``` #### 4. 添加学生信息 `addarr` 函数负责添加新的学生信息到结构体数组中,同时更新当前已有的学生数量。这个过程可能需要检查数组是否已满,以及如何处理新增加的数据。 ```c int addarr(struct student stu[], int k); ``` #### 5. 排序学生信息 `sortarr` 函数可以对学生的成绩进行排序,以便于后续的操作。排序算法可以采用多种方法实现,如冒泡排序、插入排序或快速排序等。 ```c void sortarr(struct student stu[], int k); ``` #### 6. 删除学生信息 `delarr` 函数用于删除指定的学生信息。删除操作可能涉及到重新组织数组中的元素,以保持数组的有效性和完整性。 ```c int delarr(struct student stu[], int k); ``` #### 7. 搜索学生信息 `search` 函数能够帮助用户查找特定的学生信息。搜索可以通过学号、姓名等属性来进行,以方便快速定位所需的学生记录。 ```c void search(struct student stu[], int k); ``` #### 8. 计算班级平均分 `classavg` 函数用来计算并显示班级的平均成绩。这通常涉及到遍历学生数组,并对所有成绩求和后除以学生总数。 ```c void classavg(struct student stu[], int k); ``` #### 9. 系统退出 `exit` 函数用于安全地关闭系统,通常是在完成所有操作后调用此函数来结束程序运行。 ```c void exit(); ``` #### 10. 用户界面设计 程序还包含了一个简单的命令行用户界面,通过 `menu` 和 `login` 函数实现。这些函数负责展示菜单选项,并允许用户选择执行相应的操作。 ```c void menu(); void login(); ``` ### 总结 以上就是基于给定的文件信息所整理出来的关键知识点。这个程序通过结构体来组织和管理学生的信息,并提供了一系列的功能模块来实现对学生信息的增删查改及成绩统计等功能。整体上,这是一个典型的学生信息管理系统案例,包含了数据结构、文件操作、用户界面设计等多个方面的内容。
*目的:实现学生成绩管理,每个学生包括三门课的成绩.学生信息包括学号姓名,成绩等信息
*计算出平均成绩,按学生平均成绩由大到小排序插入,删除,查找学生信息
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#define D 20 //定义学生数为20
//定义学生信息结构
struct student
{
int num;
char name[20];
char sex[2];
char banji[10];
float score;
};
void login();//定义登陆函数
void menu();//定义菜单函数
struct student input(student [],int);//定义单个学生输入函数
void display(student stu[],int k);//定义显示函数
int addarr(student stu[],int k);//定义插入函数
void sortarr(student stu[],int k);//定义排序函数
int delarr(student stu[],int k);//定义删除函数
void classavg(student stu[],int k);//定义班级及格率显示函数
void exit();//定义退出函数
//主函数
void main()
{
struct student stu[D];//定义结构数组变量stu[N]
int num,i,k,r=0;//num用于菜单选项选择;i用于录入学生信息的循环;k用于计算学生个数;r用于计算主函数执行次数并初始化为0
char ch;//用于菜单选项选择后小功能选择
system("color 3b");//设置DOS窗口的背景色和字体颜色
login();//调用登陆函数
/*用其所长do{}while();来控制用户是否返回主菜单*/
do
{
system("cls");
/*输出提示信息*/
printf("\t ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ☆ ☆ ☆ ☆ ☆ ☆ ☆~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n");
printf("\t ~ ★---您好,欢迎进入学成绩管理系统---★ ~ \n");
printf("\t ~ ~ \n");
printf("\t ~ ~ \n");
printf("\t ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ☆ ☆ ☆ ☆ ☆ ☆ ☆~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n ");
printf("==============================================================================\n");
printf("\t\t\t 主菜单\n");
printf("\t\t\t ┌────────────┐\n");
printf("\t\t\t │[1] 学生信息录入 │\n");
printf("\t\t\t ├────────────┤\n");
printf("\t\t\t │[2] 学生信息显示 │\n");
printf("\t\t\t ├────────────┤\n");
剩余21页未读,继续阅读
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助