学生成绩管理系统报告_第1页
学生成绩管理系统报告_第2页
学生成绩管理系统报告_第3页
学生成绩管理系统报告_第4页
学生成绩管理系统报告_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11.11.211.11.21.3性需1.42、概要设2.1统模块划2.1.1序模2.1.2序模print(head);sort_num(head);sort_name(head);sort_score(head)2.1.3模2.22.2.1序模2.1.3模2.22.2.1序模2.2.2序模2.2.3模))))))))3.详细设3.1enumsex1struct{struct{3.详细设3.1enumsex1struct{struct{sex1floatstructtimebirthday;structstu*next;typedefstu*intstu3.2voidSaveToFile(structstu*{{printf("cannotopenfile\n");}{fwrite(p,sizeof(structstu),1,{fwrite(p,sizeof(structstu),1,fp);p=p->next;}while(p!=}structstu*load(){head=p=(structstu*)malloc(sizeof(struct{printf("cannotopenfile\n");}while{ne=(structstu*)malloc(sizeof(structstu),1,fp)>0){p->next=ne;}}return}3.3块详细设intDateJudge(intyear,intmonth,intday,intflag){if{switch{3.3块详细设intDateJudge(intyear,intmonth,intday,intflag){if{switch{//2:if(((year%4==0)&&(year%100!=0))||(year%400=={if(day>29||day<=}elseif(day>28||day<=0) default:flag=0;}}elseflag=0;}voidprint(stu{stu*p=head-while{{case{stu*p=head-while{{case}}}structstu*creat(){head=tail=(structstu*)scanf("%d",for(i=1;i<=current;{p1=(structstu*)malloc(LEN);if(i==1)p2=head;while{if(p2->next&&p2-{p2=head;while{if(p2->next&&p2-{}if(p2->next&&p2->num!=num)}p1-switch{}while(p1->grade[math]<0||p1->grade[math]>100||p1->grade[chinese]<0||p1->grade[chinese]>p1->grade[english]<0||p1->grade[english]>{scanf("%f%f%f",&p1->grade[math],&p1->grade[chinese],&p1-}printf("\n1980~2014:199277)");flag=DateJudge(p1->birthday.year,p1->birthday.month,p1-while(!flag){---}}}---flag=DateJudge(p1->birthday.year,p1->birthday.month,p1-while(!flag){---}}}---voidsort_num(stu{stu*)q=(structheadq- while(head){while(q&&(q->num<head-{}}head=headq-}voidsort_name(stu*head){stu*)q=(structstuheadq- }voidsort_name(stu*head){stu*)q=(structstuheadq- while(head){while(q(q->name[0]<head-{}}head=headq-}voidsort_score(stu*head){{printf("\n\t\t\t请选择:");while{}printf("\n\t\t\t请选择:");while{}switch{case}if(p-elseif(p->grade[cour]<q-{p->next=q-q-p=head- /*以上两行将pq*/if/*当元素为俩个时终止while{if(m->grade[cour]>p-{}{while(q&&m->grade[cour]<q-{/*把p和qwhile{if(m->grade[cour]>p-{}{while(q&&m->grade[cour]<q-{/*把p和q}m-}if(!m) }}/*if{headq=(structstu*)q=(structstu*)while(head){while(q{(q->grade[cour]>head-}}head=headq-}if(shu_zi==1||shu_zi==2}}head=headq-}if(shu_zi==1||shu_zi==2||shu_zi==3||shu_zi==4){charc;}while}voidFind(struct{{case}-}voidfind_name(structstu*head){whileif(strcmp(p-{-}voidfind_name(structstu*head){whileif(strcmp(p-{}if(flag==0)}voidfind_num(structstu*head){whileif(p-{}elsep=p-if}voidfind_age_sex(structstu*head){}voidfind_age_sex(structstu*head){{case1:while{if((p->sex==boy)&&((2014-p-{}}default:while(p){if((p->sex==girl)&&((2014-p-{}}}if}voidfind_max_score(structstu*head){{intprintf("\n\t\t\t请选择:");while(shu_zi!=1&&shu_zi!=2&&{}&&{intprintf("\n\t\t\t请选择:");while(shu_zi!=1&&shu_zi!=2&&{}&&if(shu_zi==1||{switch{||)}while(q){if(max<=q-{}}{if}}{if(max==q->grade[cour]&&q!=p)} if(shu_zi!=0if(shu_zi==1||shu_zi==2||shu_zi==3||shu_zi==4){charc;}}while}voidfind_score(structstu*head){{intwhile{}if(shu_zi==1||{switch{||while{}if(shu_zi==1||{switch{||)}while(a>b||a<0||b<0||a>100||{90:");}while{if(p->grade[cour]>=a&&p->grade[cour]{}}if}if(shu_zi==1||shu_zi==2||}if(shu_zi==1||shu_zi==2||shu_zi==3||shu_zi==4){charc;}}while}voidStatistics(struct{{floatren[5]={0};printf("\n\t\t\t请输入要统计的科目:");switch{casedefault:while(xz!=1&&xz!=2&&xz!=3&&xz!=4{}}if{p=head-while{default:while(xz!=1&&xz!=2&&xz!=3&&xz!=4{}}if{p=head-while{elseif(p->grade[cour]>=80)elseif(p->grade[cour]>=70)elseif(p->grade[cour]>=60)elseif(p->grade[cour]>=0)p=p-}for{/}printf("\n优秀\t\tprintf("\nprintf("\n\t\t}{char}}}{char}}voidRewrite(structstu{{if(new_p->num==xue_hao{}if(option==0){}p=(structstu*){printf("\n\t~~~~~~~~~~~~~~~请输入修改信息printf("\n\t\t*****\t1、姓名\t\tprintf("\n\t\t*****\t4printf("\n\t~~~~~~~~~~~~~~~请输入修改信息printf("\n\t\t*****\t1、姓名\t\tprintf("\n\t\t*****\t4printf("\n\t\t*****\t5、出生日期\t*****");printf("\n\t\t*****\t0、退出修改\t*****");while(xz!=1&&xz!=2&&xz!=3&&xz!=4&&xz!=5&&xz!=6{}if(xz==1||xz==2||xz==3||xz==4||xz==5{switch{{case1:strcpy(new_p->name,p-}q=while{if(q-{printf("}{}}p-}{}}p-{case1:new_p->num=p-}switch{default:p-}{case1:newp->sex=p-}(p->grade[math]<0||p->grade[math]>100||p->grade[chinese]<0||p-}(p->grade[math]<0||p->grade[math]>100||p->grade[chinese]<0||p-p->grade[english]<0||p-{scanf("%f%f%f",&p->grade[math],&p->grade[chinese],&p-}printf("\n是否真的要修改(1代表是,其余代表否)");{case1:new_p->grade[math]=p->grade[math];}7scanf("%d%d%d",&p->birthday.year,&p->birthday.month,&p-while(!flag){scanf("%d%d%d",&p->birthday.year,&p->birthday.month,&p-flag=DateJudge(p->birthday.year,p->birthday.month,p-}scanf("%d%d%d",&p->birthday.year,&p->birthday.month,&p-flag=DateJudge(p->birthday.year,p->birthday.month,p-}{case1:new_p->birthday.year=p->birthday.year;}}}}voidDelete(pstu&head){if{{caseif(head-{}{{{{}{{{}{}}}current=current-}}}if}voidInsert(structstu*head){while{new_p=(structwhile{new_p=(structstu*)malloc(LEN);q=while{if(q-{}{}}switch{default:new_p-}scanf("%f%f%f",&new_p->grade[math],&new_p->grade[chinese],&new_p-(new_p-new_p-new_p->grade[chinese]<0||new_p->grade[chinese]>100new_p-{scanf("%f%f%f",&new_p->grade[math],&new_p->grade[chinese],&new_p-(new_p-new_p-new_p->grade[chinese]<0||new_p->grade[chinese]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论