学生成绩管理系统Word下载.docx
- 文档编号:419160
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:25
- 大小:385.51KB
学生成绩管理系统Word下载.docx
《学生成绩管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统Word下载.docx(25页珍藏版)》请在冰点文库上搜索。
请输入第%d个学生信息:
"
i+1);
学号:
);
scanf("
%s"
&
pp);
k=strlen(pp);
parr[i].mnum=newchar(k+1);
for(intt=0;
t<
k;
t++)
parr[i].mnum[t]=pp[t];
parr[i].mnum[k]='
\0'
;
语文成绩:
"
%f"
parr[i].chinse);
数学成绩:
parr[i].math);
英语成绩:
parr[i].english);
姓名:
qq);
k=strlen(qq);
parr[i].mname=newchar(k+1);
parr[i].mname[t]=qq[t];
parr[i].mname[k]='
parr[i].total=parr[i].english+parr[i].chinse+parr[i].math;
}
return;
}
打印信息
voidoutput(structstudent*parr,intlen)
intk1,k2;
i<
i++)
k1=0;
k2=0;
while(parr[i].mnum[k1]!
='
{
printf("
%c"
parr[i].mnum[k1]);
k1++;
}
姓名:
while(parr[i].mname[k2]!
parr[i].mname[k2]);
k2++;
语文:
%.2f数学:
%.2f英语:
%.2f总成绩:
%.2f\n"
parr[i].chinse,parr[i].math,parr
[i].english,parr[i].total);
/*printf("
%s姓名:
%s语文:
&
parr[i].mnum,&
parr[i].mname,parr[i].chinse,parr[i].math,parr[i].english,parr[i].total);
*/
getch();
/*函数功能:
按学号找学生信息*/
voidfind_num(structstudent*parr,intlen)
charnk[100];
intkk1,kk2;
printf("
请您输入需要查找的学号:
scanf("
nk);
kk1=strlen(nk);
for(inti=0;
kk2=strlen(parr[i].mnum);
if(kk1==kk2)
if(strcmp(nk,parr[i].mnum)==0)
{
intk1=0,k2=0;
printf("
while(parr[i].mnum[k1]!
{
printf("
k1++;
}
while(parr[i].mname[k2]!
k2++;
parr[i].chinse,parr
[i].math,parr[i].english,parr[i].total);
getch();
return;
}
没有此学号!
\n"
//查找语文最高分的信息
voidfind_chinse(structstudent*parr,intlen)
structstudenttemp=parr[0];
for(inti=1;
if(parr[i].chinse>
temp.chinse)
temp=parr[i];
intk1=0,k2=0;
while(temp.mnum[k1]!
temp.mnum[k1]);
k1++;
while(temp.mname[k2]!
temp.mname[k2]);
k2++;
%.2f
temp.chinse,temp.math,temp.english,temp.total);
//查找数学最高分的信息
voidfind_math(structstudent*parr,intlen)
if(parr[i].math>
temp.math)
//查找英语最高分信息
voidfind_englis(structstudent*parr,intlen)
if(parr[i].english>
temp.english)
实现按成绩排序
voidsort_chinest(structstudent*parr,intlen)
inti,j;
structstudentt;
for(i=0;
len-1;
for(j=i+1;
j<
j++)
if(parr[j].chinse>
parr[i].chinse)
t=parr[j];
parr[j]=parr[i];
parr[i]=t;
output(parr,len);
voidsort_math(structstudent*parr,intlen)
if(parr[j].math>
parr[i].math)
voidsort_english(structstudent*parr,intlen)
if(parr[j].english>
parr[i].english)
//按总分排序
voidsort_total(structstudent*parr,intlen)
if(parr[j].total>
parr[i].total)
//按姓名排序
voidsort_name(structstudent*parr,intlen)
if(strcmp(parr[i].mname,parr[j].mname)>
0)
注销学生信息*/
voidClear(structstudent*parr,intlen)
charnum[100];
structstudenttemp;
请输出删除学生的学号:
num);
k1=strlen(num);
k2=strlen(parr[i].mnum);
if(k1==k2)
if(strcmp(num,parr[i].mnum)==0)
for(intj=i;
j<
(len-1);
j++)
temp=parr[j];
parr[j]=parr[j+1];
parr[j+1]=temp;
删除成功!
没有找到此学生信息\n"
//按学号修改学生信息
voidModefy(structstudent*parr,intlen)
需要修改的学号为:
floatchin,math,eng;
inthh,tt;
charmm[100];
修改的名字为:
scanf("
mm);
hh=strlen(parr[i].mname);
tt=strlen(mm);
if(hh<
tt)
parr[i].mname=(char*)realloc(parr[i].mname,(tt+1)*sizeof(char));
for(intr=0;
r<
tt;
r++)
parr[i].mname[r]=mm[r];
parr[i].mname[tt]='
else
修改的语文成绩:
chin);
parr[i].chinse=chin;
修改的数学成绩:
math);
parr[i].math=math;
修改的英语成绩:
eng);
parr[i].english=eng;
parr[i].total=parr[i].chinse+parr[i].math+parr[i].english;
修改成功!
将数据写入文件*/
voidwrite(structstudent*parr,intlen)
inti;
//控制循环
FILE*fp=NULL;
//定义文件指针
fp=fopen("
D:
\\student.txt"
"
w"
//打开文件并使文件指针指向它,以写的方式
if(fp==NULL)//如果文件没有打开,提示错误并退出
\n\t文件没有打开!
程序结束!
getchar();
//等待用户观察
exit(0);
//结束整个程序
else
for(i=0;
i++)//将数据依次写入文件
intk1=0,k2=0;
fprintf(fp,"
while(parr[i].mnum[k1]!
fprintf(fp,"
k1++;
while(parr[i].mname[k2]!
k2++;
已将学生信息保存在了D盘根目录下的student.txt文件中。
fclose(fp);
读取文件数据*/
voidread(structstudent*parr,intlen)
FILE*fp=NULL;
r"
//以只读的方式打开文件
if(fp==NULL)
数据读取失败!
charpp[100],qq[100];
intk;
floatcc,mm,ee;
fscanf(fp,"
k=strlen(pp);
parr[i].mnum=newchar(k+1);
for(intt=0;
parr[i].mnum[t]=pp[t];
parr[i].mnum[k]='
k=strlen(qq);
parr[i].mname=newchar(k+1);
parr[i].mname[t]=qq[t];
parr[i].mname[k]='
cc);
parr[i].chinse=cc;
parr[i].math=mm;
ee);
parr[i].english=ee;
parr[i].total=parr[i].english+parr[i].chinse+parr[i].math;
getchar();
读取信息成功!
结束整个程序*/
voidexit(structstudent*parr,intlen)
charch='
do
您确定要退出!
(y/n):
%c"
ch);
}while((ch!
Y'
)&
&
(ch!
y'
N'
n'
));
if((ch=='
)||(ch=='
))
intmain(void)
structstudent*parr;
intlen=0,ch;
请输入需要存入的学生人数:
%d"
len);
parr=(structstudent*)malloc((sizeof(structstudent)*len));
//menu(parr,len);
按回车键继续\n"
while
(1)
system("
cls"
\t\t|******************************************|\n"
\t\t|---------------学生管理系统-------------|\n"
\t\t|------------1.写入学生信息---------|\n"
\t\t|------------2.查看全部学生信息---------|\n"
\t\t|------------3.按学号查找---------|\n"
\t\t|------------4.查找语文最高分信息---------|\n"
\t\t|------------5.查找数学最高分信息---------|\n"
\t\t|------------6.查找英语最高分信息---------|\n"
\t\t|------------7.按总分排序---------|\n"
\t\t|------------8.按姓名排序---------|\n"
\t\t|------------9.删除指定学号的信息---------|\n"
\t\t|------------10.修改指定学号学生信息-----|\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统