C语言学生管理系统.docx

上传人:b****6 文档编号:3484016 上传时间:2022-11-23 格式:DOCX 页数:33 大小:22.16KB
下载 相关 举报
C语言学生管理系统.docx_第1页
第1页 / 共33页
C语言学生管理系统.docx_第2页
第2页 / 共33页
C语言学生管理系统.docx_第3页
第3页 / 共33页
C语言学生管理系统.docx_第4页
第4页 / 共33页
C语言学生管理系统.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言学生管理系统.docx

《C语言学生管理系统.docx》由会员分享,可在线阅读,更多相关《C语言学生管理系统.docx(33页珍藏版)》请在冰豆网上搜索。

C语言学生管理系统.docx

C语言学生管理系统

#include//头文件//

#include

#include

#defineNUM1000//定义该系统最多存储人数NUM//

intN;//定义一个外部变量N,用来监控存储的学生人数//

structSTUDENT//定义一个结构体//

{

longnum;

charname[20];

intclas;

charsex[10];

intenglish;

intmath;

intfrance;

floataver;

inttotal;

}student[NUM],student1;//定义两个结构体类型的变量,用来存储学生信息//

//对用到的所有函数进行声明//

voidentrance();//登陆//

voidmenu();//主菜单//

voidselect();//选择服务//

voidbuild();//新建学生信息//

voidadd();//添加学生信息//

voidchange();//修改学生信息//

voidfind();//查找//

voiddelate();//删除学生信息//

voidin();//导入已有学生信息//

voidturn();//排序//

voidout();//退出系统,保存数据//

voidmain()//主函数//

{

system("color5b");

N=0;

entrance();

}

voidentrance()//登陆主页面函数//

{

ints,n,secrit=448,number=448,i=0,k=0,j=3;

printf("\n\t\t********欢迎进入学生成绩管理系统********\n\n\n");

for(;;)

{

i++;j--;

if(i>3)

{printf("\t您的输入次数超过3次,请下次登录\n");

break;

}

printf("\t\t请输入管理员账号:

");//登录信息,验证身份,进行安全保护//

scanf("%d",&n);

printf("\n\n");

printf("\t\t请输入管理员密码:

");

scanf("%d",&s);

printf("\n\n");

if(s!

=secrit||n!

=number)

{

system("color4e");

printf("\t\t对不起,您输入的账号或密码错误,请重新输入。

您还剩下%d次输入机会\n",j);

continue;

}

else

{k=1;break;}

}

if(k)

{

printf("\n\n\n\n\t\t\t\t登录成功!

\n");

menu();

}

}

voidmenu()//主菜单,提供服务选项//

{

system("color9a");

printf("\t请您从以下选项中选择您所需要的服务:

\n\n");

printf("\t\t*1.新建学生信息*2.增添学生信息\n\n");

printf("\t\t*3.修改学生信息*4.查询学生信息\n\n");

printf("\t\t*5.删除学生信息*6.导入学生信息\n\n");

printf("\t\t*7.排序;*8.退出系统\n\n");

select();

}

voidselect()//选择函数,进行服务选择//

{

intk;

for(;;)

{

printf("\t\t您选择的服务为:

");

scanf("%d",&k);

if(k>8||k<1)

{

printf("\t\t提示:

请您从1~8选项中进行选择。

\n\t\t请重新选择:

");

scanf("%d",&k);

continue;

}

if(k>0&&k<=8)

break;

}

switch(k)//根据不同选择,实现不同服务//

{

case1:

build();break;

case2:

add();break;

case3:

change();break;

case4:

find();break;

case5:

delate();break;

case6:

in();break;

case7:

turn();break;

case8:

out();break;

default:

break;

}

}

voidbuild()//新建学生信息//

{

intk,i=0,j=0,s;

printf("\n您选择的为新建学生信息");

printf("\n\n\n*1.继续\t\t*2.返回\n请选择:

");

for(;;)

{

scanf("%d",&k);

if(k!

=1&&k!

=2)

{

printf("请重新选择:

");

continue;

}

if(k==2)

{

i=1;break;

}

if(k==1)

{

j=1;break;

}

}

if(i)menu();

if(j)

{

for(i=0;;i++)

{

system("cls");

printf("\t提示:

请您按照以下程序进行输入,必须保证信息输入完整才可以结束完成,按0键重新进行该学生信息输入,您输入的学号不能重复,您输入的各科成绩必须在0到100分之间\n");

printf("\t如果有哪项不清楚,可暂时用空格代替,方便下次修改!

\n");

printf("\t请输入姓名:

");

scanf("%s",student[i].name);

if(student[i].name==0){i--;continue;}

printf("\t请输入学号:

");

scanf("%ld",&student[i].num);

if(student[i].num==0){i--;continue;}

for(s=0;s

if(student[s].num==student[i].num)

{printf("该学号已存在,请查正后重新输入");

break;

}

if(s

{

i--;continue;

}

printf("\t请输入班级:

");

scanf("%d",&student[i].clas);

if(student[i].clas==0){i--;continue;}

printf("\t请输入性别:

");

scanf("%s",student[i].sex);

if(student[i].sex==0){i--;continue;}

for(;;)

{

printf("\t请输入英语成绩:

");

scanf("%d",&student[i].english);

if(student[i].english>=0&&student[i].english<=100)

break;

else

printf("\t输入无效,成绩必须在1到100之间,请重新输入\n");

}

for(;;)

{

printf("\t请输入数学成绩:

");

scanf("%d",&student[i].math);

if(student[i].math>=0&&student[i].math<=100)

break;

else

printf("\t输入无效,成绩必须在1到100之间,请重新输入\n");

}

for(;;)

{

printf("\t请输入法语成绩:

");

scanf("%d",&student[i].france);

if(student[i].france>=0&&student[i].france<=100)

break;

else

printf("\t输入无效,成绩必须在1到100之间,请重新输入\n");

}

printf("请选择是否完成?

\n1.完成所有输入,返回主菜单;2.继续进行信息录入;3.重新录入该生信息;\n");

printf("\n请进行选择:

");

for(;;)

{

scanf("%d",&j);

if(j!

=1&&j!

=2&&j!

=3)

{

printf("\n提示:

请从1到3间进行选择;\n请重新选择:

");

continue;

}

else

break;

}

if(j==3)

{

i--;continue;

}

if(j==1)

{

N=i;

for(i=0;i<=N;i++)

{student[i].total=student[i].english+student[i].france+student[i].math;

student[i].aver=student[i].total/3.0;}

printf("新建信息成功.....");

for(s=0;s<100000000;s++);

menu();break;

}

if(j==2)

continue;

}

}

}

voidadd()//添加学生信息//

{

intk,i=0,j=0,s;

system("cls");

system("color9a");

printf("\n您选择的是添加学生信息");

printf("\n\n\n*1.继续\t*2.返回\n请选择:

");

for(;;)

{scanf("%d",&k);

if(k!

=1&&k!

=2)

{printf("请重新选择:

");

continue;

}

if(k==2)

{i=1;break;}

if(k==1)

{j=1;break;}

}

if(i)menu();

if(j)

{

for(i=N+1;;i++)

{

system("cls");

printf("提示:

请您按照以下程序进行输入,必须保证信息输入完整才可以结束完成,按0键重新进行该学生信息输入,添加的学号不能与已有的重复,您输入的各科成绩必须在0到100分之间\n");

printf("\t请输入姓名:

");

scanf("%s",student[i].name);

if(student[i].name==0)

{i--;continue;}

printf("\t请输入学号:

");

scanf("%ld",&student[i].num);

if(student[i].num==0)

{i--;continue;}

for(s=0;s

if(student[s].num==student[i].num)

{printf("该学生信息已存在,请查正后重新输入");

break;

}

if(s

{

i--;continue;

}

printf("\t请输入班级:

");

scanf("%d",&student[i].clas);

if(student[i].clas==0)

{i--;continue;}

printf("\t请输入性别:

");

scanf("%s",student[i].sex);

if(student[i].sex==0)

{i--;continue;}

for(;;)

{

printf("\t请输入英语成绩:

");

scanf("%d",&student[i].english);

if(student[i].english>=0&&student[i].english<=100)

break;

else

printf("\t输入无效,成绩必须在1到100之间,请重新输入\n");

}

for(;;)

{

printf("\t请输入数学成绩:

");

scanf("%d",&student[i].math);

if(student[i].math>=0&&student[i].math<=100)

break;

else

printf("\t输入无效,成绩必须在1到100之间,请重新输入\n");

}

for(;;)

{

printf("\t请输入法语成绩:

");

scanf("%d",&student[i].france);

if(student[i].france>=0&&student[i].france<=100)

break;

else

printf("\t输入无效,成绩必须在1到100之间,请重新输入\n");

}

printf("请选择是否完成\n1.完成所有添加过程,返回主菜单;\n2.继续进行信息添加;\n3.重新添加该生信息;\n");

printf("\n请进行选择:

");

scanf("%d",&j);

if(j==3)

{i--;continue;}

if(j==1)

{

N=i;

for(i=0;i<=N;i++)

{student[i].total=student[i].english+student[i].france+student[i].math;

student[i].aver=student[i].total/3.0;}

printf("信息添加成功......");

for(s=0;s<100000000;s++);

menu();break;

}

if(j==2)

continue;

}

}

}

voidchange()//修改学生信息//

{

intk,i=0,j=0,s=0,t,h,a;longnum1,num2;charname1[20],sex1[10];

system("cls");

system("color6a");

printf("\n你选择的为更改学生信息");

printf("\n\n*1.继续\t*2.返回\n请选择:

");

for(;;)

{

scanf("%d",&k);

if(k!

=1&&k!

=2)

{

printf("请重新选择:

");

continue;

}

if(k==2)

{

i=1;break;

}

if(k==1)

{

j=1;break;

}

}

if(i)menu();

for(;;)

{

if(j)

{

printf("请输入您要修改的学生的学号(按0返回主菜单):

");

scanf("%ld",&num1);

if(num1==0)

{

menu();

break;

}

for(i=0;i<=N;i++)

if(student[i].num==num1)

{

printf("\n姓名\t性别\t学号\t班级\t英语\t法语\t数学\t总分\t平均分\n");

printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%f\n",student[i].name,student[i].sex,student[i].num,student[i].clas,student[i].english,student[i].france,student[i].math,student[i].total,student[i].aver);

s=1;

break;

}

if(s==0&&i>N)

{

printf("\n对不起,您输入的学号不存在,请查正!

\n");

continue;

}

}

if(s)

{

for(;;)

{

printf("\n1.姓名\t2.性别\t3.学号\t4.班级\t5.英语\t6.法语\t7.数学\t8.继续\t0.返回\n");

printf("\n请输入要修改的选项:

");

scanf("%d",&t);

if(t==0)

{

menu();break;

}

if(t==1)

{

printf("请输入修改后的信息(按0返回):

");

scanf("%s",name1);

if(name1==0)

{menu();break;}

if(name1!

=0)

{

strcpy(student[i].name,name1);

printf("修改成功");

continue;

}

}

if(t==2)

{

printf("请输入修改后的信息(按0返回):

");

scanf("%s",sex1);

if(sex1==0)

{

menu();break;

}

if(sex1!

=0)

{

strcpy(student[i].sex,sex1);

printf("修改成功");

continue;

}

}

if(t==3)

{

printf("请输入修改后的信息(按0返回):

");

scanf("%ld",&num2);

if(num2==0)

{

menu();break;

}

for(a=0;a<=N;a++)

if(student[a].num==num2&&a!

=i)

{printf("该学生信息已存在,请查正后重新输入");

break;

}

if(num2!

=0&&a>N)

{

student[i].num=num2;

printf("修改成功");

continue;

}

}

if(t==4)

{

printf("请输入修改后的信息(按0返回):

");

scanf("%d",&h);

if(h==0)

{

menu();break;

}

if(h!

=0)

{

student[i].clas=h;

printf("修改成功");

continue;

}

}

if(t==5)

{

printf("请输入修改后的信息(按0返回):

");

scanf("%d",&h);

if(h==0)

{

menu();break;

}

if(h!

=0)

{

student[i].english=h;

printf("修改成功");

student[i].total=student[i].english+student[i].france+student[i].math;

student[i].aver=student[i].total/3.0;

continue;

}

}

if(t==6)

{

printf("请输入修改后的信息(按0返回):

");

scanf("%d",&h);

if(h==0)

{

menu();break;

}

if(h!

=0)

{

student[i].france=h;

printf("修改成功");

student[i].total=student[i].english+student[i].france+student[i].math;

student[i].aver=student[i].total/3.0;

continue;

}

}

if(t==7)

{

printf("请输入修改后的信息(按0返回):

");

scanf("%d",&h);

if(h==0)

{

menu();break;

}

if(h!

=0)

{

student[i].math=h;

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

student[i].total=student[i].english+student[i].france+student[i].math;

student[i].aver=student[i].total/3.0;

continue;

}

}

if(t==8)

break;

}

}

if(t==8)

continue;

}

}

voidfind()//查询学生信息,根据不同的查询方式,对学生信息进行查询//

{

intk,i,j=0,s=0,t=0,t1=0;longnum1=0;charname1[20];

system("cls");

system("color5a");

printf("\n您选择的是查找学生信息");

for(;;)

{

printf("\n\n1.按姓名查询;\t2.按学号查询;\t3.返回主菜单;\n请您从1~3中选择服务方式:

");

for(;;)

{

scanf("%d",&k);

if(k!

=1&&k!

=2&&k!

=3)

{

printf("\n提示:

请从1到3间进行选择;\n请重新选择:

");

continue;

}

else

break;

}

if(k==1)

{printf("\n请输入要查询的姓名(按0键返回):

");

scanf("%s",name1);

if(name1==0)

continue;

for(i=0;i<=N;i++)

{

if((strcmp(student[i].name,name1)==0))

{

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1