数据结构课程设计报告之成绩分析与全国交通咨询模拟(4)

2019-01-07 19:00

struct student s; n=load(); do {do {k=-1;

printf(\输入查找学号! NO.:\

scanf(\ /*输入要修改的数据的学号*/ printf_face(); /*调用显示数据结构项目函数*/ for(i=0;i

{k=i; /*找到要修改的记录*/

printf_one(k);break; /*调用显示一个记录的函数*/ } if(k==-1)

{printf(\不存在! 请重新输入\

printf(\是否确定?\\n\\t1).是 2).否且返回 [ ]\\b\\b\ scanf(\ } }

while(k==-1&&w1==1); /*如果w1不等于1则直接返回*/ w4=0;w3=0;

if(k!=-1) /*k不等于-1表示找到,如果找到则选择操作*/ {printf(\请选择:\\n\\t1).查找另一个数据 2).修改 3).删除 4).返回目录 [ ]\\b\\b\

scanf(\ switch(w2)

{case 2:w3=modify_data(k,n);break; /*调用修改数据函数*/ case 3:{printf(\是否确定?\\n\\t1).是 2).否且返回 [ ]\\b\\b\ scanf(\ if(w4==1)

stu[k].ave=0; /*表示删除*/ break; } }

if(w3==1||w4==1) {save(n);

printf(\★成功★ ^-^.\

printf(\请选择:\\n\\t1).查找另一个数据 2).返回 [ ]\\b\\b\ scanf(\

16

} } }

while(w2==1); teacher(); return 0; }

/****************插入模块****************/ insert() /*插入模块*/ {int i,j,n,c; struct student s; n=load();

puts(\输入一个数据.\\n\ do

{input(n); /*输入到第n个记录,即插入到最后*/ printf_face(); printf_one(n);

printf(\是否确定?\\n\\n\\t1).是\\t2).取消重输\\t3).不保存返回 scanf(\ if(c==1)

{for(j=0;jj;i--)

if(stu[i].ave>stu[i-1].ave)

{s=stu[i-1];stu[i-1]=stu[i];stu[i]=s;} save(n+1); printf_back(); }

else if(c!=2) teacher(); }

while(c==2); return 0; }

/****************排序模块(按平均成绩)****************/ void sift(RecNode r[],int t,int w) /*用筛选法调整堆*/ {int i,j; RecNode x; i=t; x=r[i]; j=2*i+1;

[ ]\\b\\b\ 17

while(j<=w)

{if((jr[j+1].key)) j++;

if(x.key>r[j].key) {r[i]=r[j];i=j;j=2*j+1;} else break; } r[i]=x; }

void heapsort(RecNode r[],int n) /*堆排序*/ {int i; RecNode x; for(i=n/2-1;i>=0;i--) sift(r,i,n-1); for(i=n-1;i>0;i--) {x=r[0];r[0]=r[i]; r[i]=x; sift(r,0,i-1);} }

/****************排序模块(按平均成绩)****************/ order() /*排序模块(按平均成绩)*/ {int i,j,k,n; struct student s; n=load();

for(i=0;i

for(j=i+1;j

if(stu[j].ave

18

/*****************统计模块*******************/ void fenduantongji() {

int k,u,n,i,w1=1,x; int a,b,c,d,e;

a=0;b=0;c=0;d=0;e=0;

printf(\英语 2.数学 3.C语言 4.管理学 5.信检 6.体育 7.近代史 8.线性代数\\n\ printf(\请输入要统计的科目:\scanf(\if(u<=8) {n=u; x=load(); for(i=0;i=90&&k<100) a=a+1;

else if(k<90&&k>=80) b=b+1;

else if(k<80&&k>=70) c=c+1;

else if(k<70&&k>=60) d=d+1;

else if(k>=0&&k<60) e=e+1; } } }

printf(\学生成绩在 90~100 间有:\\n %d\\n\printf(\学生成绩在 80~89 间有 :\\n %d\\n\printf(\学生成绩在 70~79 间有 :\\n %d\\n\printf(\学生成绩在 60~69 间有 :\\n %d\\n\printf(\低于60的有:\\n %d\\n\

printf(\是否继续?\\n\\n\\t1).是 2).否 [ ]\\b\\b\ scanf(\

if(w1==1) fenduantongji(); else teacher(); }

19

menu();

/****************教师界面****************/ teacher() /*教师界面*/ {int n,w1; do

{system(\ /*清屏*/

puts(\ puts(\输入新数据\ puts(\添加数据\ puts(\修改数据\ puts(\删除数据\ puts(\浏览全部\ puts(\学号查询\ puts(\插入数据\ puts(\按平均分排序\ puts(\分段统计\ puts(\退出\ puts(\返回主界面\

puts(\ printf(\请选择序号:(1-11): [ ]\\b\\b\ scanf(\

if(n<1||n>11) /*对选择的数字作判断*/ {w1=1;getchar();} else w1=0; }

while(w1==1); /*选择功能*/ switch(n)

{case 1:enter();break; /*输入模块*/ case 2:add();break; /*追加模块*/ case 3:modify();break; /*修改模块*/ case 4:del();break; /*删除模块*/ case 5:browse();break; /*浏览模块*/ case 6:search();break; /*查找模块*/ case 7:insert();break; /*插入模块*/ case 8:order();break; /*排序模块*/ case 9:fenduantongji();break;/*统计模块*/

20


数据结构课程设计报告之成绩分析与全国交通咨询模拟(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南京师范大学考研真题清单

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: