




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告 课程名称: 高级语言程序设计课程设计 姓 名: _ 班级学号: 指导教师: _ _ 完成日期: _ _ 目录1 课程设计目的与要求11.1设计目的11.2设计要求12 问题描述22.1系统概要22.2功能要求22.3课程设计注意问题23总体设计43.1 功能分析43.2 系统使用的主要函数43.3 系统使用的主要数据结构44 详细设计54.1 程序总体结构图54.2 程序流程65 功能测试95.1系统界面95.2输入信息界面95.3按职工号查询界面105.4职工作量查询界面105.5退出查询系统界面105.6错误输入信息出错界面116 程序设计调试情况分析127课程设计小结13参考文献14附录 系统源程序15职工工作量统计系统1 课程设计目的与要求 1.1设计目的程序设计综合课程设计的目的是培养学生综合运用C或C+所学到的知识编写程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯,通过课程设计的训练能让我们了解软件的基本开发过程以及编程语言的运用,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,并培养基本的、良好的程序设计技能和掌握编写、调试、测试程序的基本技巧,充分理解结构化程序设计的基本方法,按照课程设计的要求,分析、设计、编写、调试、测试程序及按要求编写课程设计设计报告。1.2设计要求课程设计要求学生遵循软件开发过程中的基本规范,运用结构化程序设计的方法,程序设计报告应该能够反映学生完成课程设计题目的全部情况,包括对课程设计题目要求的分析、应用程序的设计、程序的测试过程以及程序的运行情况等,因此,编写课程设计报告是课程设计一个不容忽视的重要环节。一个高质量的课程畅、用词准确且无二义性;能够反映结构化程序设计方法的基本原则;绘制的所有图表规范且正确。 设计报告应该满足下列条件:报告内容完整、观点正确;层次清晰、语流 2 问题描述2.1系统概要设计一个职工工作量统计系统:1、完成一下职工工号和完成的产品数量,程序允许同一职工有多次程序,由程序对其完成的产品数量实现累计;2、按完成数量对职工排序,并确定名次;3、按完成的产品数量由多到少的顺序,输出名次,同一名次的职工人数及他们的工号(工号由小到大顺序输出)。2.2功能要求职工工作量系统统计系统要实现以下几个基本功能:1.按完成数量对职工排序,并确定名次;2.能够能完成对职工工作量信息的录入,并且允许同一职工有多次程序,由程序对其完成的产品数量实现累计;3. 按完成的产品数量由多到少的顺序,输出名次,同一名次的职工人数及他们的工号(工号由小到大顺序输出);4.能够输出所有职工的工作总量。2.3课程设计注意问题1、针对编写的C程序,应该主要考查下列内容: 是否符合题目要求,是否完成了主要功能;是否存在语法错误,逻辑错误及运行错误;程序设计是否合理;程序是否具有良好的可读性和可靠性;是否符合结构化程序设计所倡导的基本理念;用户界面是否友好。、课程设计报告针对提交的课程设计报告,应该主要考查下列内容:程序设计的报告内容是否全面,观点是否正确;设计过程是否符合结构化程序设计方法的基本原则;层次是否清楚,语言是否通顺;各种图表是否规范;是否具有良好 3总体设计 3.1 功能分析整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。 3.2 系统使用的主要函数 void search() /*按职工号查询*/ void input() /*信息的输入 */ void sort() / *职工工作量的排名*/ void save() /*信息的保存 */ void output() /*信息的输出 */ void main() /*主函数*/ void stop() /*停顿函数 (公共函数)*/ 3.3 系统使用的主要数据结构 define MAX 100 /*定义职工人数小于100*/ structworkerinfo /*定义职员信息结构体*/int number; /*职员工号*/int products; /*职员工号*/int rank; /*职员工作量排序*/workersMAX; 4 详细设计4.1 程序总体结构图 主函数流程图(如图41) ( 图41 )职工信息的录入(如图42)( 图42 ) 职工工作量查询( 如图43 )( 图43 )4.2 程序流程输入职工工号流程(如图 44) ( 图 44 )输入职工产品数量流程图 (如图 45) ( 图 45 ) 职工产品数量排序流程图 (如图 46)( 图 46 )5 功能测试5.1系统界面 进入系统后的,系统进入选择菜单(如图 51) 。 (图 51)5.2输入信息界面 输入选择录入职工信息后,系统界面进入职工信息输入界面(如图 52)。 ( 图52 ) 5.3按职工号查询界面 输入按职工工号查询菜单后,系统读取文件内容 (如图 53)。( 图 53)5.4职工作量查询界面 输入按职工工号查询菜单后,系统读取文件内容(如图 54)。(图 54)5.5退出查询系统界面 输入退出菜单后,系统退出 (如图 55)。(图 55)5.6错误输入信息出错界面 输入错误信息后,系统提醒错误(如图 56)。(图 56)6 程序设计调试情况分析7课程设计小结小组成员分工参考文献1吉顺如主编 C程序设计教程与实验 清华大学出版社 2011.62张传学主编 C语言程序设计案例教程 华中科技大学出版社 2011.23吴年志主编 C程序设计简明教程实 中国水利水电出版社 2007.14唐浩强主编 C语言程序设计 清华大学出版社 2010.65陈秀玲主编 C语言程序设计 清华大学出版社 2011.1附录 系统源程序#include #include #include#define MAX 100struct workerinfo /*职工信息数据结构*/int number; /*职工工号*/int products; /*职工产品量*/int rank; /*职工排名* workersMAX,temp;int count;void search() int flag=1,i;fflush(stdin);printf(t员工工号t产品数量n);for(i=0;icount;i+ )printf(t%dtt%dn,workersi.number,ducts); fflush(stdin);getchar();void save()/信息的保存FILE *fp;if(fp=fopen(origin.dat,ab+)=NULL) /打开输出的文件并使fp指向此文件printf(n Cannot input the information! n); /打开时若出错输出此句return;fwrite(&count,sizeof(int),1,fp); fwrite(workers,sizeof(workers),count,fp);fclose(fp);void input()int n, i,z=0; printf(请输入要输入职工的数量);scanf(%d,&n);printf(请输入职工姓名工号和产品数量(工号0表示输入结束):n);printf(职工姓名t职工工号t产品数量n);for(i=0;i=n;i+)scanf(%s,);scanf(%d, &workersi.number);scanf(%d, &ducts);ducts += z;if(count = MAX)printf(职工人数已达上限!n);save();void sort()int i,j,k;struct workerinfo t;for(i=0; icount;i+)k=i;for(j=i+1;j ducts|ducts=ducts &workersj.number workersk.number)k =j;if(i != k)t = workersi;workersi = workersk;workersk = t;if(i = 0 | ducts != workersi - 1.products)workersi.rank = i + 1;elseworkersi.rank = workersi - 1.rank;void output()int i, j, c;for(i = 0; i count; i = j)for(c = i; c count & workersc.rank = i + 1; c+);printf(第%d名的职工共有%d人:n, i + 1, c - i);for(j = i; j c; j+)printf(第%d号员工产品总数为%dnn, workersj.number,ducts); void name()FILE *fp;int n,i,j=0,flag;printf(n按职工姓名排序:);fp=fopen(origin.dat,rb);n=0;while(!feof(fp);fread(&count,sizeof(int),1,fp);n+;fclose(fp);for(i=0;in;i+)flag=0;printf(姓名t工号t工作量n);for(j=0;j0)flag=1;temp.number=workersj.number;workersj.number=workersj+1.number;workersj+1.number=temp.number;strcpy(,);strcpy(,workersj+1.name);strcpy(workersj+1.name,);ducts=ducts;ducts=workersj+1.products;workersj+1.products=ducts;printf(,temp.number,ducts);if(flag=0)break;void main()int k;FILE *fp;if(fp=fopen(origin.dat,rb)=NULL)/先读文件看是否文件为空 若为空执行括号内的程序printf(n不能打开员工信息库n);fp=fopen(origin.dat,ab);count=0;fclose(fp);fread(&count,sizeof(int),1,fp);fread(workers,sizeof(workers0),count,fp);/从文件中读取数据fclose(fp);/关闭文件 do/菜单选数字 选对应项 printf(ttt*n) ;/查找方法界面 printf(ttt欢迎来到职工工作量统计查询系统n);printf(ttt-选择菜单-n); printf(ttt1-录入职工工作量n); printf(ttt2-按职工号排序查询n);printf(ttt3-按工作量排序查询n);printf(ttt4-按姓名排序查询n); printf(ttt0-退出n); printf(ttt*n) ; printf(ttPlease
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年影视行业报告:工业化制作流程与质量控制关键节点解析
- 节后复工培训课件
- 教师招聘之《小学教师招聘》能力测试备考题及参考答案详解
- 教师招聘之《小学教师招聘》通关试卷提供答案解析附答案详解(基础题)
- 教师招聘之《幼儿教师招聘》模拟题库讲解及答案详解【全优】
- 演出经纪人之《演出经纪实务》模拟考试高能及完整答案详解(夺冠)
- 教师招聘之《小学教师招聘》提分评估复习及答案详解(全优)
- 2025年教师招聘之《幼儿教师招聘》练习题库包(含答案详解)
- 2025年教师招聘之《幼儿教师招聘》模拟题库完整答案详解
- 2025年教师招聘之《幼儿教师招聘》考前冲刺练习题库附参考答案详解(典型题)
- 医院2025年院感防控及传染病考核试题及答案
- 老乡贷贷款管理办法
- 2025年职业技能内河船员证理论知识-理论知识参考题库含答案解析(5卷)
- 老师新学期个人工作计划表怎么写(5篇)
- 2025年高考全国二卷数学真题(原卷版)
- 安装大棚合同(标准版)
- 统编版九年级上册道德与法治1.2 走向共同富裕 课件
- 汽车销售日常知识培训课件
- 企业重污染天气应急预案
- (正式版)DB15∕T 2351-2021 《燕麦米加工技术规程》
- 患者身份识别管理标准WST840-2025学习解读课件
评论
0/150
提交评论