设学生信息包括学号,姓名和五门功课的成绩,要求编写输入输出
学生信息的函数。在输入一组学生信息后,以学生成绩的总分从高
到低顺序输出学生信息。
这个相对来说比较简单,可以创建一个学生的结构体,结构体里面有三个成员:学号,姓名和五门功课的成绩。下面请看一下我的整体代码。这个思路也比较简单,主要是为了练习使用结构体。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 200
#define SCORES 5
#define NUMLEN 10
struct student{
char number[NUMLEN];
char *name;
int scores[SCORES];
};
struct student stus[N];
int order[N];
int total[N];
int readstu(struct student *stu){
int len,j;
char buf[120];
printf("Number : ");
if(scanf("%s",buf) == 1){
strncpy(stu->number,buf,NUMLEN-1);
}else{
return 0;
}
printf("Name : ");
if(scanf("%s",buf) == 1){
len = strlen(buf);
stu->name = (char *)malloc(len+1);
strcpy(stu->name,buf);
}else{
return 0;
}
printf("Scores : ");
for(j = 0;j < SCORES;j++)
if(scanf("%d",stu->scores+j) != 1)
break;
if(j == 0){
free(stu->name);
return 0;
}
for(;j<SCORES;j++)
stu->scores[j] = 0;
return 1;
}
void writeStu(struct student *stu){
int i;
printf("Number : %s\n",stu->number);
printf("Name : %s\n",stu->name);
printf("Scores : ");
for(i = 0;i < SCORES;i++)
printf("%4d ",stu->scores[i]);
printf("\n\n");
}
int main()
{
int n,i,j,t;
for(n = 0; readstu(stus+n); n++);
for(i = 0;i < n;i++){
order[i] = i;
for(t = 0,j = 0;j < SCORES;j++){
t += stus[i].scores[j];
}
total[i] = t;
}
for(i = 0;i < n;i++){
for(j = 0;j < n-1;j++){
if(total[order[j]] < total[order[j+1]]){
t = order[j];
order[j] = order[j+1];
order[j+1] = t;
}
}
}
for(j = 0;j <n;j++){
writeStu(stus+order[j]);
}
return 0;
}
下面是我的输出的结果:
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
一个班同学的学号为1-n,输入n位同学的学号、姓名、语文、数学、英语等3门课程成绩,实现成绩表的录入、总分统计、总分排序和输出。 2.需求分析。(10分) 三、概要设计 四、模块设计 五、详细设计 六、测试分析 七...
1.输入功能:可以一次完成5条记录的输入。 2.显示信息:完成全部学生记录的显示。 3.查询功能:完成按学号查找学生记录,并显示。...5.统计功能:统计出各分数段学生人数(60分以下,60~70,71~80,...)
基本功能:设学生姓名及成绩已分别存入指定数据存储单元,统计成绩分布的人数:A级(90~100),B级(80~89),C级(70~79),D级(60~69),E级(0~59)。并按顺序显示全班成绩,及统计信息。要求界面友好。 增强...
学生成绩管理系统 功能需求:1、提供身份验证,和使用系统的权限设置、判定。 2、(教师用户)能实现本班同学各学期各科成绩的录入、编辑,数据必须保存在文件中,以便反复使用。 3、(学生用户或游客)提供对...
学生成绩管理系统,功能包括: 1、提供身份验证,和使用系统的权限设置、判定。 2、(教师用户)能实现09信管1班同学各学期各科成绩的录入、编辑,数据必须保存在文件中,以便反复使用。 3、(学生用户或游客)提供...
数据结构 顺序 C++ 学生成绩输入,查找,删除
用汇编语言实现学生成绩统计分析,实验内容:编制一个程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果...2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。
课程设计任务容 " "设计一个简易的学生成绩管理系统,能够完成学生成绩的增加、删除、查找、 " "修改、统计等操作,数据信息保存文件保存。要求系统具有菜单和提示,界面 " "友好。 " "2.课程设计要求 " "实现学生...
学生成绩管理是高等学校教务管理的重要组成部分,主要包括学生注册、考试成绩的录入及修改、成绩的统计分析等等。设计一个系统实现对学生成绩的管理。要求系统应具有以下基本功能: (1)学生注册登记; (2)增加...
034 用“结构”统计学生成绩C语言
学生成绩管理是高等学校教务管理的重要组成部分,主要包括学生注册、考试成绩的录入及修改、成绩的统计分析等等。设计一个系统实现对学生成绩的管理。 要求系统应具有以下基本功能: (1)学生注册登记; (2)增加...
适用于刚刚学会使用C语言的初学者人群,内容较为详细,用顺序表实现该系统的...8.统计学生成绩信息的功能:选出数据结构的学生成绩和统计人数,求出平均成绩,然后在数据结构学生成绩的条件下统计不及格人数并输出。
编制一个统计学生考试分数的管理程序。 设学生成绩已以一个学生一个记录的形式存储在文件中, 每位学生记录包含的信息有:姓名,学号和各门功课的成绩。 程序具有以下几项功能:求出各门课程的总分,平均分,按姓名...
数据结构课程设计——学生成绩信息管理系统 实现的主要功能是: ...8.统计学生成绩信息的功能:选出数据结构的学生成绩和统计人数,求出平均成绩,然后在数据结构学生成绩的条件下统计不及格人数并输出。
学生成绩管理:(结构体数组、函数、指针、算法、流程结构及文件等的综合应用) 程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下...
(1)学生的分数高低次序问题描述:给出n个学生的考试成绩表,每条信息由姓名和分数组成,并且打印出每个学生在考试中所获得的名次,当学生的分数相同时为同一名次; (2)按照学生排列名次列出每个学生的姓名与分数。 ...
数据结构课程设计--统计学生成绩 C++编写
这是c的链表很全的 可以帮我们做很多事情
1.1设计一个程序,统计一个班(最多有50人)的学生成绩,要求能实现如下四个功能: (1) 由键盘或文件输入每个学生的学号和四门课程的成绩; (2) 计算每个学生的平均成绩和总成绩; (3) 按总成绩从高到低排名,并...
数据结构课程设计,用c语言设计学生成绩管管理系统,功能完善。能准确的从文本中读入学生信息,并且能对学生信息经行标记和统计等等