学生成绩管理系统Word文档下载推荐.docx
《学生成绩管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
是否输入其他数据
2:
查看数据
3:
插入数据
4:
查找数据
5:
更新数据
6:
保留数据
7:
显示或打印数据
8:
语文成绩状况
9:
数学成绩状况
10:
英语成绩状况
11:
计算机成绩状况
12:
?
13:
退出系统
二、数据结构设计:
程序设计中用到的结构体类型:
学生信息结构体类型:
typedefstructstudent{
charname[MAX];
intnum[MAX];
charsex[MAX];
intchinese;
intmathematic;
intenglish;
intcomputer;
structstudent*next;
}
程序代码:
//原始密码是123456
#include"
stdio.h"
stddef.h"
string.h"
#defineMAX10
typedefstructstudent{/*定义结构体*/
/*姓名*/
/*学号*/
/*性别*/
/*语文*/
/*数学*/
/*英语*/
/*计算机*/
/*结构体指针*/
}stu;
stu*head;
/*头指针*/
voidprint()/*显示或打印函数*/
{
system("
cls"
);
printf("
\t\t\tScoreManageSystem\n"
/*成绩管理系统*/
<
1>
EnterRecord\t"
/*输入数据*/
2>
Display\t"
/*显示*/
3>
Insert\t"
/*插入数据*/
4>
Quest\t"
/*访问数据*/
5>
Update\t"
/*以前数据*/
6>
Save\t"
/*保留数据*/
7>
Fresh\t"
/*更新数据*/
8>
ChineseAverage\t"
/*语文平均成绩*/
9>
MathAverage\t"
/*数学平均成绩*/
10>
EnglishAverage\t"
/*英语平均成绩*/
11>
ComputerAverage\t"
/*计算机平均成绩*/
12>
Quit\t\n"
/*退出*/
voidcin(stu*p1)/*输入相关数据的函数*/
{printf("
Entername:
\n"
scanf("
%s"
&
p1->
name);
Enternum:
%d"
num);
Entersex:
sex);
Enterscore:
Enterchinese:
chinese);
Entermath:
mathematic);
EnterEnglish:
english);
EnterComputer:
computer);
stu*cindata()/*其他数据是否继续输入的函数*/
{stu*p1,*p2;
inti=1;
charch;
p1=(stu*)malloc(sizeof(stu));
head=p1;
while(i)
cin(p1);
DoyouWanttoContinue?
yesorno"
/*是否继续输入数据*/
ch=getchar();
if(ch=='
n'
||ch=='
N'
)
{i=0;
p1->
next=NULL;
else
{p2=p1;
p2->
next=p1;
return(p1->
next);
}
stu*lookdata(stu*p1)/*查看数据的函数*/
while(p1!
=NULL)
Num:
%d\t"
p1->
Name:
%s\t"
Sex:
Chinese:
Math:
English:
Computer:
p1=p1->
next;
returnp1;
voidinsert()/*通过比较学号来插入数据的函数*/
{stu*p1,*p3,*p2;
p1=head;
p3=(stu*)malloc(sizeof(stu));
p3->
if(head==NULL){head=p3;
return;
cin(p3);
=NULL&
&
(p1->
num<
p3->
num))/*通过学号的比较来插入*/
p1=p1->
if(p2==head){p3->
next=head;
head=p3;
next=p3;
find(stu*p2)/*通过姓名查找查看数据的函数*/
{charname[20];
intb=0;
Enterthenameofthestudentyouwanttofind:
"
/*通过姓名查看*/
name);
while(p2!
{if(strcmp(name,p2->
name)==0)
Thedatayouwanthasbefound\n"
Name:
p2->
sex%s\t"
b=1;
elseif(b==0)
sorrynotfinddata!
p2=p2->
if(b==1)
print();
Findone\n"
{print();
Notfind\n"
voidcaverage()/*求各学生语文平均分、最高和最低分成绩的函数*/
{stu*p1;
inti;
floatmax=0.0,min=200.0;
floatsum=0.0,aver=0;
if(p1==NULL)
notdata!
{for(i=0;
p1!
=NULL;
i++,p1=p1->
next)
sum+=p1->
chinese;
aver=sum/i;
for(i=0;
{if(max<
chinese)
max=p1->
if(min>
min=p1->
ChineseAverage:
%f"
aver);
ChineseMax:
max);
ChineseMin:
min);
voidmaverage()/*求各学生数学平均分、最高和最低分成绩的函数*/
mathematic;
mathematic)
MatheAverage:
MatheMax:
MatheMin:
voideaverage()/*求各学生英语平均分、最高和最低分成绩的函数*/
english;
english)
EnglishAverage:
EnglishMax:
EnglishMin:
voidcomaverage()/*求各学生计算机平均分、最高和最低分成绩的函数*/
computer;
computer)
ComputerAverage:
ComputerMax:
ComputerMin:
update(stu*p2)/*通过姓名查找来更新数据*/
charname[10];
/*p2为指向结构体structstudent的指针*/
EnterTheName"
/*输入姓名*/
Findyoudata\n"
english:
Success!
SorrynotFinddata!
if(b==0)
Finish!
save(stu*p2)/*保留数据函数*/
FILE*fp;
charfile[10];
Enterfilename"
/*输入文件名*/
file);
fp=fopen(file,"
w"
fprintf(fp,"
fclose(fp);
charpassword[7]="
123456"
;
/*定义初始密码*/
voidmain()/*主函数*/
{intchoice;
stu*p2;
chars[8];
intflag=0,i;
/*标志项*/
intn=3;
do{printf("
Enterpassword:
s);
if(!
strcmp(s,password))/*进行密码匹配验证*/
PASS\n\n\n"
flag=1;
break;
else{
ErrorEnteragain:
n--;
while(n>
0);
flag)
{printf("
youhaveEnter3times!
/*输入密码超过了3次!
!
*/
exit(0);
/*自动退出*/
/*密码验证成功后进入的界面*/
~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n"
/*操作界面*/
\t\tWelcomtotheMis\n"
Author:
-----\tClass:
------\tNum:
------\n"
/*作者,班级和号码*/
Adress:
HG\n"
/*地址*/
%%%%%%%%%%%%%%%%%%%%%%%%%%%\n"
\t\tEnterOP:
\n\n\n\n"
==============\t\t==============\n"
\t\tEntertheMISyesorno\n"
/*问进入系统与否*/
choice);
if(choice=='
||choice=='
exit
(1);
while
(1)
Enterchoice:
i);
if(i<
1||i>
13)
Enternumfrom1to13:
/*再从1-13中进行选择*/
switch(i)
{case1:
p2=cindata();
/*其他数据是否继续输入的函数*/
case2:
p2=lookdata(head);
/*查看数据的函数*/
case3:
insert();
/*通过比较学号来插入数据的函数*/
case4:
find(head);
/*通过姓名查找查看数据的函数*/
case5:
update(head);
/*通过姓名查找来更新数据*/
case6:
save(head);
/*保留数据函数*/
case7:
/*显示或打印函数*/
case8:
caverage();
/*求各学生语文平均分、最高和最低分成绩的函数*/
case9:
maverage();
/*求各学生数学平均分、最高和最低分成绩的函数*/
case10:
eaverage();
/*求各学生英语平均分、最高和最低分成绩的函数*/
case11:
comaverage();
/*求各学生计算机平均分、最高和最低分成绩的函数*/
case12:
;
/*空操作*/
case13: