ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:125.81KB ,
资源ID:22863001      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22863001.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(04033015选择教师管理系统.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

04033015选择教师管理系统.docx

1、04033015选择教师管理系统沈 阳 航 空 工 业 学 院 课程设计学 号 200704033015 班 级 7403301 姓 名 林可 指导教师 王 晓 岩 2009 年 3月 6日沈阳航空工业学院课程设计任务书院系:航空宇航工程学院 专业:飞行器设计与工程 班级:7403301学号:200704033015 题目:选择教师管理系统一、课程设计时间200809第2学期第1周,共计1周,20学时。二、课程设计内容用C语言编写程序件完成以下任务:有5位教师(参见文件file14_1.txt)同时讲同一门课,而学习此课程的学生(参见文件file14_2.txt)可以自由选取上课教师,但每个学

2、生只能选1个老师。请模拟这个“选教师”系统。功能应包括以下方面:(1)学生选教师(包括改选)。(2)查询某位教师的学生人数。(3)查询某位学生所选的教师。(4)学生人数越多,表示该教师越受欢迎。请按照学生人数降序打印教师名单。说明:file14_1.txt中数据的排列顺序是:教师号,姓名,学生人数;file14_2.txt中数据的排列顺序是:学号,姓名,教师名。三、课程设计要求1. 程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“选教师”、“查询教师情况”、“查询学生情况”、“降序打印教师名单”、“退出”5项。 代码应适当缩进,并给出必要

3、的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语目录一、需求分析 1二、程序流程图 2三、核心技术的实现说明及相应程序段 5四、课设总结 11五、参考文献 11六、源程序 11一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一个函数,它们的功能分别是:选择教师数据函数,查询教师数据函数,查询学生数据函数,教师降序排列函数。在这些函数当中,四个函数的实现严格按照题目的要求。1、选择教师数据函数

4、 主要实现程序最初运行时教师数据的选择以及其后的运行中学生数据的追加功能;2、查询教师数据函数 实现的功能是按照学号对学生的数据查询学生信息;3、查询学生数据函数 实现的功能是按照教师号对教师的数据查询教师信息;4、教师降序排列函数 按照题目的具体要求实现的是选择教师人数的递减排序显示;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。二、程序流程图1、程序总体结构图图1程序总体结构图2、具体功能框图(1)选择教师数据函数choose图2选择教师数据函数(2)读取教师数据reads图3读取学生数据(3)查询学生函数del(查询教师函

5、数与此相似)(4)按总分排序函数sort(4)教师降序函数sort图5总分排序函数 图4 查询函数(4)教师降序函数sort图5 教师降序函数三、核心技术的实现说明及相应程序段本程序主要由六个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,选择数据函数和降序函数是程序中较为核心的部分,下面分别进行说明。1、选择教师数据函数 选择数据,先列出所选教师的名单和教师号,再输入自己学号来确认学生的信息,学号需在给定的文件里所有的学生,接下来再在给定的教师里选择,教师被选择一次tchi.num+。具体的程序段如下:int i,num,num_t,num

6、_s; printf(n 教师号 姓名 ); printf(n 1 崔晓莲 ); printf(n 2 朱艳明 ); printf(n 3 于海霞 ); printf(n 4 王林 ); printf(n 5 罗育勇 ); printf(n请输入学号,按回车键确认:); scanf(%d,&num); for(i=0;i=n_stu) printf(无此学生信息!); return; num_s=i; printf(n请输入选择的教师号,按回车键确认:); scanf(%d,&num); for(i=0;i=n_tch) printf(无此教师信息!); return; num_t=i; st

7、rcpy(stunum_s.t_name,tchnum_t.name); tchnum_t.num+; printf(孩儿啊!你真棒啊!这老师嗷嗷的.刚刚的啊!选择成功n);2、降序函数对于教师的排序采用的排序算法是冒泡法排序,其中总分的求得是在排序的过程中实现的,这部分程序仍然调用了reads函数,整个排序过程在结构体数组teach中实现,由于排序算法涉及到两个数组元素的信息交换,因此还需要定义一个中间变量来协助。排序函数使选教师人数数据的排列顺序发生了变化,因此也需要队员文件进行更新。具体的程序段如下:void sort()/*降序打印教师名单*/ FILE *fp; struct tea

8、cher temp; int i,j; for(i=0;in_tch-1;i+) for(j=0;jn_tch-1-i;j+) if(tchj.numtchj+1.num) temp=tchj; tchj=tchj+1; tchj+1=temp; if(fp=fopen(d:file14_1.txt,w)=NULL)/*更新文件*/ printf(打开文件失败!); return; j=1; for(i=0;in_tch;i+) fprintf(fp,%dt%st%dn,tchi.no,tchi.name,tchi.num); printf(%dt%st%dn,tchi.no,tchi.nam

9、e,tchi.num); fclose(fp); if(fp=fopen(d:file14_2.txt,w)=NULL)/*更新文件*/ printf(打开文件失败!); return; for(i=0;in_stu;i+) fprintf(fp,%dt%st%sn,stui.no,stui.name,stui.t_name); fclose(fp);四、课设总结通过这次一周时间的C语言课程设计,学到了很多C语言编程的相关知识和认识到自己欠缺的方面。针对这次题目选择教师管理系统,参照老师模板,更进一步学习和了解了几种函数的运用如选择函数,查询函数,排列函数。以前不怎么熟悉的指针文件运用,这次通

10、过再次研究明白,成功的在自己的课题上运行。感觉很有成就和优越感,因为第一次编写相对自己较为复杂的程序。这次课程设计总的来说编写的较好,完成了老师的课题要求,但有扩展的地方还需多加努力才能把它做的更完美!也感谢老师对我们的指导。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#include#include#includeint n_tch=0,n_stu=0;struct teacher int no; char name20; int num;tch20;struct student int no;

11、 char name20; char t_name20;stu20;void reads() FILE *fp; int i=0; if(fp=fopen(d:file14_1.txt,r)=NULL) printf(文件打开失败!n); return; else for(i=0;!feof(fp);i+) fscanf(fp,%dt%st%dn,&tchi.no,tchi.name,&tchi.num); n_tch+; fclose(fp); if(fp=fopen(d:file14_2.txt,r)=NULL) printf(文件打开失败!n); return; else for(i=0

12、;!feof(fp);i+) fscanf(fp,%dt%st%sn,&stui.no,stui.name,stui.t_name); n_stu+; fclose(fp);void sort()/*降序打印教师名单*/ FILE *fp; struct teacher temp; int i,j; for(i=0;in_tch-1;i+) for(j=0;jn_tch-1-i;j+) if(tchj.numtchj+1.num) temp=tchj; tchj=tchj+1; tchj+1=temp; if(fp=fopen(d:file14_1.txt,w)=NULL)/*更新文件*/ p

13、rintf(打开文件失败!); return; j=1; for(i=0;in_tch;i+) fprintf(fp,%dt%st%dn,tchi.no,tchi.name,tchi.num); printf(%dt%st%dn,tchi.no,tchi.name,tchi.num); fclose(fp); if(fp=fopen(d:file14_2.txt,w)=NULL)/*更新文件*/ printf(打开文件失败!); return; for(i=0;in_stu;i+) fprintf(fp,%dt%st%sn,stui.no,stui.name,stui.t_name); fcl

14、ose(fp);void query_s()/*查询学生信息*/ int i,num; printf(n请输入要查询的学生学号,按回车键确认:); scanf(%d,&num); for(i=0;i=n_stu) printf(输入错误n); return; printf(n学生信息如下:n); printf(%dt%st%sn,stui.no,stui.name,stui.t_name);void query_t()/*查询教师信息*/ int i,num; printf(n请输入要查询的教师号,按回车键确认:); scanf(%d,&num); for(i=0;i=n_tch) print

15、f(无此教师信息!); return; printf(n教师信息如下:n); printf(%dt%st%dn,tchi.no,tchi.name,tchi.no);void choose()/*选择教师*/ int i,num,num_t,num_s; printf(n 教师号 姓名 ); printf(n 1 崔晓莲 ); printf(n 2 朱艳明 ); printf(n 3 于海霞 ); printf(n 4 王林 ); printf(n 5 罗育勇 ); printf(n请输入学号,按回车键确认:); scanf(%d,&num); for(i=0;i=n_stu) printf(

16、无此学生信息!); return; num_s=i; printf(n请输入选择的教师号,按回车键确认:); scanf(%d,&num); for(i=0;i=n_tch) printf(无此教师信息!); return; num_t=i; strcpy(stunum_s.t_name,tchnum_t.name); tchnum_t.num+; printf(孩儿啊!你真棒啊!这老师嗷嗷的.刚刚的啊!选择成功n);void menu()/*菜单*/ printf( * 班级成绩管理系统* ); printf(n 1 选教师); printf(n 2 查询学生数据); printf(n 3 查询教师数据); printf(n 4 降序打印教师名单); printf(n 5 退出);void main() int n; reads(); while(1) menu(); printf(n 请输入您要选择的操作序号,按回车键确认:); scanf(%d,&n); switch(n) case 1: choose();break; case 2: query_s();break; case 3: query_t();break; case 4: sort();break; case 5: exit(0); default: printf(输入错误,请输入列表中存在的序号!n );

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1