流程图链接

修改函数:https://www.processon.com/view/link/57d9115ae4b0497022da109c

删除函数:https://www.processon.com/view/link/57d911a1e4b0497022da15b2

插入函数:https://www.processon.com/view/link/57d911bce4b0e78cc001145d

浏览函数:https://www.processon.com/view/link/57d911d4e4b0497022da195c

评价函数:https://www.processon.com/view/link/57d911e4e4b0497022da1a95

三、核心技术的实现说明及相应的程序段

本程序六个自定义函数和一个主函数组成,其中主函数循环调用菜单,菜单函数调用其他函数来实现要求的所有功能。在这些函数当中,插入函数,修改函数,删除函数,浏览函数,评价函数是程序的核心部分,下面分别进行说明。

1、插入函数

插入函数中,首先用户输入的教师编号,该编号不能超出最大范围并且仅当该编号未存在教师信息的情况下,用户才能添加数据。

具体的程序段如下:

voidinsert(){

int_id;

printf("Pleaseenterteacherinformation\n");

printf("id=");

scanf("%d",&_id);

if(_id>0&&_id<100){

if(teacher[_id].id==_id){

printf("Teacherexist\n");

return;

}

else{

char_name[20];

char_sex[5];

char_title[20];

char_post[20];

char_course[20];

printf("name=");

scanf("%s",_name);

printf("sex=");

scanf("%s",_sex);

printf("title=");

scanf("%s",_title);

printf("post=");

scanf("%s",_post);

printf("course=");

scanf("%s",_course);

teacher[_id].id=_id;

strcpy(teacher[_id].name,_name);

strcpy(teacher[_id].sex,_sex);

strcpy(teacher[_id].title,_title);

strcpy(teacher[_id].post,_post);

strcpy(teacher[_id].course,_course);

printf("Insertsuccessfully\n");

}

}

else{

printf("Insertfailed\n");

}

return;

}

2、修改函数

该函数的核心内容是覆盖之前存在的信息。首先要保证要操作的对象是已存在的教师信息,由用户输入待修改教师信息的教师编号,通过对比验证该教师信息已存在,随后通过教师编号将该教师信息显示出来,用户输入修改后的内容,通过教师编号将欲修改的信息覆盖在原来的信息上。

具体的程序段如下:

voidrevise(){

int_id;

printf("Pleaseenterteacherid\n");

scanf("%d",&_id);

if(teacher[_id].id==_id){//教师信息存在

char_name[20];

char_sex[5];

char_title[20];

char_post[20];

char_course[20];

printf("Teacherinformationisasfollows\n");

printf("id=%d",teacher[_id].id);

printf("name=%s",teacher[_id].name);

printf("sex=%s",teacher[_id].sex);

printf("title=%s",teacher[_id].title);

printf("post=%s",teacher[_id].post);

printf("course=%s\n",teacher[_id].course);

printf("Pleasereviseteacherinformation\n");

printf("name=");

scanf("%s",_name);

printf("sex=");

scanf("%s",_sex);

printf("title=");

scanf("%s",_title);

printf("post=");

scanf("%s",_post);

printf("course=");

scanf("%s",_course);

strcpy(teacher[_id].name,_name);

strcpy(teacher[_id].sex,_sex);

strcpy(teacher[_id].title,_title);

strcpy(teacher[_id].post,_post);

strcpy(teacher[_id].course,_course);

printf("Revisesuccessfully\n");

}

else{

printf("Teacherdoesnotexist\n");

}

return;

}

3、删除函数

删除函数的核心内容是清空已存的教师信息。首先用户输入待删除的教师编号,当编号存在教师信息时,用函数将已保存教师信息的内容重置为零

具体程序段如下:

voiddel(){

int_id;

printf("Pleaseenterteacherid\n");

scanf("%d",&_id);

if(teacher[_id].id==_id){//教师信息存在

memset(&teacher[_id],0,sizeof(teacher[_id]));

printf("Deletesuccessfully\n");

}

else{

printf("Teacherdoesnotexist\n");

}

return;

}

4、浏览函数

浏览函数中,根据用户输入的编号进行查找,首先编号下存在教师信息,才能显示教师信息。

具体程序段如下:

voidbrowse(){

int_id;

printf("Pleaseenterteacherid\n");

scanf("%d",&_id);

if(teacher[_id].id==_id){//教师信息存在

printf("Teacherinformationisasfollows\n");

printf("id=%d",teacher[_id].id);

printf("name=%s",teacher[_id].name);

printf("sex=%s",teacher[_id].sex);

printf("title=%s",teacher[_id].title);

printf("post=%s",teacher[_id].post);

printf("course=%s\n",teacher[_id].course);

printf("score=%d\n",teacher[_id].score);

}

else{

printf("Teacherdoesnotexist\n");

}

return;

}

5、评价函数

评价函数主要操作是对教师的评价打分并求和。首先用户输入编号,该编号下存在教师并且教师未被打分时,开始对每项进行打分,用户依次输入相应的分数,通过累加每次输入的分数求和,得到最终得分,并写入教师的评价总分中。

具体程序段如下:

voidevaluate(){

int_id;

intsum=0;

printf("Pleaseenterteacherid\n");

scanf("%d",&_id);

if(teacher[_id].id==_id){//教师信息存在

if(teacher[_id].score==0){

int_score;

printf("Eachitemfullmarksis10\n");

printf("preparelessons=");//备课

scanf("%d",&_score);

sum+=_score;

printf("teaching=");//授课

scanf("%d",&_score);

sum+=_score;

printf("style=");//风格

scanf("%d",&_score);

sum+=_score;

printf("homework=");//作业

scanf("%d",&_score);

sum+=_score;

printf("practice=");//练习

scanf("%d",&_score);

sum+=_score;

printf("discipline=");//纪律

scanf("%d",&_score);

sum+=_score;

printf("vivid=");//生动

scanf("%d",&_score);

sum+=_score;

printf("answeringquestion=");//答疑

scanf("%d",&_score);

sum+=_score;

printf("content=");//内容

scanf("%d",&_score);

sum+=_score;

printf("punctual=");//准时

scanf("%d",&_score);

sum+=_score;

teacher[_id].score=sum;

}

else{

printf("Teacherhasbeenevaluated\n");

return;

}

printf("Teacherevaluationscoreis%d\n",sum);

}

else{

printf("Teacherdoesnotexist\n");

}

return;

}

教师考核成绩评定c语言程序,C语言课设--教师评价系统相关推荐

  1. 语言程序推箱子课设报告_“延期不延学”第13期 | C++篇 | c++课设建议

    关于C++课程设计的一些建议 虽然现在学校还未开学,但已经正式上课了.大家需要在课程设计答辩前完成自己的C++课程设计. 一些C++基础好的同学,说不定已经完成了.学而当初只花了两天的时间就完成了一个 ...

  2. 语言程序推箱子课设报告_学完C语言,可以去哪些应用领域工作?

    C语言是目前世界上流行.使用非常广泛的高级程序设计语言. 在TIOBE已公布2020年8月的编程语言排行榜.C语言依然保持排行第一! 前20名排行如下: C语言对操作系统和系统使用程序以及需要对硬件进 ...

  3. c语言2048代码linux,C语言2048小游戏课设(附源码).doc

    PAGE PAGE 1 C语言2048小游戏课设 项目说明 本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行.(书生) 项目运行截 ...

  4. C语言编程酒店房价,C语言酒店入住管理系统课设(附源码).doc

    PAGE PAGE 1 C语言酒店入住管理系统课设 项目说明 本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行.(书生) 项目运行 ...

  5. python国防_Python+Excel数据分析实战:军事体能考核成绩评定(二)基本框架和年龄计算...

    一.基本框架 项目任务: 每个人的体能测试有单杠.仰卧起坐.30米x2蛇形跑.3000米跑四个项目,外加体型是否合格(BMI身体质量指数或者PBF体脂百分比),每项原始测试数据,通过不同项目各自规定的 ...

  6. Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况

    一.技术背景 Excel(Microsoft office)是现在最常用的办公软件,主要涉及电子表格制作.数据处理.报表输出展示以及更高端的还有金融建模等:我们知道,在需要批处理多个Excel工作表以 ...

  7. python体能达标成绩_Python+Excel数据分析实战:军事体能考核成绩评定(九)评定个人等级...

    这一章我们实现个人成绩的等级评定,根据单杠.仰卧起坐.蛇形跑.3公里跑成绩以及体型,综合评定个人等级. 相关规定:体型合格就不用考虑单项不合格的情况,只看通用训练科目成绩总分(单杠.仰卧起坐.蛇形跑. ...

  8. Python+Excel数据分析实战:军事体能考核成绩评定(九)评定个人等级

    这一章我们实现个人军事训练成绩的等级评定,根据单杠.仰卧起坐.蛇形跑.3公里跑成绩以及体型,综合评定个人等级. 相关规定:体型合格就不用考虑单项不合格的情况,只看通用训练科目成绩总分(单杠.仰卧起坐. ...

  9. Python+Excel数据分析实战:军事体能考核成绩评定(二)基本框架和年龄计算

    一.基本框架 项目任务: 每个人的体能测试有单杠.仰卧起坐.30米x2蛇形跑.3000米跑四个项目,外加体型是否合格(BMI身体质量指数或者PBF体脂百分比),每项原始测试数据,通过不同项目各自规定的 ...

最新文章

  1. eclipse 自动生成代码
  2. js函数重写php,深入讲解js覆盖原有方法 提供重写方法
  3. 【数据结构与算法】之深入解析“石子游戏V”的求解思路与算法示例
  4. Ocelot中文文档入门
  5. AI研究的盲点:无解的神经网络内在逻辑
  6. cpu,内存和disk使用报警脚本
  7. 数据可视化demo_火出圈的大屏你真的会做吗?这才是老板最爱的可视化大屏
  8. WIN10 如何修改 文件后缀名 设置后缀名可修改
  9. IDEA中控制台中文乱码问题
  10. ASP.NET MVC 3—一切的开始MvcHandler、MvcHttpHandler
  11. rk3399 io工具的使用示例
  12. macOS编译金山云ksvc ffmpeg,在rtmp flv之上支持hevc h265
  13. 番茄助手文件、函数说明
  14. Swift学习笔记 -- 枚举和结构
  15. Python实现阶跃函数、sigmoid函数、ReLU函数
  16. 黑色脸谱_上演三幕的脸谱剧
  17. 【Unity Shader入门】☀️ | 使用Shader实现一个 图片边框 ✨制作!
  18. 阿里云国际版短信验证码及服务教程
  19. 基于Foolnltk的《三体》文本命名实体分析
  20. 光猫、路由器、交换机、wifi的概念和作用

热门文章

  1. 188. 武士风度的牛
  2. android窗帘拉开动画,H5+CSS3窗帘拉开收起动画特效源码
  3. 计算机东北大学与兰州大学哪个好,东北大学和兰州大学如何选择?上哪个比较好?...
  4. 大数据岗位更看重学历还是工作经验?
  5. pycharm异常问题之Unable to save settings: Failed to save settings. Please restart PyCharm
  6. trie树模板(前缀树)
  7. 二维码 扫描框的 处理 美化功能 喜欢的 自己直接替换和修改
  8. krpano 场景切换 通知_krpano 场景转换模式
  9. 如何静下心做些事情呢
  10. 记录-链表头插尾插区别