C语言程序设计教师工作量,C语言程序设计课程设计-教师工作量计算.doc

该设计论文已经通过各大高校老师审核认可并通过答辩,准确完整无误。欢迎大家下载学习交流。如有疑问可随时联系店主,竭诚为您解答!!

课 程 设 计 报 告

课程名称 C语言程序设计

课题名称 教师工作量计算

专 业 电气工程及其自动化

班 级 0783

学 号 200713010314

姓 名 冯鑫

指导教师 王颖

2008-3-21

课程设计任务书

课程名称 C语言程序设计

课题名称 班级档案管理系统

专业班级 电气0783班

学生姓名 冯鑫

学 号 200713010314

指导老师 王颖

审 批

任务书下达日期:2008 年3月15日

任务完成日期:2008年3月22日

〈C语言课程设计〉任务书

前 言

《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计报告与磁盘(缺一不可)收齐后交指导老师。

需求分析

分析系统功能需求以及用户操作流程。

概要设计

在需求分析的基础上,确定系统总体框架(系统功能结构图)。

详细设计

定义数据储存结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。

代码设计

根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。源程序要求书写规范,结构清晰。重点函数的重点变量。重点功能部分均要求给出清晰的程序注释。

程序调试

程序编译、连接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。如果程序能够基本正确地运行,可考虑增加若干基本的容错功能;另外尽量对现有的算法给出改进方案,并比较不同算法之间的优缺点。

设计报告及书写内容要求

课程设计任务完成后,每位同学必须独立书写一份课程设计报告,注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。课程设计报告的内容应包括以下五个部分:

需求分析:包括设计题目、设计要求以及系统功能需求分析;

概要设计:包括系统总计设计框架和系统功能模块图;

详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;

主要源程序代码:包括存储结构设计说明,以及完整源程序清单;

调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、主错原因、解决方法及效果等);

总结:包括课程设计过程中的学习体会与收获、对C语言和本次课程设计的认识以及自己的建议等内容。

书写格式严格按所附要求书写。

附:

课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。

正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。

正文总字数在5000字以上(不含程序原代码)。

六、考核方式

指导老师负责验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include #include #include #include #include #define MAX_NAME 20 #define NULL 0 struct course { char course_name[MAX_NAME]; int class_num; int ch_per; int ex_per; struct course *next; }; struct teacher { char teacher_num[MAX_NAME]; char teacher_name[MAX_NAME]; struct teacher *next; struct course *chead; struct course *ctail; }; struct teacher *thead,*ttail,*found; //*********************************************************************** //主菜单 void menu() { system("cls"); printf("*************************************\n"); printf("* 1.输入教师信息 *\n"); printf("* 2.插入授课信息 *\n"); printf("* 3.工作量计算与显示 *\n"); printf("* 4.退出 *\n"); printf("*************************************\n"); printf("请输入要操作的序号:"); } int isExist(char number[]) //判断输入的教师号是否已经存在 { struct teacher *p; p=thead; while(p!=NULL && (strcmp(p->teacher_num,number)!=0)) p=p->next; found=p; if(p==NULL) return 0; else return 1; } //************************************************************************ //增加教师教学信息模块 void addIn() { struct teacher *p; struct course *pcourse; char teacher_num[MAX_NAME]; char teacher_name[MAX_NAME]; char course_name[MAX_NAME]; int class_num; int ch_per; int ex_per; while(1) { system("cls"); printf("****************************************************\n"); printf("* 输入教师的信息,以输入教师号为#结束输入 *\n"); printf("****************************************************\n"); printf("输入教师号:"); fflush(stdin); scanf("%s",teacher_num); if(isExist(teacher_num)) { printf("!!!该教师号已经存在,请重新输入。\n按任意键重新输入...\n"); getch(); } else { if(strcmp(teacher_num,"#")==0) { printf("**************************************************\n"); printf("输入结束。按任意键返回主菜单...\n"); getch(); return; } printf("输入教师姓名:");fflush(stdin);scanf("%s",teacher_name); printf("****************************************************\n"); printf("* 输入教师授课信息 *\n"); printf("****************************************************\n"); printf("输入课程名称:");fflush(stdin);scanf("%s",course_name); printf("输入班级数目:");fflush(stdin);scanf("%d",&class_num); printf("输入理论课时:");fflush(stdin);scanf("%d",&ch_per); printf("输入实验课时:");fflush(stdin);scanf("%d",&ex_per); pcourse=(struct course *)malloc(sizeof(struct course)); strcpy(pcourse->course_name,course_name); pcourse->class_num=class_num; pcourse->ch_per=ch_per; pcourse->ex_per=ex_per; pcourse->next=NULL; p=(struct teacher *)malloc(sizeof(struct teacher)); strcpy(p->teacher_num,teacher_num); strcpy(p->teacher_name,teacher_name); p->chead=pcourse; p->ctail=pcourse; if(thead==NULL) { thead=p; ttail=p; } else { ttail->next=p; ttail=p; } ttail->next=NULL; } } } //************************************************************************ //插入教师授课信息模块 void addCourseInfo() { struct course *pcourse; char teacher_num[MAX_NAME]; char course_name[MAX_NAME]; int class_num; int ch_per; int ex_per; system("cls"); if(thead==NULL) { printf("****************************************************\n"); printf("* 当前没有可用的教师信息,按任意键返回主菜单... *\n"); printf("****************************************************\n"); getch(); return; } while(1) { system("cls"); printf("输入教师号:");fflush(stdin);scanf("%s",teacher_num); if(isExist(teacher_num)) break; else { printf("!!!该教师号不存在,请重新输入.\n按任意键重新输入...\n"); getch(); } } printf("****************************************************\n"); printf("* 输入教师授课信息 *\n"); printf("****************************************************\n"); printf("输入课程名称:");fflush(stdin);scanf("%s",course_name); printf("输入班级数目:");fflush(stdin);scanf("%d",&class_num); printf("输入理论课时:");fflush(stdin);scanf("%d",&ch_per); printf("输入实验课时:");fflush(stdin);scanf("%d",&ex_per); pcourse=(struct course *)malloc(sizeof(struct course)); strcpy(pcourse->course_name,course_name); pcourse->class_num=class_num; pcourse->ch_per=ch_per; pcourse->ex_per=ex_per; pcourse->next=NULL; found->ctail->next=pcourse; found->ctail=pcourse; } //************************************************************************ //计算并显示 void calcu() { struct teacher *p; struct course *pcourse; float single_per=0.0; float total_per=0.0; system("cls"); if(thead==NULL) { printf("****************************************************\n"); printf("* 当前没有可用的教师信息,按任意键返回主菜单... *\n"); printf("****************************************************\n"); getch(); return; } p=thead; while(p!=NULL) { total_per=0.0; printf("----------------------------------------------------------------------\n"); printf("教师号:%s\n",p->teacher_num); printf("教师姓名:%s\n",p->teacher_name); printf("----------------------------------------------------------------------\n"); printf("课程名称 班级数目 理论课时 实验课时 单教学任务总课时\n"); printf("----------------------------------------------------------------------\n"); pcourse=p->chead; while(pcourse!=NULL) { single_per=0.0; if(pcourse->class_num==1) single_per=pcourse->ch_per+pcourse->ex_per; if(pcourse->class_num==2) single_per=1.5*(pcourse->ch_per+pcourse->ex_per); if(pcourse->class_num==3) single_per=2.0*(pcourse->ch_per+pcourse->ex_per); if(pcourse->class_num>=4) single_per=2.5*(pcourse->ch_per+pcourse->ex_per); printf("%-10s%-10d%-10d%-10d%-7.3f\n",pcourse->course_name,pcourse->class_num,pcourse->ch_per,pcourse->ex_per,single_per); total_per+=single_per; pcourse=pcourse->next; } printf("----------------------------------------------------------------------\n"); printf("一个学期总的教学工作量:%7.3f\n",total_per); printf("----------------------------------------------------------------------\n\n\n\n"); p=p->next; } printf("\t****************************************************\n"); printf("\t* 已经显示完毕,按任意键返回主菜单... *\n"); printf("\t****************************************************\n"); getch(); } //************************************************************************ //主函数 void main() { int order; while(1) { menu(); fflush(stdin); scanf("%d",&order); switch (order) { case 1:addIn();break; case 2:addCourseInfo();break; case 3:calcu();break; case 4:exit(0);break; default: printf("输入的序号有误,请检查后重新输入...\n"); getch(); break; } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值