#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 50 /*定义符号常量,代表学生人数最大值*/
int count=0; /*全局变量,用于记录数组的当前位置*/
struct student /*定义结构体类型,代表学生信息*/
{
char name[9]; /*学生姓名*/
char number[10]; /*学生学号*/
float math; /*数学成绩*/
float english; /*英语成绩*/
};
void input(struct student *arr); /*函数声明,输入学生信息*/
void sort(struct student *arr); /*函数声明,按总分排序*/
void find(struct student *arr); /*函数声明,查找某位学生信息*/
void main()
{
char selmenu; /*定义局部变量,用于记录用户选择的功能编号*/
struct student stud[N]; /*定义结构体数组,用于记录学生信息*/
do /*利用循环显示界面*/
{
system("cls"); /*清屏函数*/
printf("\n\n");
printf("\t\t\t\t 学生成绩管理系统 \n\n");
printf("\t\t\t\t1.输入学生成绩\n");
printf("\t\t\t\t2.按总分排榜\n");
printf("\t\t\t\t3.查找学生信息\n");
printf("\t\t\t\t4.退出\n\n");
printf("\t\t\t请输入功能选择编号(1-4):");
fflush(stdin); /*清空输入缓冲区*/
scanf("%c",&selmenu); /*接受用户选择的功能编号*/
switch(selmenu) /*输入不同功能编号调用相应函数来完成功能*/
{
case'1':
input(stud); /*调用输入学生信息函数,参数为学生信息数组名*/
break;
case'2':
sort(stud); /*调用按总分排榜函数,参数是数组名*/
break;
case'3':
find(stud); /*调用按学号和姓名查找学生信息函数*/
break;
}
}while(selmenu!='4'); /*判断是否退出*/
printf("\n\n\t\t\t----------------谢谢使用----------------\n\n"); /*输出告别词*/
}
void input(struct student *arr) /*定义输入学生信息函数*/
{
char ch; /*用于接收用户指令*/
do /*利用循环,由用户控制输入学生成绩*/
{
system("cls");
printf("\n输入第%d个学生的信息:\n输入学生姓名:",count+1);
scanf("%s",arr[count].name);
printf("\n输入学生学号:");
scanf("%s",arr[count].number);
printf("\n输入数学成绩:");
scanf("%f",&arr[count].math);
printf("\n输入英语成绩:");
scanf("%f",&arr[count].english);
count++; /*记录当前输入的学生资料的个数*/
printf("\n是否继续输入(y/n)\n");
fflush(stdin); /*清空输入缓冲区*/
ch=getchar();
}while(ch=='y'||ch=='Y'); /*判断用户指令,是否继续输入*/
}
void sort(struct student *arr) /*定义按总分排榜函数*/
{
int i,j,k; /*定义循环变量i,j,最小数位置k*/
struct student t; /*定义交换临时变量*/
if(count==0) /*判断数组中学生成绩是否存在*/
printf("无学生成绩,请先录入学生信息\n");
else
{
for(i=0;i<count-1;i++) /*用选择法按总分对学生成绩排序*/
{
k=i;
for(j=i+1;j<count;j++) /*k为arr[i]到arr[count-1]中最小数的位置*/
if((arr[k].math+arr[k].english)<(arr[j].math+arr[j].english))
k=j;
if(k!=i) /*如果最小数不是比较数列中第一个,对调*/
{
t=arr[k];
arr[k]=arr[i];
arr[i]=t;
}
}
printf("\n总分排榜:\n\n");
printf("\t姓名\t学号\t数学\t英语\t总分\t名次\n");
for(j=0;j<count;j++) /*输出按总分排榜后的学生成绩和名次*/
printf("\t%-6s\t%-4s\t%-6.1f\t%-6.1f\t%-6.1f\t%-5d\n",
arr[j].name,arr[j].number,arr[j].math,arr[j].english,arr[j].math+arr[j].english,
j+1);
}
printf("\n回车键返回主程序\n");
fflush(stdin);
getchar();
}
void find(struct student *arr) /*定义查找函数*/
{
int j;
char name[9]; /*用于接收用户输入的学生姓名*/
char number[10]; /*用于接收用户输入的学生学号*/
system("cls"); /*清屏函数*/
printf("\n请输入要查找的学生资料:\n");
printf("\n学生姓名:");
scanf("%s",name);
printf("\n学生学号:");
scanf("%s",number);
for(j=0;j<count;j++) /*使用字符串比较函数查找兵书出符合条件的学生成绩*/
{
if((strcmp(name,arr[j].name)==0)&&(strcmp(number,arr[j].number)==0))
{
printf("\n\t姓名\t学号\t数学\t英语\t总分\n");
printf("\t%-6s\t%-4s\t%-6.1f\t%-6.1f\t%-6.1f\n",
arr[j].name,arr[j].number,arr[j].math,arr[j].english,arr[j].math+arr[j].english);
break;
}
}
if(j>=count) /*如果没找到,会从循环条件退出*/
printf("\n未找到该学生纪录,请核对后重新查找!\n");
fflush(stdin); /*清空输入缓冲区*/
printf("\n回车键返回上一功能菜单\n");
getchar();
}
另外,站长团上有产品团购,便宜有保证
温馨提示:内容为网友见解,仅供参考
C++ 学生成绩与奖学金管理系统
do \/*利用循环,由用户控制输入学生成绩*\/ { system("cls");printf("\\n输入第%d个学生的信息:\\n输入学生姓名:",count+1);scanf("%s",arr[count].name);printf("\\n输入学生学号:");scanf("%s",arr[count].number);printf("\\n输入数学成绩:");scanf("%f",&arr[count].math);pri...
C++回答问题(题目如下:学生奖学金评定系统)
基本功能:学生基本数据输入学号、姓名、性别、届别、专业、班级、出生年月、家庭地址、邮编、电话 成绩的输入 成绩统计 奖学金评定(请事先学习学校“奖学金评定办法”)成绩的统计与奖学金等结果的显示,格式自定。扩展功能:学生数据的添加、修改、删除等 能查询学生成绩,不及格科目及学生名单 学生数...
学生成绩以及奖学金c++
这个可以做的
it简历模板(精选7篇)
- **学术成绩**:GPA:3.8\/4.0(专业前5%),连续X年获得校级学术奖学金。- **项目经验**:幻主简历项目1,通过JAVA语言开发微信自主点餐系统,实现用户便捷点餐及商家高效管理。- **工作经验**:参与公司多个软件开发项目,负责核心模块的设计与实现,优化系统性能;主导公司内部管理系统的优化工...
程序员的自我介绍
我有较好的计算机知识和应用能力,能熟练的进行windows20xx和linux操作,并能使用vb,delphi等语言编程。能运用网页三剑客photoshop等软件进行相关工作。 我的专长是数据库开发,我希望能从事这方面的工作。我曾开发过多个系统,基中有,成绩管理系统,人事档案管理系统,工资管理系统等等。 在大学期间,每个学期都获得了奖学金,...
2020软件工程专业个人简历模板5篇
工作能力及其他专长 连续三年获校三等奖学金。荣幸加入中国共产党。 代表学校参加_年_省大学生 游泳 比赛及_省第七届大学生运动会获第三名和第六名。 在校担任游泳协会会长。 用JA MVC模式编写资产管理系统,扑克牌游戏及俄罗斯方块游戏,用C编写过学生成绩管理系统,用SQL编写图书馆管理系统,用ASP编写过BBS。 掌握...
软件专业大学生个人简历模板
学习刻苦认真,成绩优秀,名列前茅。品学兼优,连续两年获得学院奖学金。 曾担任院团委委员、系学生会主席、班级团支部书记等,在学生工作的过程中,大大提高了自己的办事和处事能力。此外,还积极参加课外文体活动,各种社会实践活动和兼职工作等,以增加自己的阅历,提高自己的能力。在工作中体会办事方式,锻炼口才和人际交往...
程序员个人实习总结
我的计算机能力:程序员语言能力:英语(一般);普通话(标准)熟悉windows,能够熟练使用word,powerpoint等office软件;熟悉c,c#,html,xml,了解数据结构(c),软件工程学,c,c++,java,ajax。熟练掌握c#语言。熟悉开发工具vs。net__\/__;且利用b\/s开发过物业网络管理系统。在公司从事教育软件的开发。 我曾经获得物业管理系统...
美国留学计算机专业好的院校有哪些
1、麻省理工学院Massachusetts Institute of Technology u.s.news美国计算机专业排名:1 2、斯坦福大学Stanford University 2024u.s.news美国计算机专业排名:1 3、加州大学伯克利分校University of California-Berkeley 2024u.s.news美国计算机专业排名:1 4、卡内基梅隆大学Carnegie Mellon University 2024u.s....
计算机专科毕业论文
四、实验与数据分析 实施实验或调查:按照设计好的实验方案或调查问卷,进行实验或调查。收集数据:在实验或调查过程中,及时收集相关数据,确保数据的完整性和准确性。数据分析:运用统计学、数据挖掘等方法,对收集到的数据进行分析,提取有用信息,验证研究假设。五、结果与讨论 呈现结果:以图表、文字等...