C语言课程设计学生成绩管理系统源代码吉林大学1.docx

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

C语言课程设计学生成绩管理系统源代码吉林大学1.docx

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

C语言课程设计学生成绩管理系统源代码吉林大学1.docx

C语言课程设计学生成绩管理系统源代码吉林大学1

#include

#include

#include

#include

typedefstructstudent{/*定义结构体*/

charIDNumber[16];/*学号*/

charFamilyName[16];/*姓*/

charGivenName[16];/*名*/

intsex;/*性别(0代表“女”,1代表“男”)*/

intBirthYear;/*出生年*/

intBirthMonth;/*出生月*/

intBirthDay;/*出生日*/

floatscore[4];/*成绩*/

floatsum;/*总分*/

floataverage;/*平均分*/

}stu;

typedefstructLnode

{

studentdata;

Lnode*next;

}st,*linklist;

/***************************************************************************/

structtm*ptm;

floatSumstu(linklistL);

floatAverstu(linklistL);

floatSumstu(linklistL){/*计算总分*/

linklists;

s=L;

inti;

s->data.sum=0;

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

{

s->data.sum+=s->data.score[i];

}

return(s->data.sum);

}

floatAverstu(linklistL){

linklistq;

q=L;

Sumstu(q);

q->data.average=q->data.sum/4;

return(q->data.average);

}

voidTimeNow()/*获取系统时间*/

{

structtm*ptm;

longts;

inty,m,d,h,n,s;

ts=time(NULL);

ptm=localtime(&ts);

y=ptm->tm_year+1900;//年

m=ptm->tm_mon+1;//月

d=ptm->tm_mday;//日

h=ptm->tm_hour;//时

n=ptm->tm_min;//分

s=ptm->tm_sec;//秒

}

intMenu()/*菜单函数*/

{

intn;

printf("\t\t\t\n\n\n\n欢迎使用学生成绩管理系统\n\n\t\t\t按任意键进入系统!

");

system("pause");

system("cls");

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

printf("\n\t\t\t学生成绩管理系统\n\t\t\t\t制作人陈光林(52101407)\n");

printf("-------------------------------菜单(Menu)---------------------------------\n");

printf("\n\t1.Enterlist输入记录\n");

printf("\t2.Deletearecordfromlist删除记录\n");

printf("\t3.Printlist显示所有记录\n");

printf("\t4.Searchrecordonname按照姓名查找记录\n");

printf("\t5.Savethefile保存记录到文件中\n");

printf("\t6.Loadthefile从文件中读入记录\n");

printf("\t7.Computethescore计算所有学生的总分和均分\n");

printf("\t8.Querybyclass按班级查询显示学生总分\n");

printf("\t9.Insertrecordtolist插入记录到表中\n");

printf("\t0.Quit退出系统\n");

printf("---------------------------------------------------------------------------\n");

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

do{

printf("\n\t\t\t请选择你需要的操作(0—9):

");

scanf("%d",&n);

}while(n<1||n>5);/*如果选择项不在1—9之间则重输*/

return(n);/*返回选择项*/

}

/***************************************************************************/

linklistinitlist(void)/*建立一个空链表*/

{

linklistL=(linklist)malloc(sizeof(st));

L->next=NULL;

returnNULL;

}

/*建立学生信息链表*/

st*creastlist(linklistL)

{

inti;

floats;

linklistp;

for(;;)

{

p=(linklist)malloc(sizeof(st));/*开辟新的节点*/

if(!

p)

{

printf("\nOutofmemory.");

return(L);

}

printf("请输入学生学号");

scanf("%s",p->data.IDNumber);

if(p->data.IDNumber[0]=='0')break;

printf("请输入姓:

");

scanf("%s",p->data.FamilyName);

printf("请输入名:

");

scanf("%s",p->data.GivenName);

printf("请输入性别(0女/1男):

");

scanf("%d",&p->data.sex);

printf("请输入生日:

");

scanf("%d%d%d",&p->data.BirthYear,&p->data.BirthMonth,&p->data.BirthDay);

printf("请输入成绩\n",4);

s=0;

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

{

do

{

printf("score%d:

",i+1);

scanf("%f",&p->data.score[i]);

if(p->data.score[i]<0||p->data.score[i]>100)

printf("Dataerror,pleaseenteragain.\n");

}while(p->data.score[i]<0||p->data.score[i]>100);

s=s+p->data.score[i];

}

p->data.sum=s;

p->data.average=s/4;

p->next=L;

L=p;

}

return(L);

}

/***********************************************************************************************/

/*

voidcreastlist(linklistL)

{

st*p;

linklisthead=NULL;

p=(linklist)malloc(sizeof(st));

p=L;

for(;;)

{

printf("请输入学生学号:

\n");

scanf("%s",p->data.IDNumber);

printf("请依次输入学生姓名:

\n");

scanf("%s%s",p->data.FamilyName,p->data.GivenName);

printf("请输入出生年月日:

\n");

scanf("%d%d%d",p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay);

TimeNow();

if(p->data.BirthYear>=ptm->tm_year+1900){printf("错误!

学生年龄不能为负值!

请重新输入!

");continue;}

elseif(p->data.BirthMonth>=ptm->tm_mon+1){printf("错误!

学生年龄不能为负值!

请重新输入!

");continue;}

elseif(p->data.BirthDay>=ptm->tm_mday){printf("错误!

学生年龄不能为负值!

请重新输入!

");continue;}

else{

printf("请输入性别(0代表女,1代表男:

\n");

scanf("%d",p->data.sex);

if(p->data.sex!

=0||p->data.sex!

=1){printf("错误!

学生年龄不能为负值!

请重新输入!

");continue;}

else{

printf("请分别输入外语、高数、C语言、马哲四门成绩:

\n");

scanf("%f%f%f%f",&p->data.score[0],&p->data.score[1],&p->data.score[2],&p->data.score[3]);

p->next=head;

head=p;

}

}

}

}

*/

/*输出所有学生的信息*/

voidprint(linklisthead)

{

linklistp;

p=head;

printf("**************************************************************************");

printf("|学号|姓名|性别|出生年月日|外语C语言高数马哲|总分|平均分|");

printf("--------------------------------------------------------------------------");

Sumstu(p);

Averstu(p);

wh

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

当前位置:首页 > 高等教育 > 工学

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

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