




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1高 级 语 言 ( C 语 言 ) 课 程 设 计 说明 书起止日期: 2012 年 07 月 2 日 至 2012 年 07 月 14 日题 目 学 生 成 绩 管 理 系 统学 生 姓 名 十 月 走班 级 电 子 信 息 工 程 1101 班学 号 xxxxxxxxxxxxxxxx成 绩 优 秀通信与信息工程学院2说明书撰写提纲一、 课程设计要求课程设计系统组成及模块功能:学生成绩管理是教学管理中的一项重要内容,主要包括成绩的录入、显示、查询和统计四大模块。各主要模块的功能如下:a) 录入模块通过键盘录入某同学的学号,姓名,3 门课成绩。b) 显示模块显示所有录入的成绩。c) 查询模块查询相关同学的成绩。d) 统计模块计算全部同学的总分和平均分。设计要求:(1)界面菜单主菜单,具体要求如下:*MENU*“1. Enter list /*输入记录*/2. Delete a record from list /*从表中删除记录*/3. print list /*显示单链表中所有记录*/4. Search record on name /*按照姓名查找记录*/5. compute the score /*计算所有学生的总分和均分 */6. sort by score /*排序*/7. Quit /*退出*/(2)需要定义多个函数对应菜单/*以下是函数原型对应以上菜单 */STUDENT *create(); /*输入记录*/STUDENT *delete(STUDENT *h); /*删除记录*/void print(STUDENT *h); /*显示所有记录*/void search(STUDENT *h); /*查找*/void computer(STUDENT *h); /*计算总分和均分*/STUDENT *sort(STUDENT *h); /*排序*/int menu_select(); /*菜单函数*/(3) 要求设计流程图(4) 要求功能框图(5)代码3二、程序的功能设计开始主界面输入数字1 2 3 4 5 6 7输入删除数据打印列表查找数据求总成绩排序输入数据是否为零?退出结束NY4三、 程序的数据结构主要功能的实现函数明细:整个系统除了主函数外,另外还有 14 个函数,实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。各个函数的详细设计说明分别如下:主函数 main()利用无限次循环 for(;)和 swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。菜单选择函数 int menu_select()这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,再自行返回该函数。初始化函数 STUDENT *init()这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使 head 的值为 NULL 和一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!输入记录函数 STUDENT *create()这是一个无参函数,用来执行第学生成绩记录的输入,当学生为时停止输入,函数结束后,带回一个指链表头的指针向 head。将下一个学生的信息插在表头。显示记录函数 void print(STUDENT *h)这是一个不返回值的有参函数,形参为“链表头的指针” ,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。5算法:先将 p 结点的指针指向第一个结点,将 p 结点(即第一个结点)的数据输出。然后再将 p 结点的指针指向 p 指针的的指针(即下一结点),将 p 结点(即第一结点)的数据输出。重复执行此步聚直到 p 指针指向 NULL 为止。查找记录函数 void search(STUDENT *h)这是一个不返回值的有参函数,形参为“链表头的指针” ,实现按学号对某个学生进行查找,并显示所查找到的记录。算法:采用线性查找法往下一个结点查找。输入所要查找的学生的学号 s,设一个指针变量 p,先指向第一个结点,当 strcmp(p-name,s) 提示用户输入密码。在输入过程中如果需要用到退格。putchar(8);putchar( ); putchar(8);来达到视觉和功能上的要求。如果密码错误,则两秒后自动返回主菜单。正确后输入要删除的学生学号,进行删除。N-S 流程图如下:6传递头指针;输入密码;否 密码正确 是输入要删除学生的学号printf(“Password 有该学生信息is mistake 否 是Tow seconds to return!“); printf( 显示该学生信息“Password is 按任意键确认删除mistake Towseconds to printf(“n have deleted No %s studentn“,s); return!“); printf(“Dont forget saven“);sleep(2);clrscr();修改函数 STUDENT *Modify(STUDENT *h)这是一个有参函数,一个是“链表头的指针”修改之后,并返回链表的头指针。算法:首先向系统申请一块空间,用于存放输入的信息。程序会根据用户输入的学号。采用线性查找法往下一个结点查找。设一个指针变量 p,先指向第一个结点,当 strcmp(p-name,s) q-next=info;按部分排序函数 STUDENT *sort(STUDENT *head)这是一个有参函数,形参为“链表头的指针” ,按学生成绩的平均分高低进行排序,还可以显示名次。N-S 流程图:temp=head-next,head-next=NULL8当 temp!=NULL 时t=temp;temp=temp-next;p1=head; p2=head;当 t-averageaverage p2-next=t;p1=head;当 p1!=NULL 时i+;p1 order=i;p1=p1next;输出“排序成功”四、 程序的函数设计1. 函数的功能描述1) 程序的模块组成:主 函 数: int main()新建函数:STUDENT *init()输入函数 :STUDENT *create()显示函数: void print(STUDENT *h)删除函数: STUDENT *delete(STUDENT *h)按名字寻找函数: void search(STUDENT *h)按总分排序函数: STUDENT *sort(STUDENT *h)计算总分和均分函数: void computer(STUDENT *h)修改函数: STUDENT *Modify(STUDENT *head,STUDENT *new)按学号排序函数: STUDENT *index(STUDENT *h)菜单函数:int menu_select()2) 各个函数的主要功能:输入函数: 随时输入数据。菜单函数:显示系统主菜单。显示函数: 显示所有学生的信息。寻找函数: 方便学生查找自己的成绩。删除函数: 删除某学生的信息。排序函数: 按总成绩排序。按学号排序函数: 按学号排序。插入函数: 可以插入新的信息。9函数的调用关系源文件 函数名或其他成分 功 能main 总控函数menu_select 菜单选择handle_menu 菜单处理newRecords 新建学生信息记录student.hquit 结束运行showTable 打印表头getIndex 按升序排序的位置addRecord 在表尾追加信息add_disp.cdisplay 显示信息removeRecord 删除制定的记录findRecord 查找制定的记录queryInfo 查找制定学生的信息copyRecord 复制记录que_remv_modi.cmodifyRecord 修改制定学生信息save 文件储存save_loadsave_load load 文件读取sort.c sortInfo 排序常数 提供常数结构声明 学生成绩结构student.h库函数及函数原型声明 引用库函数及函数五、 源程序代码#include #include #include #define LEN sizeof(struct scorenode)#define DEBUG#include struct scorenodeint number;/*学号*/char name10;/*姓名*/float yuwen;/*语文成绩*/float yingyu;/*英语成绩 */float shuxue;/*数学成绩 */10float zongfen;/*个人总分*/struct scorenode *next;typedef struct scorenode score;int n,k;/*n,k 为全局变量,本程序中的函数均可以使用它*/*=*/score *creat2311(void)/*函数 creat2311,功能:创建链表,此函数带回一个指向链表头的指针 */score*head;score *p1,*p2,*p3,*max;int i,j;float fen;char t10;n=0;p1=p2=p3=(score *)malloc(LEN);head=p3; /*开辟一个新单元*/printf(“请输入学生资料,输 0 退出!n“);repeat1: printf(“请输入学生学号(学号应大于 0):“);/*输入学号,学号应大于 0*/scanf(“%d“,while(p1-numbernumber); /*输入学号为字符或小于 0 时,程序报错,提示重新输入学号*/if(p1-number=0)goto end;/*当输入的学号为 0 时,转到末尾,结束创建链表*/else p3=head;if(n0)for(i=0;inumber!=p3-number)p3=p3-next;else printf(“学号重复,请重输!n“);goto repeat1;/*当输入的学号已经存在,程序报错,返回前面重新输入*/ printf(“请输入学生姓名:“);scanf(“%s“,/*输入学生姓名*/printf(“请输入语文成绩(0100):“);/*输入语文成绩,成绩应在 0-100*/scanf(“%f“,while(p1-yuwenyuwen100)getchar();printf(“输入错误,请重新输入语文成绩“);/*输入错误,重新输入语文成绩直到正确为止*/scanf(“%f“,printf(“请输入英语成绩(0100):“);/*输入英语成绩,成绩应在 0-100*/scanf(“%f“,while(p1-yingyuyingyu100)getchar();printf(“输入错误,请重新输入英语成绩“);/*输入错误,重新输入英语成绩直到正确为止*/scanf(“%f“,printf(“请输入数学成绩(0100):“);/*输入数学成绩,成绩应在 0-100*/scanf(“%f“,while(p1-shuxueshuxue100)getchar();printf(“输入错误,请重新输入数学成绩“);scanf(“%f“,/*输入错误,重新输入数学成绩直到正确为止*/head=NULL;while(p1-number!=0)n=n+1;if(n=1) head=p1;elsep2-next=p1;p2=p1;p1=(score *)malloc(LEN);printf(“请输入学生资料,输 0 退出!n“);repeat2:printf(“请输入学生学号(学号应大于 0):“);scanf(“%d“,/*输入学号,学号应大于 0*/while(p1-numbernumber); /*输入学号为字符或小于 0 时,程序报错,提示重新输入学号*/if(p1-number=0)goto end;/*当输入的学号为 0 时,转到末尾,结束创建链表*/else11p3=head;if(n0)for(i=0;inumber!=p3-number)p3=p3-next;else printf(“学号重复,请重输!n“);goto repeat2;/*当输入的学号已经存在,程序报错,返回前面重新输入*/ printf(“请输入学生姓名:“);scanf(“%s“,/*输入学生姓名*/printf(“请输入语文成绩(0100):“);scanf(“%f“,/*输入语文成绩,成绩应在 0-100*/while(p1-yuwenyuwen100)getchar();printf(“输入错误,请重新输入语文成绩“);scanf(“%f“,/*输入错误,重新输入语文成绩直到正确为止*/printf(“请输入英语成绩(0100):“);scanf(“%f“,/*输入英语成绩,成绩应在 0-100*/while(p1-yingyuyingyu100)getchar();printf(“输入错误,请重新输入英语成绩“);scanf(“%f“,/*输入错误,重新输入英语成绩直到正确为止*/printf(“请输入数学成绩(0100):“);scanf(“%f“,/*输入数学成绩,成绩应在 0-100*/while(p1-shuxueshuxue100)getchar();printf(“输入错误,请重新输入数学成绩“);scanf(“%f“,/*输入错误,重新输入数学成绩直到正确为止*/end: p1=head;p3=p1;for(i=1;inext;if(max-numberp1-number)k=max-number;max-number=p1-number;p1-number=k;/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/strcpy(t,max-name);strcpy(max-name,p1-name);strcpy(p1-name,t);/*交换前后结点中的姓名,使之与学号相匹配*/fen=max-yuwen;max-yuwen=p1-yuwen;p1-yuwen=fen;/*交换前后结点中的语文成绩,使之与学号相匹配*/fen=max-yingyu;max-yingyu=p1-yingyu;p1-yingyu=fen;/*交换前后结点中的英语成绩,使之与学号相匹配*/fen=max-shuxue;max-shuxue=p1-shuxue;p1-shuxue=fen;/*交换前后结点中的数学成绩,使之与学号相匹配*/max=head;p1=head;/*重新使 max,p 指向链表头 */ p2-next=NULL;/*链表结尾*/printf(“输入的学生数为:%d 个!n“,n);return(head);/*=*/*=*/score *load2311(score *head)/*函数 load2311,功能:从文件读入学生记录*/ score *p1,*p2;int m=0;12char filepn10;FILE *fp;printf(“请输入文件路径及文件名:“);scanf(“%s“,filepn);/*输入文件路径及名称 */if(fp=fopen(filepn,“r+“)=NULL)printf(“不能打开文件!n“);return 0;fscanf(fp,“ 学生成绩管理系统 n“);fscanf(fp,“作者:李鹏超 班级: 电信 1101 班 学号:1107050113 n“);fscanf(fp,“-n“);fscanf(fp,“|学号t|姓名 t|语文t|英语t|数学t|n“);fscanf(fp,“-n“);/*读入表格域*/printf(“ 学生成绩管理系统 n“);printf(“ 作者:李鹏超 班级: 电信 1101 班 学号:1107050113 n“);printf(“-n“);printf(“|学号t|姓名t|语文t| 英语t|数学t|n“);printf(“-n“);/*打印表格域*/m=m+1; if(m=1)p1=(score *)malloc(LEN); /*开辟一个新单元*/fscanf(fp,“%d%s%f%f%f“,printf(“|%dt|%st|%.1ft|%.1ft|%.1ft|n“,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue);/*文件读入与显示*/head=NULL;don=n+1;if(n=1) head=p1;else p2-next=p1;p2=p1;p1=(score *)malloc(LEN); /*开辟一个新单元*/ fscanf(fp,“%d%s%f%f%fn“,printf(“|%dt|%st|%.1ft|%.1ft|%.1ft|n“,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue);/*文件读入与显示*/while(!feof(fp);p2-next=p1;p1-next=NULL;n=n+1; printf(“-n“);/*表格下线*/fclose(fp);/*结束读入,关闭文件*/return (head);/*=*/*=*/score *add2311(score *head,score *stu)/*函数 add2311,功能:追加学生资料 ,并且将所有学生资料按学号排序*/score *p0,*p1,*p2,*p3,*max;int i,j;float fen;char t10;p3=stu=(score *)malloc(LEN);/*开辟一个新单元*/printf(“n 输入要增加的学生的资料!“);repeat4: printf(“请输入学生学号(学号应大于 0):“);scanf(“%d“, /*输入学号,学号应大于 0*/while(stu-numbernumber);/*输入错误,重新输入学号*/*/if(stu-number=0)goto end2;/*当输入的学号为 0 时,转到末尾,结束追加*/else p3=head;if(n0)for(i=0;inumber!=p3-number)p3=p3-next;else printf(“学号重复,请重输!n“);goto repeat4;/*当输入的学号已经存在,程序报错,返回前面重新输入*/ 13/*/ printf(“输入学生姓名:“);scanf(“%s“,stu-name); /*输入学生姓名*/printf(“请输入语文成绩(0100):“);scanf(“%f“, /*输入语文成绩,成绩应在 0-100*/while(stu-yuwenyuwen100)getchar();printf(“输入错误,请重新输入语文成绩“);scanf(“%f“, /*输入错误,重新输入语文成绩直到正确为止*/printf(“请输入英语成绩(0100):“);scanf(“%f“,/*输入英语成绩,成绩应在 0-100*/while(stu-yingyuyingyu100)getchar();printf(“输入错误,请重新输入英语成绩“);scanf(“%f“,/*输入错误,重新输入英语成绩直到正确为止*/printf(“请输入数学成绩(0100):“);scanf(“%f“,/*输入数学成绩,成绩应在 0-100*/while(stu-shuxueshuxue100)getchar();printf(“输入错误,请重新输入数学成绩“);scanf(“%f“,/*输入错误,重新输入数学成绩直到正确为止*/p1=head;p0=stu;if(head=NULL)head=p0;p0-next=NULL;/*当原来链表为空时,从首结点开始存放资料*/else/*原来链表不为空*/if(p1-next=NULL)/*找到原来链表的末尾*/p1-next=p0;p0-next=NULL;/*将它与新开单元相连接*/elsewhile(p1-next!=NULL)/*还没找到末尾,继续找*/p2=p1;p1=p1-next;p1-next=p0;p0-next=NULL;n=n+1;p1=head;p0=stu;for(i=1;inext;if(max-numberp1-number)k=max-number;max-number=p1-number;p1-number=k;/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/strcpy(t,max-name);strcpy(max-name,p1-name);strcpy(p1-name,t);/*交换前后结点中的姓名,使之与学号相匹配*/fen=max-yuwen;max-yuwen=p1-yuwen;p1-yuwen=fen;/*交换前后结点中的语文成绩,使之与学号相匹配*/fen=max-yingyu;max-yingyu=p1-yingyu;p1-yingyu=fen;/*交换前后结点中的英语成绩,使之与学号相匹配*/fen=max-shuxue;max-shuxue=p1-shuxue;p1-shuxue=fen;/*交换前后结点中的数学成绩,使之与学号相匹配*/max=head;p1=head;/*重新使 max,p 指向链表头 */ end2:printf(“现在的学生数为:%d 个!n“,n);return(head);14/*=*/*=*/score *search2311(score *head)/*函数 search2311,功能:查询学生成绩*/int number;score *p1,*p2;printf(“输入要查询的学生的学号,“);scanf(“%d“,while(number!=0)if(head=NULL)printf(“n 没有任何学生资料!n“);return(head);printf(“-n“);printf(“|学号t|姓名t|语文t| 英语t|数学t|n“);printf(“-n“);/*打印表格域*/p1=head;while(number!=p1-numberp1=p1-next; if(number=p1-number) printf(“|%dt|%st|%.1ft|%.1ft|%.1ft|n“,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue);printf(“-n“);/*打印表格域*/else printf(“%d 不存在此学生!n“,number);printf(“输入要查询的学生的学号,“);scanf(“%d“,printf(“已经退出了!n“);return(head);/*=*/*=*/score *del2311(score *head)/*函数 del2311,功能:删除学生资料*/score *p1,*p2;int number;printf(“输入要删除的学生的学号(输入 0 时退出):“);scanf(“%d“,getchar();while(number!=0)/*输入学号为 0 时退出*/if(head=NULL)printf(“n 没有任何学生资料!n“);return(head);p1=head;while(number!=p1-numberp1=p1-next; /*p1 后移一个结点*/if(number=p1-number) /*找到了*/ if(p1=head)head=p1-next;/*若 p1 指向的是首结点,把地二个结点地址赋予 head*/else p2-next=p1-next;/*否则将下一个结点地址 赋给前一结点地址*/printf(“删除:%dn“,number);n=n-1;elseprintf(“%d 不存在此学生!n“,number);/*找不到该结点*/printf(“输入要删除的学生的学号:“);scanf(“%d“,getchar();#ifdef DEBUG printf(“已经退出了!n“);#endifprintf(“现在的学生数为:%d 个!n“,n);return(head);15 /*=*/*=*/void print2311(score *head)/*函数 print2311,功能:显示学生成绩*/score *p;if(head=NULL) printf(“n 没有任何学生资料!n“);elseprintf(“%dn“,n);printf(“-n“);printf(“|学号t|姓名t|语文t| 英语t|数学t|n“);printf(“-n“);/*打印表格域*/p=head;doprintf(“|%dt|%st|%.1ft|%.1ft|%.1ft|n“,p-number,p-name,p-yuwen,p-yingyu,p-shuxue);printf(“-n“);/*打印表格域*/p=p-next;while (p!=NULL);/*打印完成了*/*=*/*=*/score *statistics2311(score *head)/*函数 statistics2311,功能:统计学生成绩 */float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0,min;score *p;int x,y=0,i=0;p=head;printf(“1 个人总分和平均分t2 单科平均分t3 总分最高分t4 总分最低分n“);scanf(“%d“,getchar();switch(x)/*用 switch 语句实现功能选择*/case 1: if(head=NULL)printf(“n 没有任何学生资料!n“);return(head);/*链表为空*/elseprintf(“-n“);printf(“|学号t|姓名t|语文t| 英语t|数学t| 总分t|平均分t|n“);printf(“-n“);/*打印表格域*/while(p!=NULL)sum1=p-yuwen+p-yingyu+p-shuxue; /*计算个人总分*/ ave1=sum1/3;/*计算个人平均分 */printf(“|%dt|%st|%.1ft|%.1ft|%.1ft|%.1ft|%.1ft|n“,p-number,p-name,p-yuwen,p-yingyu,p-shuxue,sum1,ave1);/*打印结果*/printf(“-n“);/*打印表格域*/p=p-next;return(head); break;case 2: if(head=NULL)printf(“n 没有任何学生资料!n“);return(head);/*链表为空*/while(p!=NULL) sum1=sum1+p-yuwen;sum2=sum2+p-yingyu;sum3=sum3+p-shuxue;/*计算总分*/y=y+1;ave1=sum1/y;ave2=sum2/y;ave3=sum3/y;/*计算平均分*/p=p-next;/*使 p 指向下一个结点*/printf(“语文平均分是%.1fn“,ave1);printf(“英语平均分是%.1fn“,ave2);printf(“数学平均分是%.1fn“,ave3);/*打印结果*/return(head); break;case 3: if(head=NULL)printf(“n 没有任何学生资料!n“);return(head);/*链表为空*/max=p-yuwen+p-yingyu+p-shuxue;while(iyuwen+p-yingyu+p-shuxue; /*计算个人总分*/if(maxnext;printf(“总分最高分:%.1f“,max);printf(“n“);return(head); break;case 4: if(head=NULL)printf(“n 没有任何学生资料!n“);return(head);/*链表为空*/while(p!=NULL)min=p-yuwen+p-yingyu+p-shuxue;while(p!=NULL)sum2=p-yuwen+p-yingyu+p-shuxue; if(minsum2)min=sum2;p=p-next;printf(“总分最低分:%.1f“,min);printf(“n“);return(head); break;default :printf(“输入错误,请重试!n“);return(head);/*=*/*=*/save2311(score *p1) /*函数 save2311,功能:保存学生的资料*/ FILE *fp;char filepn20;/*用来存放文件保存路径以及文件名*/printf(“请输入文件路径及文件名:“);scanf(“%s“,filepn);if(fp=fopen(filepn,“w+“)=NULL)printf(“不能打开文件!n“);return 0;fscanf(fp,“ 学生成绩管理系统 n“);fscanf(fp,“作者:李鹏超 班级: 电信 1101 班 学号:1107050113 n“);fscanf(fp,“-n“);fscanf(fp,“|学号t|姓名 t|语文t|英语t|数学t|n“);fscanf(fp,“-n“);/*读入表格域*/while(p1!=NULL)fprintf(fp,“%dt%st%.1ft%.1ft%.1ftn“,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue);p1=p1-next;/*下移一个结点*/fclose(fp);printf(“文件已经保存!n“);return 0;/*=*/*=*/score *taxis2311(score *head) /*定义排序函数。此函数带回一个指向链表头的指针*/ score *p,*max;int i,j,x;float fen;char t10;if(head=NULL)printf(“n 没有任何学生资料,请先建立链表!n“);return(head);/*链表为空*/max=p=head;for(i=0;inext;if(max-numberp-number)k=max-number;max-number=p-number;p-number=k;/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/strcpy(t,max-name);strcpy(max-name,p-name);strcpy(p-name,t);/*交换前后结点中的姓名,使之与学号相匹配*/fen=max-yuwen;max-yuwen=p-yuwen;p-yuwen=fen;/*交换前后结点中的语文成绩,使之与学号相匹配*/fen=max-yingyu;max-yingyu=p-yingyu;p-yingyu=fen;/*交换前后结点中的英语成绩,使之与学号相匹配*/fen=max-shuxue;max-shuxue=p-shuxue;p-shuxue=fen;/*交换前后结点中的数学成绩,使之与学号相匹配*/max=head;p=head;/*重新使 max,p 指向链表头 */print2311(head);break;/*打印值排序后的链表内容*/case 2 : for(i=1;inext;if(strcmp(max-name,p-name)0)/*strcmp=字符串比较函数*/strcpy(t,max-name);/*strcpy=字符串复制函数*/strcpy(max-name,p-name);strcpy(p-name,t);/*交换前后结点中的姓名,使得姓名字符串的值大者移到后面的结点中*/ k=max-number;max-number=p-number;p-number=k;/*交换前后结点中的学号值,使之与姓名相匹配*/ fen=max-yuwen;max-yuwen=p-yuwen;p-yuwen=fen;/*交换前后结点中的语文成绩,使之与姓名相匹配*/fen=max-yingyu;max-yingyu=p-yingyu;p-yingyu=fen;/*交换前后结点中的英语成绩,使之与姓名相匹配*/fen=max-shuxue;max-shuxue=p-shuxue;p-shuxue=fen;/*交换前后结点中的数学成绩,使之与姓名相匹配*/p=head;max=head;print2311(head);break;case 3 : for(i=1;inext;if(max-yuwenp-yuwen)fen=max-yuwen;18max-yuwen=p-yuwen;p-yuwen=fen;/*交换前后结点中的语文成绩,使得语文成绩高者移到后面的结点中*/k=max-number;max-number=p-number;p-number=k; /*交换前后结点中的学号,使之与语文成绩相匹配*/strcpy(t,max-name);strcpy(max-name,p-name);strcpy(p-name,t);/*交换前后结点中的姓名,使之与语文成绩相匹配*/fen=max-yingyu;max-yingyu=p-yingyu;p-yingyu=fen;/*交换前后结点中的英语成绩,使之与语文成绩相匹配*/fen=max-shuxue;max-shuxue=p-shuxue;p-shuxue=fen;/*交换前后结点中的数学成绩,使之与语文成绩相匹配*/p=head;max=head;print2311(head);break;case 4 : for(i=1;inext;if(max-yingyup-yingyu)fen=max-yingyu;max-yingyu=p-yingyu;p-yingyu=fen;/*交换前后结点中的英语成绩,使得英语成绩高者移到后面的结点中*/k=max-number;max-number=p-number;p-number=k;/*交换前后结点中的学号,使之与英语成绩相匹配*/strcpy(t,max-name);strcpy(max-name,p-name);strcpy(p-name,t);/*交换前后结点中的姓名,使之与英语成绩相匹配*/fen=max-yuwen;max-yuwen=p-yuwen;p-yuwen=f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年SIC涂层石英玻璃管合作协议书
- 2025年物理治疗康复设备项目建议书
- 专业水平及证书考取成绩证明书(5篇)
- 医学专家职业能力证明书(5篇)
- 公司股份认购协议书条款内容
- 游戏玩家账号买卖协议
- 快递物流行业配送中心建设协议
- 绿色农产品供应购销协议样板文件
- 体育场馆服务管理合同
- 渔业资源捕捞与供应保障协议
- 赤峰市垃圾焚烧发电项目
- 2025年心理咨询师执业资格考试试题及答案
- 殡葬单位面试题及答案
- 网络科学在社会网络分析中的应用-全面剖析
- 民法典讲座课件
- 2024年蚌埠市龙子湖区产业发展有限公司招聘笔试真题
- 2025-2030中国萤石行业分析及供需形势与投资风险研究报告
- 【安全随行】新员工入场三级安全教育培训
- 【《生育意愿及影响因素研究的国内外文献综述》3400字】
- 图文广告服务投标方案(技术方案)
- 建筑工地各工种安全操作规程
评论
0/150
提交评论