当前位置 : 主页 > 编程语言 > c语言 >

用c语言实现学生管理系统

来源:互联网 收集:自由互联 发布时间:2023-09-03
学生成绩信息管理系统列表:1. 用结构体存放所有数据。 2.使用函数实现不同功能 2.1输入学生信息2.2函数:计算学生的总分2.3按总成绩从高到低进行排序2.4对排好名次后的每个学生赋予

学生成绩信息管理系统 列表: 1. 用结构体存放所有数据。

2.使用函数实现不同功能

2.1输入学生信息 2.2函数:计算学生的总分 2.3按总成绩从高到低进行排序 2.4对排好名次后的每个学生赋予名次 2.5将所有数据输出

typedef struct{ int ID; float score[3]; float total ; int rank; }STU;

2.使用函数实现不同的功能

2.1.输入学生的信息: void input_data(STU s[]) { int i = 0; for (i = 0; i < 10; i++)//这里假设有十个学生 { scanf("%d", &s[i].ID);//输入每个学生的ID for (int j = 0; j < 3; j++) { scanf("%f", &s[i].score[j]); //输入每个学生的语文,数学,英语三门科目的分数 } } }

2.2.函数:计算学生的总分 void calculate(STU s[]) { for(int i=0;i<10;i++) { s[i].total =0; //在这里将总成绩初始化为0,也可以在创建结构体时 将总成绩初始化为0 } for(int i=0;i<10;i++) { for(int j=0;j<3;j++) { s[i].total += s[i].score[j];//求和 } } }将学生的各科成绩求和 如上:

2.3. 按总成绩从高到低进行排序 使用冒泡排序void sort_total(STU s[]) { STU tmp;//结构体变量,需要什么类型的临时存储值,就创建什么类型的临时变量 int i=0; int j=0; for(i=0;i<10;i++) { for(j=0;j<10-i-1;j++) { if(s[j].total

2.4.对排好名次后的每个学生赋予名次 void add_rank(STU s[]) { for(int i=0;i<10;i++) { s[i].rank =i+1; //i+1 是由于数组从0开始,而常见的排名是从第一名到第n名 } }

2.5 将所有数据输出 void print_data(STU s[]) { /********** Begin **********/ int i=0; int j =0; printf("学号: 语文: 数学: 英语: 总分: 名次:\n"); for(i=0;i<10;i++) { printf("%-15d",s[i].xuehao); for(j=0;j<3;j++) { printf("%-15.1f",s[i].score[j]); } printf("%-15.1f%d",s[i].total,s[i].rank); printf("\n"); }主函数如下:int main() { STU s[10]; input_data(s); calculate(s); sort_total(s); add_rank(s); print_data(s); return 0; }

上一篇:ORACLE数据库长连接客户端持久的CLOSE_WAIT
下一篇:没有了
网友评论