1. 这个代码主要实现以下功能:

2. 用到的主要参数有:

1.整型变量int n;用于储存学生人数和之后的循环判断。
    2.字符串char name[][];用于储存姓名。
    3.浮点型变量float score[];用于储存成绩。
    4.长整型变量long ID[Max];用于储存学号。

3.用到的子函数有:

int  Menu(void);                       系统菜单
void Readscore;                      录入每个学生的学号、姓名和考试成绩
void Aaverage;                        计算课程的总分和平均分
void Scoreuprand;                  按成绩由高到低排出名次表
void Scoredownrand;             按成绩由低到高排出名次表
void IDrand;                             按学号由小到大排出成绩表
void Zdrand;                            按姓名的字典顺序排出成绩表
void IDFind;                             按学号查询学生排名及其考试成绩
void NameFind;                       按姓名查询学生排名及其考试成绩
void Verious;                           按成绩分为5类统计每个类别的人数以及所占百分比
void ScoreList;                        输出每个学生的学号、考试成绩
void Mingzi;                             姓名交换函数
void Xuehao;                           学号交换函数
void Fenshu;                           交换函数
void Chengjidan;                    打印成绩单

4.下面呈现的是C语言学生成绩管理系统(综合项目)的全部代码。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Max 30int  Menu(void);                                                       //系统菜单
void Readscore(float score[],long ID[],int n,char name[][21]);         //录入每个学生的学号、姓名和考试成绩
void Aaverage(float score[],int n);                                    //计算课程的总分和平均分
void Scoreuprand(float score[],long ID[],char name[][21],int n);       //按成绩由高到低排出名次表
void Scoredownrand(float score[],long ID[],char name[][21],int n);     //按成绩由低到高排出名次表
void IDrand(float score[],long ID[],char name[][21],int n);            //按学号由小到大排出成绩表
void Zdrand(float score[],long ID[],char name[][21],int n);            //按姓名的字典顺序排出成绩表
void IDFind(float score[],long ID[],char name[][21],int n);            //按学号查询学生排名及其考试成绩
void NameFind(float score[],long ID[],char name[][21],int n);          //按姓名查询学生排名及其考试成绩
void Verious(float score[],int n);                                     //按成绩分为5类统计每个类别的人数以及所占百分比
void ScoreList(float score[],long ID[],int n);                         //输出每个学生的学号、考试成绩
void Mingzi(char name[],char m[]);                                     //姓名交换函数
void Xuehao(long *px,long *py);                                        //学号交换函数
void Fenshu(float *px,float *py);                                      //分数交换函数
void Chengjidan(float score[],long ID[],char name[][21],int n);        //打印成绩单
int  main()
{int x;int n;char name[Max][21];float score[Max];long ID[Max];printf("--------------------欢迎使用学生成绩管理系统--------------------\n");printf("请输入班级人数:");scanf("%d",&n);getchar();while(1){x=Menu();switch(x){case 1:  Readscore(score,ID,n,name);        break;case 2:  Aaverage(score,n);                 break;case 3:  Scoreuprand(score,ID,name,n);      break;case 4:  Scoredownrand(score,ID,name,n);    break;case 5:  IDrand(score,ID,name,n);           break;case 6:  Zdrand(score,ID,name,n);           break;case 7:  IDFind(score,ID,name,n);           break;case 8:  NameFind(score,ID,name,n);         break;case 9:  Verious(score,n);                  break;case 10: Chengjidan(score,ID,name,n);       break;case 0:  return 0;                          break;default:printf("输入错误!");}}
}//函数功能:显示菜单并选择子程序
//入口参数:无
//返回值:x
int Menu(void)     //---------菜单函数
{int x;system("cls");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("8.按姓名查询成绩\n");printf("9.成绩分析\n");printf("10.成绩单输出\n");printf("0.退出\n");printf("请输入你的选择:");scanf("%d",&x);return x;
}//函数功能:录入每个学生的学号和考试成绩
//入口参数:score,ID,n,name
//返回值:无
void Readscore(float score[],long ID[],int n,char name[][21])     //---------录入函数
{system("cls");printf("--------------------成绩录入--------------------\n");int i;printf("输入学号、姓名和成绩:\n");for (i=0;i<n;i++){//gets(name[i]);scanf("%ld %s %f",&ID[i],name+i,&score[i]);}system("pause");
}//函数功能:计算课程的总分和平均分
//入口参数:score,n
//返回值:无
void Aaverage(float score[],int n)     //---------输出成绩总分和平均成绩函数
{system("cls");printf("--------------------成绩的总分和平均分--------------------\n\n");int i,sum=0;for(i=0;i<n;i++){sum+=score[i];}printf("********成绩总和:%d   成绩平均分数:%.2f********\n",sum,sum/(float)n);system("pause");
}//函数功能:按成绩由高到低排出名次表
//入口参数:score,ID,n,name
//返回值:无
void Scoreuprand(float score[],long ID[],char name[][21],int n)       //---------成绩升序排名函数
{system("cls");printf("--------------------成绩升序名次表--------------------\n");int i,j;for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(score[i]>score[j]){Fenshu(&score[i],&score[j]);Mingzi(name[i],name[j]);Xuehao(&ID[i],&ID[j]);}}}Chengjidan(score,ID,name,n);system("pause");
}//函数功能:按成绩由低到高排出名次表
//入口参数:score,ID,n,name
//返回值:无
void Scoredownrand(float score[],long ID[],char name[][21],int n)     //---------成绩降序排名函数
{system("cls");printf("--------------------成绩降序名次表--------------------\n");int i,j;for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(score[i]<score[j]){Fenshu(&score[i],&score[j]);Mingzi(name[i],name[j]);Xuehao(&ID[i],&ID[j]);}}}Chengjidan(score,ID,name,n);system("pause");
}//函数功能:按学号由小到大排出成绩表
//入口参数:score,ID,n,name
//返回值:无
void IDrand(float score[],long ID[],char name[][21],int n)     //---------学号排名函数
{system("cls");printf("--------------------学号降序成绩单--------------------\n");int i,j;for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(ID[i]<ID[j]){Xuehao(&ID[i],&ID[j]);Fenshu(&score[i],&score[j]);Mingzi(name[i],name[j]);}}}Chengjidan(score,ID,name,n);system("pause");
}//函数功能:按名字在字典位置排出成绩表
//入口参数:score,ID,n,name
//返回值:无
void Zdrand(float score[],long ID[],char name[][21],int n)     //---------字典排名函数
{system("cls");int i,j,k;if(n==0){printf("请先录入成绩!");return 0;}for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(strcmp(name[i],name[j])>0){Mingzi(name[i],name[j]);Xuehao(&ID[i],&ID[j]);Fenshu(&score[i],&score[j]);}}}printf("--------------------名字按照字典的顺序排序--------------------\n\n");Chengjidan(score,ID,name,n);system("pause");
}//函数功能:按学号查询学生排名及其考试成绩
//入口参数:score,ID,n,name
//返回值:无
void IDFind(float score[],long ID[],char name[][21],int n)     //---------学号查找函数
{system("cls");printf("--------------------学号查询系统--------------------\n");long i=0;int low=0,high=n-1,mid,ret,j,k;printf("请输入学号:\n");ret=scanf("%ld",&k);while(ret!=1){while(getchar()!='\n');printf("请重新输入正确的学号:\n");scanf("%ld",&k);}for(i=0;i<n;i++){if(k==ID[i]){printf("查寻结果如下:\n");printf("\n学号:%ld  ",ID[i]);printf("姓名:%s  ",name[i]);printf("成绩:%f\n",score[i]);break;}if(k==(n-1)&&k!=ID[i]){printf("未找到该名同学,请重新输入学号\n");}}system("pause");}//函数功能:按姓名查询学生排名及其考试成绩
//入口参数:score,ID,n,name
//返回值:无
void NameFind(float score[],long ID[],char name[][21],int n)     //---------姓名查找函数
{system("cls");printf("--------------------姓名查询系统--------------------\n");long i=0;int a,j;char cha[11];char chu[11]="0";while(1){printf("请输入姓名进行查询(输入“0”结束查询):\n");scanf("%s",cha);if(strcmp(cha,chu)==0){printf("即将返回主菜单\n\n");return (0);}for(i=0;i<n;i++){if(strcmp(cha,name[i])==0){printf("姓名:%s  ",name[i]);printf("学号:%ld  ",ID[i]);printf("成绩:%f\n",score[i]);break;}if(i==(n-1)&&strcmp(cha,name[i])!=0){printf("未找到该名同学,请重新输入姓名\n");}}system("pause");}
}//函数功能:按成绩分为5类统计每个类别的人数以及所占百分比
//入口参数:score,n
//返回值:无
void Verious(float score[],int n)     //---------按成绩分类函数
{system("cls");printf("--------------------成绩分类表--------------------\n");int i;float x1=0,x2=0,x3=0,x4=0,x5=0;for(i=0;i<n;i++){if(score[i]>=90&&score[i]<=100){x1++;}else if(score[i]>=80&&score[i]<90){x2++;}else if(score[i]>=70&&score[i]<80){x3++;}else if(score[i]>=60&&score[i]<70){x4++;}else{x5++;}}printf("优秀人数为:  %.f   占总人数的:%.2f%%\n",x1,(x1/n)*100);printf("良好人数为:  %.f   占总人数的:%.2f%%\n",x2,(x2/n)*100);printf("中等人数为:  %.f   占总人数的:%.2f%%\n",x3,(x3/n)*100);printf("及格人数为:  %.f   占总人数的:%.2f%%\n",x4,(x4/n)*100);printf("不及格人数为:%.f   占总人数的:%.2f%%\n",x5,(x5/n)*100);system("pause");
}//函数功能:交换姓名
//入口参数:n,name
//返回值:无
void Mingzi(char name[],char m[])    //---------姓名交换函数
{char s[21];                    //---------中间储存字符串strcpy(s,name);strcpy(name,m);strcpy(m,s);
}//函数功能:交换学号
//入口参数:n,ID
//返回值:无
void Xuehao(long *px,long *py)       //---------学号交换函数
{int x;x=*px;*px=*py;*py=x;
}//函数功能:交换分数
//入口参数:score,n
//返回值:无
void Fenshu(float *px,float *py)     //---------分数交换函数
{int x;x=*px;*px=*py;*py=x;
}//函数功能:打印成绩单
//入口参数:score,n,ID,name
//返回值:无
void Chengjidan(float score[],long ID[],char name[][21],int n)      //------------------------------成绩单函数
{int i;if(n==0){printf("还没有录入成绩!");}printf("      姓名       学号        分数\n");for(i=0;i<n;i++){printf(" %-2d   %-8s   %-8ld    %-2f\n",i+1,name[i],ID[i],score[i]);}system("pause");
}

C语言学生成绩管理系统(综合项目)相关推荐

  1. 用C语言学生成绩数据库排序功能设计,[c语言学生成绩管理系统]C语言学生成绩管理系统实验报告...

    篇一 : C语言学生成绩管理系统实验报告 实 验 四:结构体(6学时) 实验目的: 1.更加灵活的使用数组作为函数参数: 2.初步掌握开发一个小型实用系统的基本方法: 3.初步掌握书写程序设计开发文档 ...

  2. c语言按给定成绩查询,C语言学生成绩管理系统(简易版)

    #include #include #include int readstudents(struct students stu[]); //读取学生信息 int readsexcode(struct ...

  3. c语言成绩管理系统报告书,C语言学生成绩管理系统实验报告

    <C语言学生成绩管理系统实验报告>由会员分享,可在线阅读,更多相关<C语言学生成绩管理系统实验报告(22页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统实验报告实验名称 ...

  4. C语言学生成绩管理系统(课程设计报告书)

    今天再跟大家分享一份课程设计报告:C语言学生成绩管理系统源码 程序设计组成框图: #include<stdio.h> #include<conio.h> #include< ...

  5. C语言学生成绩管理系统源代码

    分享:C语言学生成绩管理系统设计 <C语言程序设计>实训报告 点击查看 ----> C语言学生成绩管理系统(课程设计报告书) 扫描下方公众号,发送 成绩系统 4个字,获取下载源码. ...

  6. c语言成绩管理系统教程,C语言学生成绩管理系统教程.doc

    C语言学生成绩管理系统教程 实训报告 题 目: 学生成绩管理系统院 系: 专 业: 姓 名: 学 号: 指导教师: 日 期: 目录 TOC \o "1-3" \h \z \u HY ...

  7. C语言 学生成绩管理系统 带登录界面

    C语言 学生成绩管理系统 带登录界面 C语言课程设计 思路 部分展示 代码片段 C语言课程设计 先上要求: 思路 为了方便简单,直接利用结构体数组来存储学生学生,最后根据功能编写函数即可. 部分展示 ...

  8. c语言学生成绩管理系统(增、删、查、改、排序、分析优秀及格率等)

    复制时运行出错请看这里:c语言学生成绩管理系统 添加公众号回复 学管 免费获取源代码 代做可私聊 c语言学生成绩管理系统(增.删.查.改.排序.分析优秀及格率等)详细内容 一.功能描述 实现学生基本信 ...

  9. c语言学生成绩管理系统课设作业,C语言课程设计——学生成绩管理系统

    摘 要 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来人们使用传统人工的方式 ...

  10. c语言学生成绩管理实验报告,C语言 学生成绩管理系统实验报告.doc

    ... WORD格式可编辑版 学生成绩管理系统实验报告 ㈠实验名称: 学生成绩管理系统 ㈡实验目的: 1)利用所学的三种程序基本结构以及数组.用户自定义函数进行一个简单管理系统的设计,进一步理解和掌握 ...

最新文章

  1. 字符串去掉空格 trim()方法
  2. python如何使用session和cookie_Python爬虫番外篇之Cookie和Session-阿里云开发者社区
  3. 研效优化实践:Python单测——从入门到起飞
  4. Linux下Socket网络编程
  5. 提升windows 2000的启动速度
  6. 【codevs3732】【BZOJ3751】解方程,hash+秦九韶算法
  7. Linux -- 以root权限安装QT5.8.0
  8. 最新AZ自动发卡网源码
  9. Java 大白话讲解设计模式之 -- 建造者(Builder)模式
  10. 无线通信模块种类和优点
  11. excel做地图热力图_如何用excel制作中国地图热力数据图
  12. 显示 think-cell 用户界面时出现错误
  13. 你知道哪几种MYSQL的连接查询
  14. HHKB-BT 入门指北
  15. 《神经网络与深度学习》(Michael Nielsen)Neural Networks and Deep Learning习题解答汇总
  16. 什么情况下使用$set?
  17. S5PV210 | S5PV210上进行Linux开发
  18. 深度神经网络概念整理,最简单的神经网络是什么样子?
  19. NPDP产品经理认证考试精华知识点汇总一:新产品开发战略
  20. 从今日头条抄袭到京东水逆,为何互联网公司人设会接连崩塌?

热门文章

  1. 解决java环境变量配置不生效
  2. c语言程序设计书张成叔万芳,TP312C-C语言程序设计 张成叔.pdf
  3. 数字信号处理实验(一)
  4. 【Matlab系列】基于matlab的数字信号处理实验平台设计
  5. sap系统搭建教程_手把手安装SAP ERP系统
  6. plc比c语言还难,plc编程好学吗??
  7. 全球系留无人机系统行业调研及趋势分析报告
  8. 恒源云(Gpushare)_FAIR CVPR2022新作DVT是个啥?
  9. Lingo软件的基本语法
  10. python可视化图表生成(一)