初试c语言,研究生初试信息

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

/*.研究生初试录取 主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数; ...... 用不同的函数实现,除以下模块,还可设计其他功能模块:

1)输入记录:输入研究生的信息,包括学生姓名,准考证号,4门课程(政治、数学、外语、专业基础课)成绩; 录取分数要求总分达到310分;每门课的最低分要求达到40分;

2)输出记录:输出信息;

3)查询记录:可根据准考证号查找记录;

4)统计:统计初试合格的人数;

5)排序:按总分由高到低的顺序输出合格考生的信息。 */

#include

#include

#include

#define N 50

struct student{

char name[10];

int id; float score[4];

float sum;

};

struct student defa={"0",0,0,0,0,0,0};

int list();

int enter(struct );

void print(struct );

int sta(struct,int );

void search(struct student stu[] ,int n);

int s(struct,struct ,struct,struct,int );

//菜单函数

int list(){

int i=1,c;

printf("******************菜单功能*********************\n");

printf(" 1.输入\n");

printf(" 2.输出\n");

printf(" 3.查询\n");

printf(" 4.统计合格\n");

printf(" 5.排序\n");

printf(" 6.退出\n"); printf("****************************************************\n");

do{ printf("请输入你所选功能(1~6):"); scanf("%d",&c);

}while(c<0||c>6);

return c; }

//输入

//输入研究生的信息,包括学生姓名,准考证号,4门课程(政治、数学、外语、专业基础课)成绩;

int enter(struct student stu[])

{ int count;

float sum=0;

system("cls");

printf("\n请输入研究生信息条数: ");

scanf("%d",&count);

for(int i=0;i

{ printf("\n记录号:%d\n",i+1);

printf("学生姓名 准考证号 1.政治 2 数学 3外语 4专业基础课\n ");

scanf("%d%s",&stu[i].id,stu[i].name);

for(int j=0;j<4;j++){

printf("(%d): ",j+1);

scanf("%f",&stu[i].score[j]);

sum+=stu[i].score[j]; }

stu[i].sum=sum; sum=0; }

return count; }

//输出信息

void print(struct student stu[],int n){ int i; system("cls");

printf("\n******************研究生信息*********************\n");

printf("学生姓名 准考证号 政治 数学 外语 专业基础 总分 \n"); printf("****************************************************\n");

for(i=0;i

printf("%s %d %.2f %.2f %.2f %.2f %.2f\n",stu[i].name,stu[i].id,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum); }

}

//查询记录

void search( student stu[],int n){

int s;

int i;

system("cls");

printf("请输入查找准考证号:\n");

scanf("%d",&s);

getchar();

for(i=0;i

if(s==stu[i].id)

{ system("cls");

printf("\n******************查询记录*********************\n"); printf("学生姓名 准考证号 政治 数学 外语 专业基础 总分\n"); printf("%s %d %.2f %.2f %.2f %.2f %.2f\n",stu[i].name,stu[i].id,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum); printf("------------------------------------------------------------------\n"); } else printf("无此学生\n"); }

//4.统计合格

//录取分数要求总分达到310分;每门课的最低分要求达到40分;

int sta(student stu[],int n){

system("cls");

int num=0;

for(int i=0;i

if(stu[i].sum>=310&&stu[i].score[0]>=40&&stu[i].score[1]>=40&&stu[i].score[2]>=40&&stu[i].score[3]>=40)

num++; }

printf("总计初试合格人数: %d\n",num); return num; }

//排序

int s(student stu[],student sort[],student t[],student o[],int n)

{ system("cls");

int i,j,count=0;

for( i=0;i

{ if(stu[i].sum>=310&&stu[i].score[0]>=40&&stu[i].score[1]>=40&&stu[i].score[2]>=40&&stu[i].score[3]>=40)

{ count++; o[i]=stu[i];}

else o[i]=defa; }

for(i=0;i

for(j=i;j

if(o[j].sum

t[j]=o[j+1];o[j+1]=o[j];o[j]=t[j]; }

}

for(i=0;i

sort[i]=o[i]; printf("*****************合格名单(排序)*************************\n");

printf("学生姓名 准考证号 政治 数学 外语 专业基础 总分\n");

for(i=0;i

printf("-------------------------------------------------------\n"); } return n; }

int main(){ int length;

struct student stu[N],sort[N],t[N],o[N];

for(;;){

switch(list())

{ case 1:length=enter(stu);break;

case 2:print(stu,length);break;

case 3:search(stu,length);break;

case 4:length=sta(stu,length);break;

case 5:length=s(stu,sort,t,o,length);break;

case 6:system("cls");printf("已退出\n");exit(0);break; }

printf("按回车键返回主菜单...\n");

getchar(); }

return 0;

}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值