c语言 学生注册,C语言实现学生管理信息系统

#include

#include

#define SIZE 100

enum

{

SYSEXIT,

INPUTSTUDENT,

DELETESTUDENT,

UPDATESTUDENT,

SEARCHSTUDENT,

SORTSTUDENT

};

struct SCORE

{

float math;

float chinese;

float english;

};

struct STUDENT

{

int num;

char name[10];

char adr[10];

char sex[4];

struct SCORE score;

}Student[SIZE] ={0};

void InputStudent()

{

int count,choice;

for(count =0; count

{

if(Student[count].num ==0)

break;

}

if(count >=SIZE)

{

printf("数据存储已满!\n");

return;

}

for(;count

{

printf("请输入第%d个学生的学号:\n",count+1);scanf("%d",&Student[count].num);

printf("请输入第%d个学生的姓名:\n",count+1);scanf("%s",&Student[count].name);

printf("请输入第%d个学生的性别:\n",count+1);scanf("%s",&Student[count].sex);

printf("请输入第%d个学生的地址:\n",count+1);scanf("%s",&Student[count].adr);

printf("请输入第%d个学生的数学成绩:\n",count+1);scanf("%f",&Student[count].score.math);

printf("请输入第%d个学生的语文成绩:\n",count+1);scanf("%f",&Student[count].score.chinese);

printf("请输入第%d个学生的英语成绩:\n",count+1);scanf("%f",&Student[count].score.english);

printf("是否继续输入学生信息?\n1.YES\n0.NO\n");

scanf("%d",&choice);

if(choice ==0)

break;

}

}

void DeleteStudent()

{

int count,choice,sign=0;

int sno;

for(count=0 ;count

{

if(Student[count].num !=0)

{

sign++;

}

}

if(sign ==0)

{

printf("没有存储任何学生信息!\n");

return ;

}

printf("1.根据学号删除学上信息:\n");

printf("2.删除全部学生信息:\n");

printf("0.退出\n");

printf("请输入功能选择\n");

scanf("%d",&choice);

if(choice ==0)

{

return;

}

else if(choice ==1)

{

printf("\n");

printf("请输入要删除的学生学号:\n");

scanf("%d",&sno);

count=sno-1;

for(;count < SIZE-1; count ++)

{

Student[count] =Student[count+1];

}

printf("删除成功!\n\n");

}

else if(choice ==2)

{

for(count =0; count

{

Student[count].num=0;

}

printf("删除成功!\n\n");

}

else

return;

}

void UodateStudent()

{

int sign =0;int count;

for(count=0 ; count

{

if(Student[count].num !=0)

{

sign++;

}

}

if(sign ==0)

{

printf("没有存储任何学生信息!\n");

return ;

}

int choice ,sno;

printf("1.修改学生的姓名:\n");

printf("2.修改学生的数学成绩:\n");

printf("0.退出:\n");

printf("请输入你的选择:\n");

scanf("%d",&choice);

switch(choice)

{

case 1:

{

printf("请输入要修改第几位学生的学号:\n");

scanf("%d",&sno);

printf("请输入修改后学生的姓名:\n");

scanf("%s",&Student[sno-1].name);

printf("修改成功!\n");

break;

}

case 2:

{

printf("请输入要修改学生的学号:\n");

scanf("%d",&sno);

for(count =0; count

{

if(Student[count].num ==sno)

break;

}

printf("请输入修改后的数学成绩:");

scanf("%f",&Student[count].score.math);

printf("修改成功!\n");

}

default :

break;

}

}

void SearchStudent()

{

int sign=0,count;

int choice,sno;

for(count=0 ;count

{

if(Student[count].num !=0)

{

sign++;

}

}

if(sign ==0)

{

printf("没有存储任何学生信息!\n");

return ;

}

printf("1.根据学号查询学生信息:\n");

printf("2.查询全部学生信息\n");

printf("0.退出.\n");

printf("请输入功能选择:\n");

scanf("%d",&choice);

if(choice ==0)

{

return;

}

else if(choice ==1)

{

printf("请输入学生学号:\n");

scanf("%d",&sno);

for(count =0; count

{

if(Student[count].num ==sno)

break;

}

printf("学号 姓名 性别 地址 数学成绩 语文成绩 英语成绩\n");

printf("%-8d",Student[count].num);

printf("%-8s",Student[count].name);

printf("%-8s",Student[count].sex);

printf("%-8s",Student[count].adr);

printf("%-12.2f",Student[count].score.math);

printf("%-12.2f",Student[count].score.chinese);

printf("%-12.2f",Student[count].score.english);

printf("\n");

}

else if(choice ==2)

{

printf("学号 姓名 性别 地址 数学成绩 语文成绩 英语成绩\n");

int count;

for(count =0; count

{

if(Student[count].num !=0)

{

printf("%-8d",Student[count].num);

printf("%-8s",Student[count].name);

printf("%-8s",Student[count].sex);

printf("%-8s",Student[count].adr);

printf("%-12.2f",Student[count].score.math);

printf("%-12.2f",Student[count].score.chinese);

printf("%-12.2f",Student[count].score.english);

printf("\n");

}

}

}

else

return;

}

void SortStudent()

{

printf("1.根据学号进行排序:\n");

printf("2.根据学生总成绩排序:\n");

printf("0.退出:\n");

printf("请输入功能选择:\n");

int count ,choice ,j;

struct STUDENT temp;

scanf("%d",&choice);

if(choice ==0)

{

return;

}

else if(choice ==1)

{

int sign =0;

for(count=0 ;count

{

if(Student[count].num !=0)

{

sign++;

}

}

if(sign ==0)

{

printf("没有存储任何学生信息!\n");

return ;

}

for(count =0; count

{

for(j=0; j< SIZE-1-count; j++)

{

if(Student[j].num > Student[j+1].num)

{

temp =Student[j];

Student[j] =Student[j+1];

Student[j+1] =temp;

}

}

}

printf("排序成功!\n");

printf("学号 姓名 性别 地址 数学成绩 语文成绩 英语成绩\n");

for(count =0; count

{

if(Student[count].num !=0)

{

printf("%-8d",Student[count].num);

printf("%-8s",Student[count].name);

printf("%-8s",Student[count].sex);

printf("%-8s",Student[count].adr);

printf("%-12.2f",Student[count].score.math);

printf("%-12.2f",Student[count].score.chinese);

printf("%-12.2f",Student[count].score.english);

printf("\n");

}

}

}

else if(choice ==2)

{

int sign=0;

for(count=0 ;count

{

if(Student[count].num !=0)

{

sign++;

}

}

if(sign ==0)

{

printf("没有存储任何学生信息!\n");

return ;

}

for(j =0; j

{

for(count =0; count

{

if((Student[count].score.math+Student[count].score.chinese+Student[count].score.english)

>(Student[count+1].score.math+Student[count+1].score.chinese+Student[count+1].score.english))

{

temp =Student[count];

Student[count] =Student[count+1];

Student[count+1] =temp;

}

}

}

printf("排序成功!\n");

printf("学号 姓名 性别 地址 数学成绩 语文成绩 英语成绩\n");

for(count =0; count

{

if(Student[count].num !=0)

{

printf("%-8d",Student[count].num);

printf("%-8s",Student[count].name);

printf("%-8s",Student[count].sex);

printf("%-8s",Student[count].adr);

printf("%-12.2f",Student[count].score.math);

printf("%-12.2f",Student[count].score.chinese);

printf("%-12.2f",Student[count].score.english);

printf("\n");

}

}

}

else

return;

}

int main(int argc, char *argv[])

{

int flag;

printf("**学生信息管理系统**\n");

while(1)

{

printf("1.输入学生信息:\n");

printf("2.删除学生信息:\n");

printf("3.修改学生信息:\n");

printf("4.查询学生信息:\n");

printf("5.排列学生信息:\n");

printf("0.退出管理系统:\n");

printf("请输入你的选择:\n");

printf("\n");

scanf("%d",&flag);

switch(flag)

{

case SYSEXIT:

{

return;

}

case INPUTSTUDENT:

{

InputStudent();

break;

}

case DELETESTUDENT:

{

DeleteStudent();

break;

}

case UPDATESTUDENT:

{

UodateStudent();

break;

}

case SEARCHSTUDENT:

{

SearchStudent();

break;

}

case SORTSTUDENT:

{

SortStudent();

break;

}

default :

{

printf("输入错误!\n\n");

}

}

printf("\n");

}

system("PAUSE");

return 0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值