班级学生成绩管理c语言课设内容摘要:
组当中,并由用户输入待删除学生的学号,而后按照该学号进行查找,如果文件中存在该学生的数据,则采用删除算法删除,否则输出学生信息不存在的提示信息。 对学生信息的具体删除算法是在结构体沈 阳 航 院 设 计 用 纸 10 数组中实现的,当学生的信息被找到后,位于数组中该学生后面的学生记录依次向前移动一个元素的位置,这些操作完成后,要删除的学生信息就被后面的数组元素覆盖掉了,也就实现了删除。 在数组中删除学生信息后,还要将更改后的信息重新写回文件当中,以保证数据的一致性。 具体程序段如下: void del() /*信息删除函数 */ {struct student stu[N]。 char number[20]。 FILE *fp。 int n,i,j。 reads(stu,amp。 n)。 printf(\n请输入要删除信息的学生学号,按回车键确认: )。 scanf(%s,number)。 for(i=0。 in。 i++) /*查找待删除的学生记录 */ if(strcmp(number,stu[i].num)==0) break。 if(i=n) {printf(没有找到该学生 信息。 \n)。 return。 } else {for(j=i+1。 jn。 j++) /*左移,覆盖待删除的学生记录 */ strcpy(stu[j1].num,stu[j].num)。 strcpy(stu[j1].name,stu[j].name)。 stu[j1].english=stu[j].english。 stu[j1].puter=stu[j].puter。 stu[j1].math=stu[j].math。 } if((fp=fopen(e:\\,wb))==NULL) { printf(文件打开失败。 )。 沈 阳 航 院 设 计 用 纸 11 return。 } else /*重新写回文件当中 */ { putw(n1,fp)。 for(i=0。 in1。 i++) fwrite(amp。 stu[i],sizeof(struct student),1,fp)。 } fclose(fp)。 printf(删除成功。 \n)。 } 总分排序函数 对于总分的排序采用的排序算法是冒泡法排序,其中总分 的求得是在排序的过程中实现的,这部分程序仍然调用了 reads 函数,整个排序过程在结构体数组 stu 中实现,由于排序算法涉及到两个数组元素的信息交换,因此还需要定义一个中间变量来协助。 排序函数使学生数据的排列顺序发生了变化,因此也需要队员文件进行更新,此外,对于学生排序后名次的确定,仅在结果输出时予以显示,并未将名次信息写入源文件。 具体的程序段如下: void sort()/*排序函数 */ { FILE *fp。 struct student stu[N],temp。 int i,j,n。 reads(stu,amp。 n)。 for(i=0。 in1。 i++) 沈 阳 航 院 设 计 用 纸 12 for(j=0。 jn1i。 j++) {if(stu[j].english+stu[j].puter+stu[j].mathstu[j+1].english+stu[j+1].puter+stu[j+1].math) { strcpy(,stu[j].num)。 strcpy(,stu[j].name)。 =stu[j].english。 =stu[j].puter。 =stu[j].math。 strcpy(stu[j].num,stu[j+1].num)。 strcpy(stu[j].name,stu[j+1].name)。 stu[j].english=stu[j+1].english。 stu[j].puter=stu[j+1].puter。 stu[j].math=stu[j+1].math。 strcpy(stu[j+1].num,)。 strcpy(stu[j+1].name,)。 stu[j+1].english=。 stu[j+1].puter=。 stu[j+1].math=。 } } if((fp=fopen(e:\\,wb))==NULL) /*更新文件 */ {printf(打开文件失败。 )。 return。 } putw(n,fp)。 j=1。 for(i=0。 in。 i++) { fwrite(amp。 stu[i],sizeof(struct student),1,fp)。 if(stu[i].english+stu[i].puter+stu[i].math==stu[i+1].english+stu[i+1].puter+stu[i+1].math) printf(%3d%5s%5s%%%%\n,j,stu[i].num,stu[i].name,stu[i].english,stu[i].puter,stu[i].math,stu[i].english+stu[i].puter+stu[i].math)。 else 沈 阳 航 院 设 计 用 纸 13 printf(%3d%5s%5s%%%%\n,j++,stu[i].num,stu[i].name,stu[i].english,stu[i].puter,stu[i].math,stu[i].english+stu[i].puter+stu[i].math)。 } fclose(fp)。 getch()。 } 四、个人总结 通过这次课设我对 C 语言的掌握比以前熟练了很多 ,也学会了严谨的治学态度。 以前对“ c 语言”的认识就是以为这是一门学校开设的学科,首先不能挂科,其次要学好它,至于它有什么用处,感受并不是深。 本次课设,就是一个把所学知识与生活实践完美结合的典范。 课设让我们知道了所学的知识大有用武之地,从而更加激发我学习“ c 语言”的热情。 这次课程设计考察了多方面的知识,比如结构体、文件等等,使我们熟练的掌握知识的同时还增强了我们的实际动手的能力。 有时候我个人的能力是有限的,必要是要接受别人的帮助。 沈 阳 航 院 设 计 用 纸 14 五、参考文献 1 谭浩强. C 程序设计.北京:清华大学出版社, 2020 2 刘成等. C 语言程序设计实验指导与习题集.北京:中国铁道出版社, 2020 六、源程序 include include define N 20 struct student {char num[20]。 char name[10]。 float english。 float puter。 flo。班级学生成绩管理c语言课设
相关推荐
任。 老师要赢得学生的信任与尊重,不是靠威严,也不能靠训斥、伪装,而是要靠真挚的情感去打动学生。 人是最富有感情的,人的一举一动,都负载着情感的信息。 作为学生,他们对老师的情感最为敏感,我们对学生有什么印象和评价,还没等我们说出来,他们就已经觉察到了。 所 以作为老师,在学生面前必须表现一个真实的自我,最忌讳的就是感情不真实。 ( 2)、培养学生与学生之间的相互信任。
学生敲警钟,把安全风吹进学生的心里,从而在思想上切实增强学生的安全意识。 二、细管理,抓落实 上级相关部门和学校对班级安全管理、学生人身和财产安全教育管理,有一定的指示和要求。 作为班主任,要不折不扣地完成。 安全工作不能存在侥幸心理和投机取巧,而应该脚踏实地、防患未然在,在安全教育中要求学生向家人宣传,家中 无人时 , 及 时关门、关水、关电扇、锁门,把责任落实到个人。 在班级中, 班主任
/m2( 其中墙面 、天棚及 梁、门窗套粉完 元 /m2,窗套、洞口粉刷修补完毕,文明施工达标 1 元 /m2,竣工验收支付 元 /m2,余款待保修期满后支付完毕) ; 砼浇捣 18 元 /m3; 水泥砂浆地面总单价 元 /m2(其中楼地面清理完 元 /m2,楼地面做找平 3 元 /m2,文明施工达标 元 /m2,竣工验收支付 1 元 /m2,余款待保修期满后支付完毕 ); 外墙粉刷总单价 18
是教学生如何协调好各种各样的关系。 如果班主任不能把这种关系协调好,那么他表现在学生面前的就是一种负面形象,可能无法教学生做的更好,这就是所谓的“其身正,不令则行,其身不正,虽令不从。 ” 把任课老师和学生之间的关系处理好,对于班主任来说,是构建和谐班集体、形成一种教育凝聚力、共同把班级搞好一项基础性的工作。 可是,如何协调任课老师和学生之间的关系呢。 我在接受
妈发现后,还被打了一顿。 了解情况后,我及时做了这位女生的工作,分析了其中的利弊关系,也谈到了作为父母的一番苦心。 后来,她终于认识了自己的错误,端正了学习态度,在期中考试中取得了较好的成绩。 所以,只要你具有一双善 于发现的眼睛,就一定能够 “见月晕而知风,见础润而知雨”。 三、创造成功,树立信心 对于班级和学生来说,自信心是非常重要的。 学生有比较强的自信心,班级则比较容易形成良好的
行业服务技能竞赛 21 客户服务岗位劳动技能比赛方案 本次客服劳动技能比赛分风采 SHOW 和物业管理综合知识竞赛两个环节,每队出场人数为 3名。 客服风采秀为 2分钟的站、坐、行姿的个人及团体形象展示,知识竞赛由 35组队伍同台竞答。 个人成绩按两个环节的得分之和从高到低依次排 列,分数最高的前三名分别为冠亚季军。 每队总分为每名成员的分数之和加团队表现力分值,总分从高至低依次排列