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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(级C语言程序设计实践任务书部分班.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

级C语言程序设计实践任务书部分班.docx

1、级C语言程序设计实践任务书部分班 “C语言程序设计实践”任务书信息科学与工程学院电气与自动化实验室2012年5月“C语言程序设计实践”任务书一、指导老师安排电气信息类1119班:唐朝晖、李志民 电气信息类1120班:唐朝晖、李志民电气信息类1124班:叶华文、李志民 电气信息类1125班:叶华文、李志民电气信息类1127班:袁艳、李志民二、课程设计要求本次“C语言程序设计实践”课程设计,是基于“C语言程序设计基础”课程学习内容的重要实践环节,其主要目的在于,通过综合程序课程设计,培养和提高学生的独立分析问题、解决实际问题的能力和计算机语言编程能力。本次课程设计时间为2周,要求每位同学在为期两周

2、的时间段内,独立完成相关设计题所规定的任务(上机时数为20学时)。进度安排建议如下:1、阅读设计题目、任务内容,规划设计进度,并进行软件的各相关功能模块的规划设计(1天)。2、在Turbo C(或Visual C+6.0)环境下,用结构化程序设计思想进行C语言程序设计、功能模块调试(7-9天)。3、进行课程设计报告编写与整理(2天)。4、课程设计结束时,要求进行设计成果演示(由指导老师验收相关程序运行成果并打分);每人须对相关电子文档进行整理上交(包括:程序文件、帮助说明文档);交课程设计报告(纸质)一份(手工书写稿)。课程设计报告基本内容及格式参考P4页上内容。三、结构化程序设计方法结构化技

3、术是软件工程中最成熟的技术之一,它包括结构化分析方法(Structured Analysis)、结构化设计方法(Structured design)和结构化程序设计方法(Structured Programming),简称为SA-SD-SP方法。它的总的指导思想是自顶向下、逐步求精、单入口/单出口,基本原则是抽象和功能的分解。对于较为复杂问题的大型程序开发,应采取“自顶向下、逐步细化和模块化”的设计方法,模块化程序设计是结构化程序设计方法在开发大型程序中的应用。1、自顶向下、逐步细化、逐步求精所谓“自顶向下,逐步细化、逐步求精”就是在对于给定问题进行透彻的了解和详细的分析的基础上,把问题分解成

4、若干个按顺序执行的逻辑部分,称为“模块”。每个子任务如果仍很复杂,还可以再分解为若干个子任务。如此逐层分解,对于每个模块的设计都采用这种“自顶向下、逐步细化”的方法,将它们分解成为基本结构为止,就如同写文章先拟出题目和中心内容,再确定分为几大部分,每一大部分又分哪几节,每一节分为几段,每一段包括哪几个意思,这就是“自顶向下,逐步细化”的方法。2、菜单技术当一个程序的规模比较庞大,层次和模块比较多时,不要每次都将所有模块按顺序执行一遍,最好在每一层,至少在最高几层都设一个“菜单”。为方便用户操作,“菜单”技术已广泛使用在计算机的系统软件中,具体做法是:程序首先把各功能说明及相应代号以菜单形式显示

5、在屏幕上,然后由用户在键盘上输入所选的功能代号,程序自动转去调用相应的功能模块进行处理。四、相关管理系统设计题的基本功能要求1、数据文件管理功能:创建新文件、管理老文件(包括:Open、New)。2、输入添加/插入记录:能够完成对任意一条记录输入、添加或插入数据表中,并保存到数据文件中。3、显示、查询记录:能够打开已存在的数据表文件,根据用户要求按所给记录关键字显示、查询一个或多个相关联记录的各项信息。4、修改记录:能够打开已存在的数据表文件,并对确定的任意记录进行修改,在修改过程中,应显示记录信息,给出确认提示,并对更新的记录信息进行文件保存。5、删除记录:能够打开已存在的数据表文件,可以删

6、除数据表中的任一记录,要求具备逻辑删除(具有恢复功能)和物理删除功能,并对新的数据表信息进行文件保存。6、统计功能:能够打开已存在的数据表文件,对数据表中与某关键字匹配的相关记录进行数据统计(包括:总数、平均值、分段信息),例如:按课程得分为100、9099、8089、7079、6069和不及格学生的人数,以及所占百分比。7、排序:对记录进行排序。例如:按某门课程的成绩排序,或按成绩总分进行排序等。在正确、合理的软件功能规划的基础上,进行各功能模块的设计。建议用文件包含或工程文件形式,进行逐个模块的功能调试与功能实现。切忌将多个功能模块混合一起进行调试。有关C语言程序设计参考,见附录1。五、成

7、绩评定要素成绩分为优、良、中、及格、不及格五档,考核标准如下:1、验收程序的可用性,实用性,通用性,可扩充性(程序设计源代码)(50%)2、学生的动手能力,创新精神(10%) 3.程序设计说明书(30%) 4.平时成绩(10%)六、课程设计报告基本内容要求一、封面(封面格式见附录2)二、目录三、本次课题的基本内容和要求四、软件设计整体规划及方案五、程序功能简介六、主体内容(简要说明总体情况,详细介绍本人任务部分):1、设计分析2、程序结构(画总体模块图、本人设计部分的程序N-S或ANSI流程图)3、各模块的功能及程序说明4、相关模块源程序5、操作方法(流程)6、试验结果(包括输入数据和输出结果

8、)7、设计体会8、参考文献八、设计题(共13题 )1-12题为信息管理类型题目,13题为控制类型题目。每个题目有人数的限制,每位学生可以根据自己的情况独立选择一题作为设计任务,鼓励几个同学搭档分组,分工合作完成。以下题目的基本功能要求仅供参考,建议同学根据实际应用状况及要求,进行合理规划。选题1:销售信息管理系统(建议2-3人)调研、选择一个典型销售案例,实现按月进行销售员销售业绩信息管理。其中,每个销售员记录,包括编号,姓名,产品1销售额,产品2销售额,。产品N销售额,总销售额等信息。具体功能要求参见P3。选题2:职工工资信息管理系统:(建议2-3人)调研、选择一个典型职工信息管理案例,实现

9、按月保存职工的工资数据。其中,每位职工记录,包括编号、姓名、职务基本工资、岗位津贴、其他补贴、应发工资、实发工资;扣除项目包括:所得税、住房公基金、养老金、医疗保险、失业保险、职务、基本工资、奖金,工资总额。具体功能要求参见P3。选题3:图书信息管理系统:(建议2-3人)调研、选择一个典型图书信息管理案例,实现图书库存、借阅信息管理。每本图书的记录信息包括:书号、书名、作者,单价、库存数量、出版时间、出版单位、价格等。具体功能要求参见P3。选题4:材料管理系统:(建议2-3人)调研、选择一个典型仓库材料信息管理案例,实现材料库存、领用信息信息管理。每种材料的记录信息,包括:编号、名称、单价、入

10、库数量、库存数量、出库数量、保管人、进货时间、出货时间和备注等。具体功能要求参见P3。选题5:学生成绩管理系统:(建议2-3人)调研、选择一个典型学生学籍(成绩)信息管理案例,实现以班为单位的学生成绩信息管理。学生成绩的基本信息包括:学号、姓名、五门以上课程成绩、成绩总分、平均成绩等。具体功能要求参见P3。选题6:设备管理系统:(建议2-3人)调研、选择一个典型设备信息管理案例,实现各基层单位的设备资产信息管理。每个设备的记录信息,包括设备编号(8位数)、仪器名称、型号规格、单价、购入日期、领用人、使用状况和备注(50字)。具体功能要求参见P3。选题7:通信录(建议1-2人)以班为单位进行通讯

11、录信息管理。每个记录包括:序号、姓名、性别、年龄、电话,籍贯、现工作单位、家庭住址、通信地址及邮编等。具体功能要求参见P3。选题8:人事信息管理系统(建议2-3人)调研、选择一个典型人事基本信息管理案例,实现某基层单位的人事基本信息管理。人事基本信息包括:职工号(职工号不重复)、姓名、性别、年龄、学历、职称、基本工资、岗位津贴、工资总额、在岗状况等。具体功能要求参见P3。选题9:人员基本信息管理系统 (建议2-3人)调研、选择一个典型人员基本信息管理案例(例如:流动人口管理、小区楼栋居民管理等),实现分片或楼栋为数据库的人员基本信息管理。信息包括:序号,姓名,年龄,性别,出生年月,籍贯,电话,

12、E-mail等。具体功能要求参见P3。选题10:学生选修课程信息管理系统(建议2-3人)调研、选择一个典型学生选课基本信息管理案例,实现对多门课程的选课信息管理。每门课程的基本信息,包括:课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。具体功能要求参见P3。选题11:小学算术运算测试(建议1-2人) 实现不同年级程度的算术运算能力测试(加、差、乘、除)。要求每套试卷共十题,能够根据练习水平和进度随机产生数据和不同运算要求,并建议制答题时间。能判断结果正确性,给出综合评分(包括:答题时间、正确率、总分、累记平均分等),并保存文件/打开文件。选题12:宿舍信息

13、管理系统(建议2-3人)调研、选择一个典型学生宿舍楼的住房基本信息管理案例,实现学生区各个宿舍楼的宿舍信息管理。每个宿舍基本信息包括:楼层号、房间号、面积、可住宿人数、实际住宿人数、修缮状况(良好/待维修)、备注(记录入住人员姓名、性别、年龄、单位等)。具体功能要求参见P3。选题13:基于C语言的模拟电梯系统程序设计(建议每组5-6人)根据“模拟电梯控制任务说明书”的规定,设计实现一个模拟电梯控制的仿真软件,方便进行相关控制策略验证和分析。这一任务可由包含5-6名同学的小组集体完成。通过该作业,希望同学们能够复习巩固结构化程序设计知识,培养良好的程序设计风格与习惯,了解软件开发的整个过程,学习

14、书写简单文档,练习多人合作开发软件。“设计任务说明书”详见附录3。九、上机时间安排表(第18、19周) 星期一星期二星期三星期四星期五星期六星期日第一节电1119班(唐朝晖)18、19周电1120班(唐朝晖)18、19周电1124班(叶华文)18、19周电1125班(叶华文)18、19周电1119班(唐朝晖)18周电1120班(唐朝晖)18周第二节电1120班(唐朝晖)18、19周电1124班(叶华文)18、19周电1125班(叶华文)18、19周电1127班(袁艳)18、19周电1120班(唐朝晖)18周电1124班(叶华文)18周午 休第三节电1124班(叶华文)18、19周电1125班(

15、叶华文)18、19周电1127班(袁艳)18、19周电1119班(唐朝晖)18、19周电1124班(叶华文)18周电1125班(叶华文)18周第四节电1125班(叶华文)18、19周电1127班(袁艳)18、19周电1119班(唐朝晖)18、19周电1120班(唐朝晖)18、19周电1125班(叶华文)18周电1127班(袁艳)18周第五节电1127班(袁艳)18、19周电1119班(唐朝晖)18、19周电1120班(唐朝晖)18、19周电1124班(叶华文)18、19周电1127班(袁艳)18周电1119班(唐朝晖)18周备注1、上午8:00-12:00; 下午:14:00-18:00; 晚

16、上 18:30-20:302、相关老师联系方式: 唐朝晖 叶华文 袁艳 李志民 3、相关班级干部联系方式: 1119班: 1120班: 1124班: 1125班: 1127班:4、课程设计验收时间为19周四,上交课程设计报告时间为19周五。 电气与自动化专业实验室2012年5月22日附录1:C语言程序设计实践课程设计参考及指导设计参考题目:通信录管理系统一、程序组织方法 在Turbo C或VC+6.0中新建一个工程,再按下述方法创建各源程序文件。1将所有包含文件、符号常量定义、数据类型定义存放在头文件task1a.h中,此文件基本不用改动。将所有函数声明存放在头文件task1b.h中,每当定义

17、一个新的函数时,就在此文件中增加一行此函数的声明,并在注释中标明定义此函数的文件。这样在每个源程序文件开头只需有2条包含命令:#include task1a.h#include task1b.h2将main()函数单独存放在一个源程序文件task1000.c中。3将main()函数主菜单中直接调用的函数的定义存放在源程序文件task1100.c、task1200.c、task1300.c、中。4将一些公用的函数的定义存放在源程序文件task1900.c中。5将task1100.c中调用的函数的定义存放在源程序文件task1110.c、task1120.c、task1130.c、中。将task1

18、120.c中调用的函数的定义存放在源程序文件task1121.c、task1122.c、task1123.c、中。6每增加一个模块,调通测试后,将所有源文件复制到一个文件夹保存。文件夹命名的规则和顺序可如下:v0.00, v0.01, v0.02, v0.03, 全部完成后最终保存所有源文件的文件夹命名为v1.00。初始版本v0.00由老师提供。二、部分参考程序1头文件task1a.h的格式和内容:/* prj1: head file prj1a.h */#ifndef PRJ1A_SOFTW05 /* Start of head file prj1a.h */#define PRJ1A_SO

19、FTW05#include stdio.h#include conio.h#include string.h#include stdlib.h#define NODE struct comm_info /* 定义结点类型 */#define LEN sizeof(struct comm_info) /* 定义结点长度 */#define TRUE 1 /* 符号常量定义 */#define FALSE 0 /* 符号常量定义 */#define MAXLINE 1000 /* 符号常量定义 */#define LIMIT /* 符号常量定义 */* 全局变量的定义在prj1030.c文件中 *

20、/extern long count; /* 全局变量声明 */extern NODE * head; /* 全局变量声明 */extern NODE * tail; /* 全局变量声明 */extern NODE * npLIMIT; /* 全局变量声明 */struct comm_info /* 定义通信信息结构体类型 */ long num; /* 编号 */ char group16; /* 分组 */ char name16; /* 姓名 */ char hphone16; /* 固话home_phone */ char mphone16; /* 手机号mobile_phone */

21、 char qq16; /* QQ号码 */ char email20; /* e-mail地址 */ char code10; /* 邮政编码 */ int len; /* 家庭住址或通信地址长度 */ char *addr; /* 家庭住址或通信地址 */ struct comm_info *prev; /* 前向链表指针 */ struct comm_info *next; /* 后向链表指针 */;#endif /* End of head file prj1a.h */2头文件task1b.h的格式和部分内容(可添加更多函数声明):/* prj1: head file prj1b.h

22、 contains only function declarations */#ifndef PRJ1B_SOFTW05 /* Start of head file prj1b.h */#define PRJ1B_SOFTW05/* 所有自定义函数都应在下面加以声明: */void show_version(void); /* 在prj1010.cpp文件中定义 */void login(void); /* 在prj1020.cpp文件中定义 */void set_list(void); /* 在prj1030.cpp文件中定义 */void display(void); /* 在prj110

23、0.cpp文件中定义 */void add_record(void); /* 在prj1200.cpp文件中定义 */void del_record(void); /* 在prj1300.cpp文件中定义 */void find(void); /* 在prj1400.cpp文件中定义 */void modify(void); /* 在prj1500.cpp文件中定义 */void sort(void); /* 在prj1600.cpp文件中定义 */void help(void); /* 在prj1700.cpp文件中定义 */void warn_exit(void); /* 在prj1700

24、.cpp文件中定义 */void save(void); /* 在prj1800.cpp文件中定义 */int menu(void); /* 在prj1001.cpp文件中定义 */void new_data(void); /* 在prj1031.cpp文件中定义 */void old_data(void); /* 在prj1032.cpp文件中定义 */void ptrcopy(void); /* 在prj1033.cpp文件中定义 */int exist(long num); /* 在prj1034.cpp文件中定义 */void ins_node(NODE *p); /* 在prj103

25、5.cpp文件中定义 */void pause(void); /* 在prj1900.cpp文件中定义 */void clrscr(void); /* 在prj1900.cpp文件中定义 */int YesOrNo(void); /* 在prj1900.cpp文件中定义 */ void newline(int n); /* 在prj1900.cpp文件中定义 */ #endif /* End of head file prj1b.h */3源程序文件task1000.c的内容:/* prj1: source file prj1000.cpp contains main() */#include

26、 prj1a.h#include prj1b.h/* 通信录管理系统主函数。*/main(int argc, char *argv) int option; show_version(); login(); set_list(); if ( argc = 1 ) option = menu(); else if ( argc = 2 & (*+argv)0 = - ) switch (*+argv0) case d: option = 1; break; case a: option = 2; break; case r: option = 3; break; case f: option =

27、 4; break; case m: option = 5; break; case s: option = 6; break; case h: option = 7; break; case x: option = 8; break; case q: option = 0; break; default: help(); option = menu(); break; else help(); option = menu(); while ( 1 ) switch (option) case 1: display(); break; case 2: add_record(); break;

28、case 3: del_record(); break; case 4: find(); break; case 5: modify(); break; case 6: sort(); break; case 7: help(); break; case 8: save(); break; case 0: warn_exit(); option = menu(); return 0;4源程序文件task1900.c的内容:/* prj1: source file task1900.cpp contains functions in common use */#include prj1a.h#i

29、nclude prj1b.h/* waiting */void pause(void) printf(nPress any key to continue ); getch();/* clear screen */void clrscr(void) system(cls);/* Get a response: return 0 for No, 1 for Yes */int YesOrNo(void) char r; do r = getch(); while ( r != Y & r != y & r != N & r != n ); if ( r = Y | r = y ) return 1; else return 0;5源程序文件task1100.c的初始内容(为学生提供的初始模板):/* prj1: source file prj1100.cpp contains display() */#include prj1a.h#include prj1b.h/* display records in the list.*/void display(void) clrscr()

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

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