2014《程序设计技能训练》课程设计.doc_第1页
2014《程序设计技能训练》课程设计.doc_第2页
2014《程序设计技能训练》课程设计.doc_第3页
2014《程序设计技能训练》课程设计.doc_第4页
2014《程序设计技能训练》课程设计.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计技能训练课程设计要求一、教学目标程序设计技能训练课程设计是程序设计基础课程的一个关键环节。它是根据教学计划的要求,在教师的指导下,对学生实施程序设计训练的必要过程,是对前期课堂教学效果的检验。其目标在于培养学生综合运用理论知识来分析和解决实际问题的能力、严谨的科学态度和良好的程序设计习惯,最终实现由知识向技能的初步转化。通过课程设计,要求学生能够遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,独自地完成设计、编写、调试和测试应用程序及编写文档的任务。二、教学要求在本课程设计过程中要求学生:(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务;(3) 上交源程序:每位同学按照课程设计的具体要求所开发的所有源程序;(4) 上交程序的说明文件:(保存在.txt文本文件或WORD文档中)在说明文档中应该写明上交程序主程序文件名,程序的运行数据例子;(5)认真编写课程设计报告。课程设计报告:(保存在word 文档中,文件名要求 按照姓名-学号-课程设计报告起名,如文件名为张三-*-课程设计报告.doc ),课程设计报告的书写格式见附录2。(6)课程设计总结: (保存在word 文档中)总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对程序设计基础这门课程的思考和认识等内容三、课程题目安排1、必做题共26题,见附录12、选做题:课程题目共13道题目,题目的详细内容见后面附录2。课程题目共9道题目,题目的详细内容见后面附录1。第1题 学生证管理程序第2题 图书登记管理程序第3题 学分管理程序第4题 学生作业完成情况管理程序第5题 职工工资信息管理系统第6题 学生宿舍管理第7题 人事管理程序第8题 通讯录的管理系统第9题 车票管理程序设计注意:四人一组,选一个题目四、考核方式和成绩评定根据学生完成任务的情况(必须进行系统演示)、课程设计报告书的质量和课程设计过程中的工作态度等按照加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重新做课程设计考核分为三个部分:l 出勤情况(占25%);l 程序运行及答辩情况(占50%):运行程序,由老师检查运行情况,并回答老师提出的问题;l 课程设计报告书(占25%):是否按规定书写课程设计报告书的各项内容。五、时间安排第四周- 第13周 周二 9-12 附录1附录2附录3附录4附录1基本编程题1、 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?2、 输入某年某月某日,判断这一天是这一年的第几天?3、 输出9*9口诀。4、 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?5、 判断101-200之间有多少个素数,并输出所有素数。6、 输入两个正整数m和n,求其最大公约数和最小公倍数。7、 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。8、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。9、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。10、求1+2!+3!+.+20!的和11、对10个数进行排序(要求从大到小)12、求一个4*4矩阵主对角线元素之和。13、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。14、将一个数组逆序输出。15、打印出杨辉三角形(要求打印出10行)16、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。17、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。18、编写主函数,当输入n为偶数时,调用函数求1/2+1/4+.+1/n,当输入n为奇数时,调用函数 1/1!+1/3!+.+1/n!19、已知一个学生的信息有两项:学生姓名,学生成绩,从键盘上输入10个学生的信息,然后按学生成绩从小到大排序(排序方法不限),最后输出排序过的学生信息。20、编程计算从N各元素取出M个元素的组合数。21、编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据错误的提示信息。22、按要求编写程序:(1)编写求N阶乘的函数JACK()(2)编写判断素数的函数ISPRIME();(3)编写主函数,输入一个整数N,调用ISPRIME(),如果是素数就调用JACK()求出N的阶乘并输出,否则显示该数不是素数。23、编写程序计算下列序列的值:要求最后一项小于0.001时、或者当N=20时尚未达到精度要求,则停止计算。24、利用结构:struct complx int real;int im;编写求两个复数之积的函数cmult,并利用该函数求下列复数之积: (3+4i)(5+6i) (10+20i)(30+40i25、搜索一个字符在字符串中的位置(例如:I在”CHINA”中的位置为3)。如果没有搜索到,则位置为1。26、按要求编写程序:假设学生有:学号,姓名,年龄,四门课成绩,总分等信息请先定义结构体student来描述学生信息。(1)编写输入n个学生信息存入数组a的函数void shur(studen a,int n);(2)编写输出数组a中n个学生的函数void shuc(student a,int n);(3) 编写del函数的作用是删除数组a中的指定学生x,n为数组a的学生个数。void del(student a,int,n, student x)(4) 编写查找search函数的作用是查找数组a中的指定学生元素x,n为数组a的学生个数,如果找到,函数返回找到学生的序号,否则函数返回-1, int search(student a,student x)(5)编写插入元素insert函数的作用是将指定学生x插入到数组a中的指定位置w, n为数组a的学生个数。void insert(student a,int,n,student x,int w)(6)编写排序sort函数,其功能是,按学号排序,void sort(student a,int,n)(7)编写主函数,调用void shur(student a,int n)输入n个学生信息存入数组,然后调用shur(student a,int n)输出;实现删除学生信息操作并显示,实现查找学生操作,显示查找结果,实现插入学生操作,并显示结果 实现按学号排序并显示。(提示,可将n设置为全局变量)附录2 课程设计题目第1题 学生证管理程序【题目描述】请设计一个学生证的管理程序,该程序应该具有下列功能:(1) 通过键盘输入某位学生的学生证信息。学生证包含的信息请参看自己的学生证;(2) 给定学号,显示某位学生的学生证信息;(3) 给定某个班级的班号,显示该班所有学生的学生证信息;(4) 给定某位学生的学号,修改该学生的学生证信息;(5) 给定某位学生的学号,删除该学生的学生证信息;(6) 提供一些统计各类信息的功能或排序功能。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 学生证应该包含的信息请参看自己的学生证;(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存学生证的内容。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第2题 图书登记管理程序【题目描述】请设计一个图书登记管理程序。该程序应该具有下列功能:(1) 通过键盘输入某本图书的信息;(2) 给定图书编号,显示该本图书的信息;(3) 给定作者姓名,显示所有该作者编写的图书信息;(4) 给定图书编号,修改该本图书的信息;(5) 给定图书编号,删除该本图书的信息;(6) 提供一些统计各类信息的功能或排序功能。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 图书信息应该包含:编号、书名、作者姓名、出版社、价格、数量等;(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存图书信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第3题 学分管理程序【题目描述】请设计一个学生的学分管理程序。假设每位学生必须完成基础课50学分、专业课50学分、选修课24学分、人文类课程8学分、实验性课程20学分才能够毕业。因此在管理学分时,要考虑每个学分所属于的课程类别。该程序应该具有下列功能:(1) 通过键盘输入某位学生的学分; (2) 给定学号,显示某位学生的学分完成情况;(3) 给定某个班级的班号,显示该班所有学生学分完成情况;(4) 给定某位学生的学号,修改该学生的学分信息;(5) 按照某类课程的学分高低进行排序;(6) 提供一些统计各类信息的功能。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 学分信息应该包括学号、姓名、课程类别、学分等;(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存学分信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第4题 学生作业完成情况管理程序【题目描述】请设计一个学生作业完成情况管理程序。假设某门课程一学期要完成10次作业,每次老师要进行批改,给出分数后还要进行登记。学期期末要根据每次作业的成绩计算出最终的平时成绩(满分100)。该程序应该具有下列功能:(1) 通过键盘输入某位学生某次作业的分数;(2) 给定学号,显示某位学生作业完成情况;(3) 给定某个班级的班号,显示该班所有学生的作业完成情况;(4) 给定某位学生的学号,修改该学生的作业完成信息;(5) 给定某位学生的学号,删除该学生的信息;(6) 提供一些统计各类信息的功能或排序功能。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 作业登记信息应该包含:学号、姓名、10次作业的完成情况;(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存作业登记信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第5题 职工工资信息管理系统【题目描述】各种基本数据的录入、修改、删除、插入、查询、统计(应发工资=基本工资+职务工资+各种补助,实发工资=应发工资-水电费-公积金-税金,税金(按先行税率公式计算)基本功能有:(1)添加功能:添加一个职工的基本信息,包括工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、税金、实发工资等(2)删除功能:能够对一个职工的信息进行删除,例如按姓名进行删除、(3)显示功能:显示所有职工的主要信息包括工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、税金、实发工资等(4)查找功能:根据你键入的职工姓名,显示其详细信息!(5)修改功能:根据你键入的职工姓名,对该职工工资信息进行修改。(6)排序功能:对职工的信息按照实发工资进行排序。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 职工工资信息应该包含:工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、税金、实发工资等;(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存职工工资登记信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第6题 学生宿舍管理【题目描述】该程序应该具有下列功能:1) 录入:录入信息(学号,宿舍号,性别,姓名,所属院系等)2) 插入:给出姓名或学号执行插入后,查询是否被插入;3)删除:给出姓名或学号执行删除后,查询是否被删除;4)交换:给出两学生的姓名或学号执行交换后,查询是否被交换;5)查询:给出房间号,列出该房间的入住学生即可;6)统计:宿舍没住满情况显示。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存学生宿舍登记信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第7题 人事管理程序【题目描述】请设计一个人事管理程序。1、添加功能:添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,家庭住址,家庭电话号码,部门,薪水,性别,职务等2、删除功能:能够对一个职员的信息进行删除,例如按姓名进行删除。3、显示功能:显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日等4、查找功能:根据你键入的职员姓名,显示其详细信息。5、修改功能:根据你键入的职员姓名,对该职员的信息进行修改。6、排序功能:对职员的信息按照薪水进行排序。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存职工登记信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第8题 通讯录的管理【题目描述】请设计一个通讯录管理程序。该程序应该具有下列功能:(1) 插入好友信息;(2) 显示好友的相关信息;(3) 给定姓名,查找该好友的信息;(4) 给定姓名,修改相关信息;(5) 给定姓名,删除该好友的信息;(6) 按照姓名进行排序。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 每个记录包含姓名、电话号码、住址等个人信息;(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。第9题 车票管理程序【题目描述】一车站每天有n个发车班次,每个班次都有一班次号(1、2、3n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数1 8:00 凤阳 合肥 2 45 302 6:30 凤阳 蚌埠 0.5 40 403 7:00 凤阳 定远 1 40 204 10:00 凤阳 南京 3 40 2能提供下列服务:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。(3)查询路线:可按班次号查询 ,可按终点站查询(4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数(5) 根据输入班次,删除某班次。(6) 按发车时间排序。【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2)车次登记信息应该包含:班次、发车时间、起点站、终点站、行车时间、额定载量、 已定票人数等(3) 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。【输入要求】应用程序运行后,在屏幕上显示一个菜单(菜单显示外观见前面的图示)。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。【输出要求】(1) 应用程序运行后,要在屏幕上显示一个菜单;(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【提示】设计一个结构类型和一维数组类型,用来保存信息。【实验步骤】(1)装入给定程序模板,运行演示;(2)根据题目要求,修改数据类型,添加必要的变量,实现功能(1)和(2),并进行调试;(3)实现功能(3)和(4),并进行测试;(4)实现功能(5)和(6),并进行调试;(5)编写实验报告。附录3第二部分(参考)下面是一个职工信息管理程序,请阅读分析过程,并编写相应模块。1 需求分析1.1 编写目的通过对用户需求进行调查分析,写出需求分析文档。需求分析文档可作为项目设计的基本准则要求,也可作为系统分析员进行系统分析和测试人员进行测试时的手册。1.2 需求概述设计一个职工信息管理系统,使之能提供以下功能:(1)职工信息录入功能(2)职工信息浏览功能(3)职工信息查询(或排序)功能(4)职工信息删除功能(5)职工信息修改功能1.3 需求说明(1)职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复;(2)录入的职工信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作;(3)职工信息的显示要求有一定的规范格式;(4)对职工信息应能够分别按工资及按学历两种方式进行,要求能返回所有符合条件的职工的信息;(5)对职工信息的修改应逐个地进行,一个职工信息的更改不应影响其他的职工记录;(6)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况。2 总体设计2.1 编写目的根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。2.2 总体设计1功能划分该系统可以按功能进行模块划分,如图1所示:图1 系统模块图其中:信息输入模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等;信息浏览模块完成已录入职工信息的显示;信息查询模块完成职工信息的查询,查询时对应有按工资查询和按学历查询两种方式;信息修改模块完成职工信息的修改功能;信息删除模块完成职工信息的删除功能;菜单选择模块完成用户命令的接收,此模块也是职工信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能。2数据结构本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理。3程序流程系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如图2所示:图2 程序流程图3 详细设计3.1 编写目的根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。3.2 详细设计1数据结构(1)性别:enum Sex male, female ;(2)学历:enum Education high, junior, college, master, doctor;(3)日期:struct Date int year; int month; int day;(4)职工信息:struct Info char num5; /* 职工号 */ char name8; /* 姓名 */ enum Sex sex; /* 性别 */ struct Date birthday; /* 出生年月 */ enum Education education; /* 学历 */ char duty8; /* 职务 */ double wage; /* 工资 */ char addr12; /* 地址 */ char phone8; /* 电话 */;2各个功能模块的处理流程对应于总体设计时的系统功能模块图,各个功能模块的处理流程如下:(1)信息输入模块打开职工信息文件;while ( 继续输入 ) 读入职工信息; 将读入信息添加到职工信息文件中; 提示是否继续输入;关闭职工信息文件;(2)信息浏览模块打开职工信息文件;while ( 不到文件结束 ) 从文件中顺序读出一个职工的信息; 按指定格式输出该职工的信息;关闭职工信息文件;(3)信息查询模块while ( 继续查询 ) if( 按编号查询 ) 读入查询的职工编号; 打开职工信息文件; while( 不到文件结束 ) 顺序读出一个职工的信息; if( 该职工信息的编号符合条件 ) 输出该职工的信息; 关闭职工信息文件; 提示共有几条符合条件的记录; else if( 按姓名查询 ) 读入查询的职工姓名; 打开职工信息文件; while( 不到文件结束 ) 顺序读出一个职工的信息; if( 该职工信息的姓名符合条件 ) 输出该职工的信息; 关闭职工信息文件; 提示共有几条符合条件的记录; else 提示输入不合适; 提示是否继续查询;(4)信息修改模块while( 继续修改 ) 打开职工信息文件; 打开临时文件; 提示并读入待修改的职工的编号; while( 不到文件结束 ) 顺序读出一个职工的信息; if( 该职工信息的编号符合条件 ) 将职工的信息进行修改; 将职工的信息写入临时文件中; 关闭原信息文件; 关闭临时文件; 删除原信息文件; 将临时文件的名字改为原信息文件的名字;(5)信息删除模块while( 继续删除 ) 提示并读入待删除的职工号; 打开职工信息文件; 查找是否有符合条件的职工记录; if( 有符合条件的记录 ) 创建一个新的临时文件; while( 原信息文件中记录未读完 ) 读出原信息文件中的下一条记录; if( 此条记录不是待删除记录 ) 写入临时文件中去; 关闭原信息文件; 关闭临时文件; 删除原信息文件; 将临时文件的名字改为原信息文件的名字; else 提示没有符合条件的记录存在;(6)菜单选择模块:给出信息提示;清屏;绘制菜单(包含输入、显示、查询、修改、删除、退出);提示菜单选择并读入到变量;返回变量的值。4 程序片段#include #include #include #include enum Sexmale, female; /* 性别 */enum Educationhigh, junior, college, master, doctor; /* 学历 */struct Date /* 日期 */ int year; int month; int day;struct Info char num10; /* 职工号 */ char name15; /* 姓名 */ enum Sex sex; /* 性别 */ struct Date birthday; /* 出生年月*/ enum Education education; /* 学历 */ char duty15; /* 职务 */ double wage; /* 工资 */ char ad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论