C语言学生成绩管理系统源代码.docx

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

C语言学生成绩管理系统源代码.docx

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

C语言学生成绩管理系统源代码.docx

C语言学生成绩管理系统源代码

//学生成绩管理系统

//用户名:

xdxy密码:

700619

#include

#include/*清屏*/

#include/*显示目录*/

#include

#defineMAX1000

voidmenu();

voidinput();/*输入数据函数*/

voidsort();/*排序数据函数*/

voiddisplay();/*显示数据函数*/

voiddisplay1();/*显示各科成绩函数*/

voidinsert();/*插入数据函数*/

voiddel();/*删除数据函数*/

voidaverage();/*平均值函数*/

voidfind();/*查找数据函数*/

voidsave();/*保存数据函数*/

voidread();/*读出数据函数*/

voiddel_file();/*删除文件函数*/

voidmodify();/*修改文件函数*/

intnow_no=0;

structstudent//定义学生信息

{

intno;//学号

charname[20];//姓名

charsex[4];//性别

floatscore1;//成绩1

floatscore2;//成绩2

floatscore3;//成绩3

floatsort;//排序成绩

floatave;//平均分

floatsum;//总分

};

voidmain()

{

inth,flag1,flag2;

charname[20]="xdxy",password[10]="700619";

charperson[20],password1[10];

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

********\n\n");

printf("\t\t\t用户登录\n\n");

for(h=0;h!

=5;)

{

printf("\t\t\t\t用户名:

");

gets(person);

flag1=strcmp(person,name);

printf("\t\t\t\t密码:

");

gets(password1);

flag2=strcmp(password,password1);

if(flag1==0&&flag2==0)

{

printf("\t\t\t\t登陆成功!

\n\n");

menu();

break;

}

else

{

printf("\t\t\t用户名或密码错误!

\n\n");

printf("\t\t\t请注意:

您还剩%d次机会!

\n\n",4-h);

h++;

}

}

if(h=5)

printf("对不起,您输入的用户名或密码有误,已被强制退出。

\n");

}

structstudentstu[MAX],*p;

voidmenu()/*主函数*/

{

intas;

charch;

do{

printf("\n\n\n\n\t\t****&****&****&****&****&****&****&****&****&****");

start:

printf("\n\n\n\n\t\t\t欢迎使用学生成绩管理系统\n");

printf("\n\n\n\n\t\t******************按任意键继续********************");

ch=getch();

}

while(!

ch);

system("cls");

/*以下为功能选择模块*/

do

{

printf("\n\t\t\t\t1.录入学生信息\n\t\t\t\t2.显示学生总成绩信息\n\t\t\t\t3.对总成绩排序\n\t\t\t\t4.显示学生单科成绩排序\n\t\t\t\t5.添加学生信息\n\t\t\t\t6.删除学生信息\n\t\t\t\t7.修改学生信息\n\t\t\t\t8.查询学生信息\n\t\t\t\t9.从文件读入学生信息\n\t\t\t\t10.删除文件中学生信息\n\t\t\t\t11.保存学生信息\n\t\t\t\t12.退出\n");

printf("\t\t\t\t选择功能选项(输入所选功能前的数字):

");

fflush(stdin);

/*可用可不用,用于清除缓存防止下次用scanf输入时出现错误*/

scanf("%d",&as);

switch(as)

{

case1:

system("cls");

input();

break;

case2:

system("cls");

display();

break;

case3:

system("cls");

sort();

break;

case4:

system("cls");

display1();

break;

case5:

system("cls");

insert();

break;

case6:

system("cls");

del();

break;

case7:

system("cls");

modify();

break;

case8:

system("cls");

find();

break;

case9:

system("cls");

read();

break;

case10:

system("cls");

del_file();

break;

case11:

system("cls");

save();

break;

case12:

system("exit");

exit(0);

default:

system("cls");

gotostart;

}

}while

(1);/*while

(1),1表示真,所以while

(1)表示永远循环下去*/

/*至此功能选择模块结束*/

}

voidinput()/*学生信息录入模块*/

{

inti=0;

charch;

do

{

printf("\t\t\t\t1.录入学生信息\n输入第%d个学生的信息\n",i+1);

printf("\n输入8位的学生学号:

");

scanf("%u",&stu[i].no);

fflush(stdin);

printf("\n输入学生姓名:

");

fflush(stdin);

gets(stu[i].name);

printf("\n输入学生性别:

");

fflush(stdin);

gets(stu[i].sex);

printf("\n输入学生成绩1:

");

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

printf("\n输入学生成绩2:

");

fflush(stdin);

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

printf("\n输入学生成绩3:

");

fflush(stdin);

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

printf("\n\n");

i++;

now_no=i;

printf("是否继续输入?

(Y/N)");

fflush(stdin);

ch=getch();

system("cls");

}

while(ch!

='n'&&ch!

='N');

system("cls");

}

voidsort()/*排序数据函数*/

{

structstudenttemp;

inti,j;

average();

for(i=1;i

{

for(j=1;j<=now_no-i;j++)

{

if(stu[j-1].ave

{

temp=stu[j];

stu[j]=stu[j-1];

stu[j-1]=temp;

}

}

}

printf("排序已完成进入功能2可进行显示\n");

system("pause");

system("cls");

}

voidsort1()/*排序数据函数*/

{

structstudenttemp;

inti,j;

for(i=1;i

{

for(j=1;j<=now_no-i;j++)

{

if(stu[j-1].score1

{

temp=stu[j];

stu[j]=stu[j-1];

stu[j-1]=temp;

}

}

}

}

voidsort2()/*排序数据函数*/

{

structstudenttemp;

inti,j;

for(i=1;i

{

for(j=1;j<=now_no-i;j++)

{

if(stu[j-1].score2

{

temp=stu[j];

stu[j]=stu[j-1];

stu[j-1]=temp;

}

}

}

}

voidsort3()/*排序数据函数*/

{

structstudenttemp;

inti,j;

for(i=1;i

{

for(j=1;j<=now_no-i;j++)

{

if(stu[j-1].score3

{

temp=stu[j];

stu[j]=stu[j-1];

stu[j-1]=temp;

}

}

}

}

voiddisplay()/*显示数据函数*/

{

inti;

charas;

average();

do

{

printf("\t\t\t班级学生信息列表\n");

printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");

for(i=0;i

printf("\t%u%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);

printf("\t\t\t按任意键返回主菜单");

fflush(stdin);

as=getch();

}

while(!

as);

system("cls");

}

voiddisplay1()/*显示数据函数*/

{

inti;

charas;

do

{

printf("\t\t\t班级学生score1成绩排序\n");

printf("\t学号\t姓名\t性别\t成绩1\n");

sort1();

for(i=0;i

printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1);

printf("\t\t\t班级学生score2成绩排序\n");

printf("\t学号\t姓名\t性别\t成绩2\n");

sort2();

for(i=0;i

printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score2);

printf("\t\t\t班级学生score3成绩排序\n");

printf("\t学号\t姓名\t性别\t成绩3\n");

sort3();

for(i=0;i

printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score3);

printf("\t\t\t按任意键返回主菜单");

fflush(stdin);

as=getch();

}

while(!

as);

system("cls");

}

voidinsert()/*插入数据函数*/

{

charch;

do

{

printf("\n\t\t输入新插入学生信息\n");

printf("\n输入学生学号:

");

scanf("%u",&stu[now_no].no);

fflush(stdin);

printf("\n输入学生姓名:

");

fflush(stdin);

gets(stu[now_no].name);

printf("\n输入学生性别:

");

fflush(stdin);

gets(stu[now_no].sex);

printf("\n输入学生成绩1:

");

fflush(stdin);

scanf("%f",&stu[now_no].score1);

printf("\n输入学生成绩2:

");

fflush(stdin);

scanf("%f",&stu[now_no].score2);

printf("\n输入学生成绩3:

");

fflush(stdin);

scanf("%f",&stu[now_no].score3);

printf("\n\n");

now_no=now_no+1;

sort();

printf("是否继续输入?

(Y/N)");

fflush(stdin);

ch=getch();

system("cls");

}

while(ch!

='n'&&ch!

='N');

}

voiddel()/*删除数据函数*/

{unsignedlonginum;

inti;

printf("输入要删除学生的学号:

");

fflush(stdin);

scanf("%u",&inum);

for(i=0;i

{

if(stu[i].no==inum)

{

if(i==now_no)now_no-=1;

else

{

stu[i]=stu[now_no-1];

now_no-=1;

}

sort();

break;

}

}

system("cls");

}

voidsave()/*保存数据函数*/

{

FILE*fp;

inti;

charfilepath[20];

printf("输入要保存的文件路径:

");

fflush(stdin);

gets(filepath);

if((fp=fopen(filepath,"w"))==NULL)

{

printf("\n保存失败!

");

exit(0);

}

for(i=0;i

{

stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;

stu[i].ave=stu[i].sum/3;

fprintf(fp,"\t%u%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);

}

fclose(fp);

printf("学生信息已保存在%s中!

\n",filepath);

system("pause");

system("cls");

}

voidfind()/*查询函数*/

{

inti;

charstr[20],as;

do

{

printf("输入要查询的学生姓名:

");

fflush(stdin);

gets(str);

for(i=0;i

if(!

strcmp(stu[i].name,str))

{

printf("\t学号\t\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");

printf("\t%u\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);

}

printf("\t\t\t按任意键返回主菜单");

fflush(stdin);

as=getch();

}

while(!

as);

system("cls");

}

voidaverage()/*求平均数*/

{

inti;

for(i=0;i

{

stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;

stu[i].ave=stu[i].sum/3;

}

}

voidmodify()/*修改数据函数*/

{

inti;

charstr[20];

printf("输入要修改的学生姓名:

");

fflush(stdin);

gets(str);

for(i=0;i

{

if(!

strcmp(stu[i].name,str))

{

system("cls");

printf("\n\t\t输入修改后学生信息\n");

printf("\n输入学生学号:

");

fflush(stdin);

scanf("%u",&stu[i].no);

printf("\n输入学生性别:

");

fflush(stdin);

gets(stu[i].sex);

printf("\n输入学生成绩1:

");

fflush(stdin);

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

printf("\n输入学生成绩2:

");

fflush(stdin);

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

printf("\n输入学生成绩3:

");

fflush(stdin);

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

printf("\n\n");

sort();

break;

}

}

system("cls");

}

voidread()

{

FILE*fp;

inti;

charfilepath[20];

printf("输入要读入的文件路径:

");

fflush(stdin);

gets(filepath);

if((fp=fopen(filepath,"r"))==NULL)

{

printf("找不到%s文件!

\n",filepath);

system("pause");

exit(0);

}

now_no=0;

for(i=0;i

feof(fp);i++)

{

fscanf(fp,"\t%d\t%s\t%s\t%f\t%f\t%f\t%f\n",&stu[i].no,stu[i].name,stu[i].sex,&stu[i].score1,&stu[i].score2,&stu[i].score3,&stu[i].ave);

now_no++;

}

fclose(fp);

printf("保存的在文件%s中的所有信息已经读入!

\n",filepath);

system("pause");/*按任意键继续*/

system("cls");

}

voiddel_file()

{

FILE*fp;

charfilepath[20];

printf("输入要删除的文件路径:

");

fflush(stdin);

gets(filepath);

fp=fopen(filepath,"w");

fclose(fp);

printf("保存的在文件%s中的所有信息已经删除!

\n",filepath);

system("pause");

system("cls");

}

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

当前位置:首页 > 工程科技 > 能源化工

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

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