欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年C语言程序设计实训说明书-某学院教学信息管理系统.docx

    • 资源ID:12789103       资源大小:2.09MB        全文页数:61页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年C语言程序设计实训说明书-某学院教学信息管理系统.docx

    精品学习资源中北高校程序设计实训说 明 书软件工程学 号:1314010xxx某学院教学信息治理系统学院、 系:软件学院专业:学 生 姓 名:设 计 题 目:起迄日期 :2021 年 11 月 21 日2021 年 1 月 17 日指导教师 :何志英2021 年 1 月 10日欢迎下载精品学习资源一、选题要求题目一:某学院教学信息治理系统功能:1、每一条记录包括一位老师的职工号、姓名、职称、性别、3 门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学成效),教学成效综合评分;2、输入功能: 可以一次完成如干条记录的输入;3、显示功能: 完成全部老师记录的显示;4、查找功能: 完成按姓名或课程查找老师的相关记录,并显示;5、排序功能: 按职工号或教学成效综合评分进行排序;6、插入功能: 按教学成效综合评分高低插入一条老师记录;7、将老师记录存在文件中;8、应供应一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清楚美观.要求:1、用 C 语言实现系统;2、利用结构体数组实现教学信息的数据结构设计;3、系统具有增加,查询,插入,排序等基本功能;4、系统的各个功能模块要求用函数的形式实现;5、将教学信息存在文件中;考试题目要求:1、按老师性别统计统计评分的最终2、删除一个函数,程序仍能正常运行二、程序设计方法及主要函数介绍 程序设计方法1. 数据结构的设计:程序要求文档中要求使用结构体数组完成设计,每一条记录包括一位老师的职工号、姓 名、职称、性别、 3 门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学成效),教学成效综合评分;数据结构设计如下:typedef struct Course/ 课程的定义与描述char courseName40;/ 课程名称欢迎下载精品学习资源int semester;/ 开课学期char type8;/ 课程性质char teceff;/ 教学成效Course;typedef struct Teacher/ 老师的定义与描述char name8;/ 姓名int num;/ 职工号char sex2;/ 性别int tecscore;/ 教学成效综合评分char position8;/ 职称Course course3;/3门主讲课程Teacher;2. 主函数与其他函数的关系:3. 结构化的程序设计方法将有用功能封装在每一个子函数中,主函数通过调用子函数来实现相对应的功能;表达了“自顶向下,逐步求精”的结构化程序设计思想;4. “高内聚,低耦合”的程序设计原就将各个使用功能封装在函数中来让主函数调用,而不是将全部有用功能集合在主函数中,使得各个模块相对独立,耦合性得以降低,有利于程序的爱护;欢迎下载精品学习资源主要函数介绍:1. 以卡片形式输出全部老师信息注:由于版面缘由, 输出函数显得有些乱,但是这并不影响程序的运行结果,真实的运行结果是很整齐的; (下图是 DevC+ V5.5.3版本下的编码界面)void PrintInforTeacher T/ 输出全部老师信息(以卡片形式)printf"-"printf"|所 有 教 师 记 录|"printf"-+"printf"|全院现有在职老师%d 名,全部信息如下|",TeacherNum;printf"-欢迎下载精品学习资源-+nn"forint i=0;i<TeacherNum;+iprintf"+-+-+-+-+-+-+-+-+"printf"|职工号 |%3d|姓名 | %8s |性别 | %s |职称 |%8s|",Ti.num,Ti.name,Ti.sex,Ti.position;printf"+-+-+-+-+-+-+-+-+-+"printf"|主 讲 课 程1|课 程 名|%-40s|",Ti.course0.courseName;printf"+-+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学成效|%c|",Ti.course0.semester,Ti.course0.type,Ti.course0.teceff;printf"+-+-+-+-+-+-+"printf"|主 讲 课 程2|课 程 名|%-40s|",Ti.course1.courseName;printf"+-+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学成效|%c|",Ti.course1.semester,Ti.course1.type,Ti.course1.teceff;欢迎下载精品学习资源printf"+-+-+-+-+-+-+"printf"|主 讲 课 程3|课 程 名|%-40s|",Ti.course2.courseName;printf"+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学成效|%c|",Ti.course2.semester,Ti.course2.type,Ti.course2.teceff;printf"+-+-+-+-+-+-+-+"printf"|教 学 效 果 综 合 评 分 |%3d|",Ti.tecscore;printf"+-+-+nn"system"PAUSE"/ 输完一个老师信息,等待用户查看确认,确认无误后再打印下一老师的相关信息/for/PrintInfor2. 对老师信息排序void Sort_NTeacher T,int n/ 当 n=1 时按职工号排序,当n=2 时按教学成效综合评分排序ifn=1/ 按职工号排序Teacher temp;forint i=0;i<TeacherNum-1;i+/ 冒泡法排序forint j=0;j<TeacherNum-1-i;j+ ifTj+1.num<Tj.num欢迎下载精品学习资源temp=Tj;Tj=Tj+1;Tj+1=temp;/if/forprintf"排序结果如下: n" forint i=0;i<TeacherNum;i+printf" %8s%d ",Ti.name,Ti.num;/for printf"n"/ifelse/ 按教学成效综合评分排序Teacher temp;forint i=0;i<TeacherNum-1;+i/ 冒泡法排序forint j=0;j<TeacherNum-1-i;+j ifTj+1.tecscore<Tj.tecscoretemp=Tj;Tj=Tj+1;Tj+1=temp;/if/forforint i=0;i<TeacherNum;i+printf"ttt第%d名:%-8s分数: %3dn",i+1,Ti.name,Ti.tecscore;/for/else/Sort_N3. 按教学成效综合评分高低插入一条老师记录由于程序要求要依据教学成效综合评分高低进行插入操作,故老师信息必需按确定次序排列,但是在执行该操作之前不能保证用户已经执行了相应的排序操作,故需要再执行一次欢迎下载精品学习资源排序操作,以保证接下来的程序能够正常运行插入信息的算法大致描述如下:在操作之前,老师的教学成效综合评分已经依据从小到大的次序排列;先确定插入位置,如需对数据移动就进行移动操作,最终将待插记录复制到插入位置;插入位置有两种:A. 在全部老师信息之后插入:当该老师分数大于全部老师的分数时,直接将该教 师信息复制在最终一个老师后面的结构体中,无需进行移动, 此时的基本操作为数据的复制;B. 在开头或者其他老师之前插入:当该老师分数中意以下表达式: min<=tecscore<max时,使用 for循环找到其插入位置的数组元素下标i ,然后将该位置及其后面的元素全部后移一位,将待插入老师的信息复制到插入位置;此时的基本操作是数据的移动与复制(移动的过程本质上也是数据的复制);void InsertInforTeacher T ifTeacherNum=MAXTEACHERNUMprintf"容量已满,请扩充后再使用!n"return;/ifTeacher TB;/ 先从键盘接收待插入老师的相关信息,存放于一个临时的结构体变量TB 中printf"->请按要求输入老师信息:n"printf"->请输入老师的职工号(3 位数字) : " scanf"%d",&TB.num;printf"->请输入老师的姓名 : "scanf"%s",TB.name;printf"->请输入老师的性别 男或女 : "scanf"%s",TB.sex;printf"->请输入老师的职称 : " scanf"%s",TB.position;forint j=0;j<3;j+printf"->请输入该老师第 %d门主讲课程的信息 : n",j+1; InputClassInforTB.coursej;欢迎下载精品学习资源printf"n"/forprintf"->请输入老师的教学成效综合评分0-100: " scanf"%d",&TB.tecscore;printf"->为保证结果正确,程序将对您的老师按教学成效综合评分进行排序:n" Teacher temp;forint i=0;i<TeacherNum-1;+i/ 冒泡法排序forint j=0;j<TeacherNum-1-i;+j ifTj+1.tecscore<Tj.tecscoretemp=Tj;Tj=Tj+1;Tj+1=temp;/if/forint flag=-1;forint i=0;i<TeacherNum;i+ ifTB.tecscore>=Ti.tecscoreflag=i;/if/forprintf"插入位置: %dn",flag; ifflag=-1flag=TeacherNum;/ 在末尾插入elseforint i=TeacherNum-1;i>=flag;i-/ 移动插入位置后面的全部数据strcpyTi+1.name,Ti.name; Ti+1.num=Ti.num; strcpyTi+1.sex,Ti.sex; Ti+1.tecscore=Ti.tecscore;strcpyTi+1.position,Ti.position;欢迎下载精品学习资源forint j=0;j<3;j+strcpyTi+1.coursej.courseName,Ti.coursej.courseName; Ti+1.coursej.semester=Ti.coursej.semester; strcpyTi+1.coursej.type,Ti.coursej.type; Ti+1.coursej.teceff=TB.coursej.teceff;/for/for/else strcpyTflag.name,TB.name; Tflag.num=TB.num; strcpyTflag.sex,TB.sex; Tflag.tecscore=TB.tecscore;strcpyTflag.position,TB.position;/ 插入记录forint j=0;j<3;j+ strcpyTflag.coursej.courseName,TB.coursej.courseName; Tflag.coursej.semester=TB.coursej.semester; strcpyTflag.coursej.type,TB.coursej.type; Tflag.coursej.teceff=TB.coursej.teceff;/forTeacherNum+;/ 老师记录 +1 printf"->插入后的结果如下 :n" PrintInforT;/InsertInfor三、程序源代码(包括注释)/-引入头文件 -#include <stdlib.h>/ 使用了 system 和 exit 函数#include <stdio.h>/ 使用了 printf 、 scanf 以及文件读写函数#include <string.h>/使用了 strcmp 、strcpy 等字符串处理函数/-宏定义 -欢迎下载精品学习资源#define MAXTEACHERNUM 300/ 一个学院最大老师数,上限可调/-自定义数据类型 -/-老师和课程的定义-typedef struct Course/ 课程的定义与描述char courseName40;/ 课程名称int semester;/ 开课学期char type8;/ 课程性质char teceff;/ 教学成效Course;typedef struct Teacher/ 老师的定义与描述char name8;/ 姓名int num;/ 职工号char sex2;/ 性别int tecscore;/ 教学成效综合评分char position8;/ 职称Course course3;/3门主讲课程Teacher;/-部分全局变量 -int TeacherNum;/ 老师记录条数/-基本操作及其子函数 -/-1.输入老师信息 -void InputClassInforCourse &c/ 输入教学信息printf"请输入课程的课程名 : " scanf"%s",c.courseName;getchar ;/ 吃掉回车符printf"请输入课程的学期(输入数字1-8 中一个) : " scanf"%d",&c.semester;printf"请输入课程的学科性质 输入非学位课或学位课 : " scanf"%s",c.type;欢迎下载精品学习资源getchar ;/ 吃掉回车符fflushstdin;printf"请输入课程的教学成效 输入 A、B、 C、D中任一个 : " c.teceff=getchar ;getchar ;/ 吃掉回车符/InputClassInforvoid InputInforTeacher TMAXTEACHERNUM/ 输入老师信息int i=0,flag=1; TeacherNum = 0; char ch,ch1;whileflag/ 不断输入老师信息,直到输入"n"printf"->请输入老师的职工号(3 位数字) : " scanf"%d",&Ti.num;printf"->请输入老师的姓名 : "scanf"%s",Ti.name;printf"->请输入老师的性别 男或女 : "scanf"%s",Ti.sex;printf"->请输入老师的职称 : "scanf"%s",Ti.position; forint j=0;j<3;j+printf"->请输入该老师第 %d门主讲课程的信息 : n",j+1;InputClassInforTi.coursej; printf"n"/forprintf"->请输入老师的教学成效综合评分0-100: " scanf"%d",&Ti.tecscore;TeacherNum+;/ 老师记录 +1 i+;/ 计数器自增fflushstdin;printf"您仍想连续输入吗? Yy/Nn"欢迎下载精品学习资源ch=getchar;getchar;/ 吃掉回车符ifch='N'|ch='n'/ 确认是否退出flag=0;/ 修改标志,终止循环/while/InputTecInfor/-2.输出老师信息 -void PrintInforTeacher T/ 输出全部老师信息(以卡片形式)printf"-"printf"|所 有 教 师 记 录|"printf"-+"printf"|全院现有在职老师%d 名,全部信息如下|",TeacherNum;printf"-+nn"forint i=0;i<TeacherNum;+iprintf"+-+-+-+-+-+-+-+-+"printf"|职工号 |%3d|姓名 | %8s |性别 | %s |职称 |%8s|",Ti.num,Ti.name,Ti.sex,Ti.position;printf"+-+-+-+-+-+-+-+-+-+"printf"|主 讲 课 程1|课 程 名|%-40s|",Ti.course0.courseName;欢迎下载精品学习资源printf"+-+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学成效|%c|",Ti.course0.semester,Ti.course0.type,Ti.course0.teceff;printf"+-+-+-+-+-+-+"printf"|主 讲 课 程2|课 程 名|%-40s|",Ti.course1.courseName;printf"+-+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学成效|%c|",Ti.course1.semester,Ti.course1.type,Ti.course1.teceff;printf"+-+-+-+-+-+-+"printf"|主 讲 课 程3|课 程 名|%-40s|",Ti.course2.courseName;printf"+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学成效|%c|",Ti.course2.semester,Ti.course2.type,Ti.course2.teceff;printf"+-+-+-+-+-+-+-+"欢迎下载精品学习资源printf"|教 学 效 果 综 合 评 分 |%3d|",Ti.tecscore;printf"+-+-+nn"system"PAUSE"/ 输完一个老师信息,等待用户查看确认,确认无误后再打印下一老师的相关信息/for/PrintInfor/-3.查找老师信息 -void Search_NTeacher T,int n/ 查找子函数/ 当 n=1 时按姓名查找老师信息,否就(当n=2 时)按职工号查找老师信息int flag=0;/ 标志,检测找到与否ifn=1/ 按姓名查找char name110;printf"->请输入老师姓名: " scanf"%s",name1;forint i=0;i<TeacherNum;i+ if.strcmpname1,Ti.nameprintf"查找成功,找到该老师记录!nn"printf"+-+-+-+-+-+-+-+-+"printf"|职工号 |%3d|姓名 | %8s |性别 | %s |职称|%8s|",Ti.num,Ti.name,Ti.sex,Ti.position;printf"+-+-+-+-+-+-+-+-+-+"printf"|主 讲 课 程 1|课 程 名|%-40s|",Ti.course0.courseName;欢迎下载精品学习资源printf"+-+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学效果|%c|",Ti.course0.semester,Ti.course0.type,Ti.course0.teceff;printf"+-+-+-+-+-+-+"printf"|主 讲 课 程 2|课 程 名|%-40s|",Ti.course1.courseName;printf"+-+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学效果|%c|",Ti.course1.semester,Ti.course1.type,Ti.course1.teceff;printf"+-+-+-+-+-+"printf"|主 讲 课 程 3|课 程 名|%-40s|",Ti.course2.courseName;printf"+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学效果|%c|",Ti.course2.semester,Ti.course2.type,Ti.course2.teceff;printf"+-+-+-+-+-+欢迎下载精品学习资源-+"printf"|教学成效综合评分|%3d|",Ti.tecscore;printf"+-+-+nn"flag=1; /标志置 1,表示找到/if/forifflag=0/ 如一轮循环 flag 仍为 0,查找失败printf"查找失败,姓名为%s的老师不存在! n",name1;/ifelse/ 按职工号查找int num1=999;printf"->请输入老师职工号: " scanf"%d",&num1;forint i=0;i<TeacherNum;i+ ifnum1=Ti.numprintf"查找成功,找到该老师记录!nn"printf"+-+-+-+-+-+-+-+-+"printf"|职工号 |%3d|姓名 | %8s |性别 | %s |职称|%8s|",Ti.num,Ti.name,Ti.sex,Ti.position;printf"+-+-+-+-+-+-+-+-+-+"printf"|主 讲 课 程 1|课 程 名|%-40s|",Ti.course0.courseName;欢迎下载精品学习资源printf"+-+-+-+-+-+-+"printf"|学期 |%d|课程性质 |%8s|教学效果|%c|",Ti.course0.semester,Ti.course0.type,Ti.course0.teceff;printf"+-+-+-+-+-+-+"printf"|主 讲 课 程 2|课 程 名|%-40s|",Ti.course1.courseName;print

    注意事项

    本文(2022年C语言程序设计实训说明书-某学院教学信息管理系统.docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开