![[工学]课程设计报告.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-2/23/d43095fc-aeff-47af-bbc2-5c5e49fbe39d/d43095fc-aeff-47af-bbc2-5c5e49fbe39d1.gif)
![[工学]课程设计报告.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-2/23/d43095fc-aeff-47af-bbc2-5c5e49fbe39d/d43095fc-aeff-47af-bbc2-5c5e49fbe39d2.gif)
![[工学]课程设计报告.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-2/23/d43095fc-aeff-47af-bbc2-5c5e49fbe39d/d43095fc-aeff-47af-bbc2-5c5e49fbe39d3.gif)
![[工学]课程设计报告.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-2/23/d43095fc-aeff-47af-bbc2-5c5e49fbe39d/d43095fc-aeff-47af-bbc2-5c5e49fbe39d4.gif)
![[工学]课程设计报告.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-2/23/d43095fc-aeff-47af-bbc2-5c5e49fbe39d/d43095fc-aeff-47af-bbc2-5c5e49fbe39d5.gif)
已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录第一章 菜单设计11.1设计题目及要求11.2设计思路11.3流程图21.4具体实现31.5程序运行截图6第二章 使用数组和指针统计成绩92.1设计题目及要求92.2设计思路102.3流程图102.4具体实现112.5程序运行截图12第三章 学生成绩管理系统133.1设计题目及要求133.2设计思路153.3流程图163.4具体实现163.5程序运行截图30小 结36致谢36参考文献37第一章 菜单设计1.1 设计题目及要求设计一个菜单程序一菜单内容:程序运行后,给出5个菜单项的内容和输入提示:1 FindNum2 FindRoot3 Bear4 Diamond5 Goodbye二、设计要求使用数字1-5来选择菜单项,其它输入则不起作用:三、设计实例:1 首先编写一个菜单程序,输入1-6以进入相应选择项,从程序测试结构可知,当选择相应选择项时候,其输出信息为:FindNum、FindRoot、Bear、Diamond、Goodbye!l 使用switch语句实现功能选择l 应该设计一个函数用来输出提示信息和处理输入,这个函数应该返回一个数值,以便提供给switch语句使用三、增加菜单项的处理功能l FindNum功能:一只老鼠咬坏了账本,公式中符号()代表是被老鼠咬掉的地方。要想恢复下面的等式,应在()中填上哪个相同的数字?3()*6237=()3*3564 FindRoot这里要求编制一个求方程ax2+bx+c=0的根程序l Bear本题是一个笑话,话说有一只狗熊到玉米地里掰玉米,一边掰一边吃,第一天吃了一半,又拿走了一个回去喂狗熊。第二天又去吃了剩下的一半,走时仍然带一个回去喂狗熊。以后每天都吃前一天的一半,拿走一个。到第十天时,地里只剩下一个玉米。求地里一共有多少玉米l Diamond l Goodbye!1.2 设计思路1. 主菜单:先用for语句打印菜单的的界面,然后再里面打印五个游戏的目录。再在下面用switch-case打出五个选择,并调用相应的函数。2. findnum函数:,键入1,调用此函数。此函数是运用穷举法,把所有可能的函数都试一下,从中找出符合条件的数,某位的数字可能是1-9,将1-9拿来试验,既可以找到适合的数字,也就是满足题目要求的i。3. findroot函数:键入2,调用此函数。此函数是先输入方程的三个系数a,b,c,然后计算b*b-4*a*c的大小,然后看其是否小于0,如果小于0,就打印方程没有根,如果大于等于0,就打印方程的根。4. bear函数:键入3,是调用此函数。此函数是先定义狗熊到玉米地掰玉米的天数,然后每一次都是求一次的玉米剩余数先加1再乘2,用while循环,最后得到原有的玉米数。5. diamond函数:键入4,是调用此函数。此函数是利用for的两层循环,设计好行列数,打印*,最后得到钻石。6. googbey:键入5就利用exit回到主页面,然后就打印出goodbey!.1.3 流程图主菜单中输入选择n调FindNum函数输入方程系数调findroot函数调dear函数调diamond函数输出goodbey,调exit12345图1-1主函数流程图 图1-2Findnum函数 图1-3Findroot函数 图1-4Bear函数 图1-5Diamond函数1.4 具体实现#include#include #include /头文件double findroot( ); /找根的函数原型声明void diamond(); /钻石函数的原型声明void bear( ); /小熊掰玉米的函数原型声明void FindNum(); /老鼠啃账本的函数原型声明int main() /主函数int n,i;printf(请在菜单中选择趣味程序n);for(i=1;i23;i+)printf(*);printf(n);printf( :FindNum n);printf( :FindRoot n);printf( :Bear n);printf( :Diamond n);printf( :GoodBey n);for(i=1;i23;i+)printf(*);printf(n);printf(请输入你的选择:n); /以上是菜单界面for(;) /以下是菜单的选择,scanf(%d,&n);switch(n)case 1:FindNum();break; /调用函数case 2:printf(请输入方程的三个系数a,b,cn);findroot();break;/调用函数case 3:bear();break; /调用函数case 4:diamond();break; /调用函数case 5:printf(goodbye!);exit(0);break;return 0;/*函数FindNum(老鼠啃账本)如下*/#include void FindNum() int i; for(i=0;i10;i+) if(30+i)*6237=(i*10+3)*3564) printf(The answer is %dn,i); printf(3%d*6237=%d3*3564n,i,i); break; /*函数FindRoot(方程求根)如下*/#include#include double findroot()double a,b,c,disc,x1,x2,p,q;scanf(%lf%lf%lf,&a,&b,&c); /用户键入方程的三个系数disc=b*b-4*a*c;if(disc0) /判断是否小于0printf(this question hasnt no real root); /方程没有根elsep=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q ; x2=p-q;printf(real roots:nx1=%7.2fnx2=%7.2fn,x1,x2);/输出方程的两个根return 0;/*函数Bear(小熊掰玉米) 如下*/#includevoid bear()int day ,m,n;day=9;m=1;while(day0)n=2*(m+1);m=n;/前一天是后一天先加1再乘2day-; /由最后一天往前倒推printf(地里的玉米一共有:%d,n);/*函数Diamond如下*/#include#include void diamond()int i, j;int m, n; for (i=1; i=7; i+)/行数m = abs(4-i);for (j=0; j 4)n = 8-i;elsen = i;for (j=0; j2*n-1; j+)printf(*);printf(n);1.5 程序运行截图图1-6主菜单图1-7 选择1得到FindNum图1-8选择2得到FindRoot图1-9选择3得到Bear图1-10选择4得到Diamond图1-11选择5得到Goodbey第二章 使用数组和指针统计成绩2.1设计题目及要求使用数组和指针统计成绩1. 设计题目:假设给定班级各科考试平均成绩的原始资料如下:数学:75物理:80外语:83政治:85体育:86人数:30要求统计出全班学期总平均成绩以及得分最低的科目和该科目的成绩。要求的输出结果如下:原始信息如下:数学:75物理:80外语:83政治:85体育:86人数:30平均成绩:0最低分数科目的成绩:0最低分数的科目:全班各科平均成绩如下:数学:75物理:80外语:83政治:85体育:86人数:30统计结果如下:人数:30平均成绩:81最低分数科目的成绩:75最低分数的科目:数学2. 设计要求实现本设计功能的方法很多,这里给出4种难易成度不同的要求,以便加深对数组和指针知识的理解。对存放原始数据的要求如下:l 使用整形数组a存放数学、物理、外语、政治、体育、人数、平均成绩、最低分科目的成绩l 使用字符串数组name存放数学、物理、外语、政治、体育、最低分数的科目l 使用字符串数组MeanLow存放人数、平均成绩、最低分数科目的成绩、最低分数的科目。l 使用字符指针指向字符数组(这个题目的要求超出一般的教材,但对理解指针很有用途。)2.2设计思路1.先定义相应的数组,然后根据题目要求打印原始信息。2.根据题目要求打印全班的平均成绩3.平均分:用sum接收所有的成绩,然后除以个数。4.最低科目成绩:用数组将一个个成绩逐个比较,有更小的就刷新,最后得到最低科目成绩。5.最低成绩的科目:用数组逐个比较,在刷新成绩的同时,刷新序号,最后得到最低成绩科目的序号,根据数组得到最低成绩的科目。2.3流程图 图2-1整个流程注:上面的是主函数,下面的是每个调用的自定义函数。2.4具体实现#includeint aver(int*b); /求平均分的原形声明int zuidi(int *c,int n); /求最低分科目成绩的原形声明int km(int *c,int n); /求最低分科目成绩科目的原形声明void main()int a9=75,80,83,85,86,30 , i, t;char *name5=数学,物理,外语,政治,体育;char *Meanlow4=人数,平均成绩,最低分数科目成绩,最低分科目;printf(原始信息如下:n);for(i=0;i5;i+) printf(%s:%dn,namei,ai);for(i=0;i4;i+) printf(%s:%dn,Meanlowi,ai+5);/以上是打印原始信息printf(全班平均成绩如下:n);for(i=0;i5;i+) printf(%s:%dn,namei,ai);printf(%s:%dn,Meanlow0,a5);/以上是打印全班平均printf(统计结果如下:n);printf(%s:%dn,Meanlow0,a5); /人数printf(%s:,Meanlow1);aver(a) ;/调用平均分的自定义函数printf(%s:,Meanlow2);zuidi(a,5);/调用最低分数科目成绩的自定义函数t=km(a,5);/调用最低科目的自定义函数,求出最低科目的标号printf(%s:%sn,Meanlow3,namet);/打印最低的科目/*求平均分的函数*/int aver(int *b)int i;int aver,sum=0;for(i=0;i5;i+) sum=sum+bi;/逐个相加aver=sum/5;/求平均printf(%dn,aver);return 0;/*求最低分科目成绩的函数*/int zuidi(int *c,int n)int i, t=c0;for(i=1;ici) /逐个比较t=ci;/有更小的成绩就刷新printf(%dn,t);return 0;/*求最低分科目成绩科目的函数*/int km(int *c,int n)int i, t=c0,m=0;for(i=1;ici) /逐个比较t=ci;m+; /有更小的成绩就刷新,同时求出最低科目的标号return m;2.5程序运行截图图2-1运行后的界面第三章 学生成绩管理系统3.1设计题目及要求学生成绩管理程序本章课程谁是设计一个实用的小型学生成绩管理程序,它要求不用链表,而用数组来设计这个程序,它有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。设计要求1. 功能设计要求设计要求实现的功能较多,所以将它们分为几个部分叙述。建立文件l 可以使用默认文件名或指定文件名将记录存储到文件;l 文件保存成功返回0,失败返回-1;l 设置保存标志savedTag作为是否对记录进行存储操作的信息;l 写同名文件将覆盖原来文件的内容;增加学生记录l 可在已有记录后面追加新的记录l 可以随时用它增加新的记录,它们仅保存在结构数组中;l 可以将一个文件读入,追加在已有记录之后;l 如果已经采取文件追加的方式,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续文件追加操作方式;l 如果没有记录存在,给出提示信息。显示记录l 如果没有记录可供显示,给出提示信息;l 可以随时显示内存中的记录文件存储l 可以按默认名字或指定名字存储记录文件;l 存储成功返回0.,否则返回-1;l 更新存储标志;读取文件l 可以按照默认名字或指定名字将记录文件读入内存;l 读取成功返回0,否则返回-1;l 可以将指定或默认文件追加到现有记录并更新记录的尾部;l 可以将文件连续追加到现有记录并更新记录的名词;l 更新存储标志;删除记录l 可以按“学好”、“姓名”、“名词”方式删除记录;l 给出将删除记录的信息,经确认后在删除;l 如果已经是空表,删除时给出提示信息并返回菜单;l 如果没有要删除的信息,输出没有找到的信息;l 应该更新其他记录的名词;l 删除操作权限于内存,只有执行存记录时,才能覆盖原记录;修改记录l 可以按“学号”、“姓名”、“名次”方式修改记录内容;l 给出将修改记录的信息,经确认后进行修改;l 如果已经是空表,应给出提示信息并返回主菜单;l 如果没有找到需要要改的信息,输出提示信息;l 应该同时更新其他记录的名词;l 修改操作权限于内存,只有进行存储操作时,才能覆盖原记录;l 更新存储标志;查询记录l 可以按“学号”、“姓名”、“名次”方式修改记录内容;l 能给出查询记录的信息;l 如果查询的信息不存在,输出提示信息;对记录进行排序l 可以按学好进行升序或降序排序;l 可以按名称进行升序和降序排序;l 可以按名词进行升序或降序排序;l 如果属于选择错误,可以立即退出排序;l 更新存储标志;头文件l 使用条件编译定义头文件;l 函数原型声明;l 数据结构及包含文件;测试程序l 应列出测试大纲对程序进行测试;l 应保证测试用例测试到程序的各种边缘情况;以上是基本要求,希望通过对本章设计的理解,重新考虑如何进行设计。2. 总体设计最初的整体规划只是说明它们的可行性,不要求制定函数的具体实现,甚至不需要考虑函数原型。完成整体规划后,可以按照流程描述各个模块之间的接口功能。本课程设计对模块设计的要求如下:l 要求使用对文件方式实现设计;l 要求在各个文件内实现结构化设计;l 每个模块作为一个单独的C文件;宏和数据结构等放在头文件中,并使用条件编译。程序包含文件的存、取过程。它的功能就是按输入顺序建立记录。如果原来没有记录文件,可以重新建立一个文件;如果已经有记录,可以先把文件内容读入,然后把新记录追加到原来记录的尾部;也可以单独建立新文件,以后再使用读取文件的方法拼装。由上述功能缝隙可以看到它的全貌。因为它有并列选择,所以可以用选择菜单方面地实现。这个菜单具有10个选择项,用switch语句可以实现这些选择。可以用简洁的伪码对它们进行描述,因为并不复杂,所以不再赘述。3.2设计思路设计主页面,将其分为载入学生信息,创建学生信息,查找学生信息,条件查找学生信息,统计学生信息,删除学生信息,显示学生信息,条件显示学生信息,保存学生信息 ,退出这几个部分。然后分别对每个函数进行设计。程序可以运用数组,链表,结构体,对文件的输入和输出来编写。使程序尽量没有冗余部分。同时运用调用函数,使函数结果清晰,运行方便。(1)创建学生信息并载入:准确输入学生资料后,再对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入Y,反之输入N系统返回到主菜单。(2载入学生信息:在系统已经录入了学生资料成绩的前提下,可以载入所有的学生的信息。成功后系统会提示是否继续进行操作,如果想继续输入学生成绩就输入Y,反之输入N系统返回到主菜单。 (3)统计学生信息:在系统已经录入了学生资料成绩的前提下,可以统计所有的学生的信息。成功后系统会提示是否继续进行操作,如果想继续输入学生成绩就输入Y,反之输入N系统返回到主菜单。(4显示和条件显示学生信息:在系统已经录入了学生资料成绩的前提下,统计并显示所有学生的信息,资料等等。还可以根据科目,总分,分数段等按条件显示。成功后系统会提示是否继续进行操作,如果想继续输入学生成绩就输入Y,反之输入N系统返回到主菜单。(5)查找和条件查找:在系统已经录入了学生资料成绩的前提下,按学号查找学生的信息,资料等等。还可以根据科目,总分,分数段等按条件显示。成功后系统会提示是否继续进行操作,如果想继续输入学生成绩就输入Y,反之输入N系统返回到主菜单。(6)删除学生信息:选择学号删除。成功后系统会提示是否继续进行操作,如果想继续输入学生成绩就输入Y,反之输入N系统返回到主菜单。(7)保存学生信息:从文件中读取并保存,便于以后查找,删除等。成功后系统会提示是否继续进行操作,如果想继续输入学生成绩就输入Y,反之输入N系统返回到主菜单。(8)退出系统。3.3流程图图3-1学生成绩管理系统总流程3.4具体实现#include#include#include#include/头文件typedef char iteamtype;typedef struct stuinfoiteamtype NAME10,STNB10; float CCN,CMH,CEG; float SUM,AVGE;perstu;typedef struct node struct stuinfo perstu; struct node *prior,*next; pernode; /结构体void Enter(pernode *L1);/创建pernode *Load(pernode *L2);/载入void Search(pernode *L3);/查找void ConditionSrch(pernode *L4);/条件查找void Count(pernode *L5);/统计void Delete(pernode *L6);/删除void PutOrder(pernode *L7);/输出指令void Display(pernode *L8);/显示void ConditionDiy(pernode *L9);/条件显示void Save(pernode *L10);/保存void Dplyone(pernode *Q1);/升序显示pernode *Srchone(pernode *Q2);/按学号查找void ConSrchFroC(pernode*Q3);/按科目一查找void ConSrchFroM(pernode *Q4);/按科目二查找void ConSrchFroE(pernode *Q5);/按科目三查找void ConSrchFroS(pernode *Q6);/按总分查找void ConSrchFroA(pernode *Q7);/按平均分查找void Fpwrite(FILE *Q8,pernode *Q9);/读取文件void Menu(pernode *H);/主菜单。以上是所有的原型声明pernode *H;pernode *InitNode()/定义 pernode *L; L=(pernode *)malloc(sizeof(pernode); if(L) L-prior=NULL;L-next=NULL; return L;/*主函数*/int main() H=InitNode(); if(!H)printf(内存空间不足!); else Menu(H); return 0; /*主菜单*/#include#include#include/头文件typedef char iteamtype;typedef struct stuinfo iteamtype NAME10,STNB10; float CCN,CMH,CEG; float SUM,AVGE;perstu;typedef struct node struct stuinfo perstu; struct node *prior,*next; pernode; /结构体void Enter(pernode *L1);/创建函数pernode *Load(pernode *L2);/载入函数void Search(pernode *L3);/查找函数void ConditionSrch(pernode *L4);/条件查找函数void Count(pernode *L5);/统计函数void Delete(pernode *L6);/删除函数void PutOrder(pernode *L7);/输出指令的函数void Display(pernode *L8);/显示函数void ConditionDiy(pernode *L9);/条件显示函数void Save(pernode *L10);/保存函数void Dplyone(pernode *Q1);/升序显示的函数pernode *Srchone(pernode *Q2);/按学号查找函数void ConSrchFroC(pernode*Q3);/按科目一查找的函数void ConSrchFroM(pernode *Q4); /按科目二查找的函数void ConSrchFroE(pernode *Q5); /按科目三查找的函数void ConSrchFroS(pernode *Q6);/按总分查找的函数void ConSrchFroA(pernode *Q7);/按平均分查找的函数void Menu(pernode *H);/菜单以上是所有原型声明/*以下主菜单函数*/void Menu(pernode *H) char m; do system(cls); printf(n);printf( Welcome ton);printf( 欢迎使用学生成绩管理系统 n); printf(|-|n); printf(| 菜单 |n); printf( |-|n); printf( | 1-载入学生信息 |n); printf( | 2-创建学生信息 |n); printf( | 3-查找学生信息 |n); printf( | 4-条件查找学生信息 |n); printf( | 5-统计学生信息 |n); printf( | 6-删除学生信息 |n); printf( | 7-显示学生信息 |n); printf( | 8-条件显示学生信息 |n); printf( | 9-保存学生信息 |n); printf( | 0-退出 |n); printf( |-|nn); printf(请选择菜单项中数字进行相关操作:);/主菜单界面 m=getche(); if(m=0)break; printf(nn); switch(m)/用switch-case列出每一个选项 case1:Load(H);break;/载入 case2:Enter(H);break;/创建 case3:Search(H);break;/查找 case4:ConditionSrch(H);break;/条件查找 case5:Count(H);break;/统计 case6:Delete(H);break;/删除 case7:Display(H);break;/显示 case8:ConditionDiy(H);break;/条件显示 case9:Save(H);break;/保存 case0:break;/退出 default:printf(%c为非法选项,请输入数字0-9!n,m); printf(nn是否继续选择,输入Y继续,N退出菜单:n); dom=getche();/是否退出页面 while(m!=Y&m!=N&m!=y&m!=n); while(m=Y)|(m=y); return;/*以下是读取数据的函数*/#includetypedef char iteamtype;typedef struct stuinfo iteamtype NAME10,STNB10; float CCN,CMH,CEG; float SUM,AVGE;perstu;typedef struct node struct stuinfo perstu; struct node *prior,*next; pernode;/结构体void Fpwrite(FILE *Q8,pernode *Q9) if(!Q8)printf(n文件打开失败,存盘失败!); else if(!Q9)printf(n存盘信息有误,存盘失败!); else fprintf(Q8, %s %s %-5.1f %-5.1f %-5.1f %-6.1f %-5.1f,Q9-perstu.NAME,Q9-perstu.STNB,Q9-perstu.CCN,Q9-perstu.CMH,Q9-perstu.CEG,Q9-perstu.SUM,Q9-perstu.AVGE); return;/*1.载入学生信息的函数*/#include#include#include#include/头文件typedef char iteamtype;typedef struct stuinfo iteamtype NAME10,STNB10; float CCN,CMH,CEG; float SUM,AVGE;perstu;typedef struct node struct stuinfo perstu; struct node *prior,*next; pernode;/结构体pernode *Load(pernode *L2)/指针调用 int s; FILE *fp; pernode *P,*q,*L; if(fp=fopen(学生成绩管理系统.txt,r+)=NULL) printf(n文件打开失败!); else L=L2-next; while(L)q=L-next;free(L);L=q; L2-next=NULL;/运用链表 fscanf(fp,%d,&s); while(s-) P=(pernode *)malloc(sizeof(pernode); P-prior=L2; P-next=L2-next; if(L2-next)L2-next-prior=P; L2-next=P; fscanf(fp,%s%s%f%f%f%f%f,P-perstu.NAME,P-perstu.STNB,&(P-perstu.CCN),&(P-perstu.CMH),&(P-perstu.CEG),&(P-perstu.SUM),&(P-perstu.AVGE);/完成读取 fclose(fp); printf(n数据载入成功!n); return L2;/*2.创建学生信息的函数*/#include#include#include#include/头文件typedef char iteamtype;typedef struct stuinfo iteamtype NAME10,STNB10; float CCN,CMH,CEG; float SUM,AVGE;perstu;typedef struct node struct stuinfo perstu; struct node *prior,*next; pernode; /结构体void Enter(pernode *L1) char m; pernode *P,*L=L1; do P=(pernode *)malloc(sizeof(pernode); if(!P)printf(内存空间不足,创建失败!);break; else P-prior=L; P-next=L-next; if(L-next)L-next-prior=P; L-next=P; printf(n学生姓名:); scanf(%s,P-perstu.NAME); printf(nn学生学号:); scanf(%s,P-perstu.STNB); printf(nn学生第一科成绩:); scanf(%f,&(P-perstu.CCN); printf(nn学生第二科成绩:); scanf(%f,&(P-perstu.CMH); printf(nn学生第三科成绩:); scanf(%f,&(P-perstu.CEG); P-perstu.SUM=P-perstu.CCN+P-perstu.CMH+P-perstu.CEG; P-perstu.AVGE=P-perstu.SUM/3; printf(nn此条信息以创建完毕,是否继续创建,); printf(n输入Y继续,N退出创建信息:n); dom=getche(); while(m!=Y&m!=N&m!=y&m!=n); printf(n); while(m=Y)|(m=y);return;/*3.查找学生信息*/#include#include#include/头文件typedef char iteamtype;typedef struct stuinfo iteamtype NAME10,STNB10; float CCN,CMH,CEG; float SUM,AVGE;perstu;typedef struct node struct stuinfo perstu; struct node *prior,*next; pernode; /结构体pernode *Srchone(pernode *Q2);void Dplyone(pernode *Q1); /原型声明void Search(pernode *L3) char m; pernode *P; doP=Srchone(L3); if(P) printf(n查找成功,是否显示此条信息,Y显示,N退出显示:n); dom=getche();/是否显示所要找的人的信息 while(m!=Y&m!=N&m!=y&m!=n); if(m=Y)|(m=y) printf(nn姓名 学号 科一分数 科二分数 科三分数 总分 平均分n); Dplyone(P); printf(n是否继续查找,输入Y继续,N退出查找:n); dom=getche();/是否退出查找的判断 while(m!=Y&m!=N&m!=y&m!=n); while(m=Y)|(m=y); return;/*按学号查找的函数*/pernode *Srchone(pernode *Q2) char stnb10; pernode *L; L=Q2-next; if(!L)printf(n系统中暂无任何信息,查找失败!n); else printf(nn请输入要查找的学生学号:); scanf(%s,stnb); while(L&(strcmp(L-perstu.STNB,stnb)!=0) L=L-next; if(!L)printf(n系统中无此相关信息,查找失败!n); return L;/*4.条件查找学生信息*/#include#include/头文件typedef char iteamtype;typedef struct stuinfo iteamtype NAME10,STNB10; float CCN,CMH,CEG; float SUM,AVGE;perstu;typedef struct node struct stuinfo perstu; struct node *prior,*next; pernode; /结构体void ConSrchFroC(pernode*Q3);void ConSrchFroM(pernode *Q4);void ConSrchFroE(pernode *Q5);void ConSrchFroS(pernode *Q6);void ConSrchFroA(pernode *Q7);/原型声明void ConditionSrch(pernode *L4) char m; if(L4-next=NULL)printf(n系统中暂无任何信息,条件查找失败!n); else do printf(nn条件查找指定分数段的学生信息,输入括号内数字确定科目n); printf(科一(1),科二(2),科三(3),总分(4),平均分(5):n);/选择分类 dom=getche(); while(m!=1&m!=2&m!=3&m!=4&m!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养护安全培训方式课件
- 家电营销实施方案(3篇)
- 初中高中消防安全培训课件
- 兴仁交通安全培训课件
- 创新开展安全培训课件
- 内涨式刹车课件
- 内河船舶安全培训记录课件
- 10爬山虎的脚 +公开课一等奖创新教学设计
- 化妆品安全知识培训心得
- 咳嗽变异性哮喘诊疗指南
- DB62-T 4913.1-2024温室气体排放核算方法与报告指南 第1部分:污水处理厂
- 手印鉴定书模板
- DB11T 065-2022 电气防火检测技术规范
- 人教版八年级历史上册第一次月考试题(附答案)第一单元
- 基本不等式课件-高三数学一轮复习
- DL∕T 2568-2022 电力行业数字化审计平台功能构件与技术要求
- 部编人教版《道德与法治》六年级上册第9课《知法守法 依法维权》精美课件(第1课时)
- 消防喷淋系统设计合同范本
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 2024年四川省广安市中考数学试题(含答案逐题解析)
- 山西省太原三十七中2023-2024学年九年级上学期月考物理试卷(10月份)
评论
0/150
提交评论