




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机语言(C)课程设计指导书前言本书是针对在完成前修课程计算机语言(C)基础上的一个课程设计指导书,指导书选出的程序首先是配合前修课程,目的在前修课程基础上通过程序设计的实践训练提高学生的编程能力。 本书的所选的设计题目有不同的应用类型供学生选择。部分题目的算法没有在前修课程中涉及,需要学生查阅、自学有关参考书籍和资料后才能完成。本书使用对象为本科非计算机类的学生,课程设计的时间为一周。设计环境为学校计算机中心,每人一题,每人一台计算机。软件环境要求:windows操作系统,C语言开发工具软件(建议在以下几个版本中选用一种:Turbo C 2.0 、Turbo C 3.0 、 C Free 4.0),Word(用于编写设计报告)。 附录中的实例在Turbo C 2.0环境中调试通过。2007.3目录第一篇 C语言课程设计说明- 1 -第二篇 课程设计题目- 3 -题目一 计算器- 3 -题目二 多项式计算- 4 -题目三 通讯录管理软件- 5 -题目四 成绩记录簿- 5 -第三篇 附录- 6 -附录一 详细设计说明书的编写范例- 6 -附录二 程序范例- 7 -附录三 相关函数- 7 -附录四 参考文献:- 9 - - 11 -第一篇 C语言课程设计说明一. 课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计语言(C)课程后进行的一次全面的综合练习。本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握;2. 掌握C语言编程和程序调试的基本技能;3. 利用C语言进行基本的软件设计;4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力。二. 课程设计要求1. 分析课程设计题目的要求;2. 写出详细设计说明;3. 编写程序代码,调试程序使其能正确运行;4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5. 设计完成后提交课程设计报告(按学校要求装订)和源代码文件的电子文档。三. 课程设计的内容1. 在指导书提供的课程设计题目中选择一题,每个题目限一人完成,题目选定后不可更换;2. 用户提供的主操作界面应该为菜单形式。3. 最后提交的课程设计成果包括:a) 课程设计报告打印稿;b) 课程设计报告电子稿;c) 源程序文件;d) 可执行文件。四. 课程设计报告的内容: 1. 课程设计题目名称、班级号、学号、学生姓名和课程设计起止日期; 2. 课程设计目的和要求; 3. 课程设计任务内容;4. 详细设计说明;5软件使用说明;6. 课程设计心得与体会;7. 附录:1 参考文献 2 程序清单。五. 评分标准:1. 根据平时出勤情况和设计时的工作情况; 2. 根据课程设计程序的完成情况,必须有可运行的软件。3. 根据课程设计报告的质量。课程设计报告不能雷同,雷同的所有人判为不及格。4. 提高水平六. 进度安排:第一天 选择课程设计题目,分析课题的要求,编写详细设计说明;第二天 编写程序;第三天 编程及调试;第四天 写课程设计报告;第五天 面试,交课程设计报告(打印稿及电子稿)。第二篇 课程设计题目题目一 计算器1. 设计要求:输出计算器的用户界面如下:123 +456 -789 *0=/实现整数的算术运算(加、减、乘、除)。 程序只接受界面上显示的字符输入。用户按下数字键时立即输入该数字,不需要用回车键输入,到用户按入运算符时表示前面输入的数字组成为一个运算数,随后再输入的数字为第二个运算数,用户按 = 键后输出运算结果。输入时要检查输入数据的合法性,滤除一切不合法的输入。2. 提高水平:计算器中加入小数点,使计算器能计算浮点数。3. 提示:此题适合在turboc2.0环境中开发,用bioskey()函数一个一个的输入字符,判别输入的字符再做出相应的处理。题目二 多项式计算 1. 设计要求:具备一元多项式加、减、乘的运算功能。(多项式系数的输入和输出均按次数从高到低排列形式安排系数。,最右面的为零次项系数,从右向左依次增加。)例如:多项式加法 输入: 2 -5 0 7 (表示多项式 2x3-5x2+7)3 1 -8 (表示多项式 3x2+x-8)输出 2 -2 1 -1 (2x3-5x2+7)+( 3x2+x-8)= 2x3-2x2+x-1输入的数据项数是不定长的,最多不超过10项,用菜单让用户选择运算类别。菜单格式如下: 多项式计算1. 多项式加法2. 多项式减法3. 多项式乘法0. 退出2. 提高水平增加一元多项式相除的运算功能。其中”除”运算结果用商式和余式表示,即f(x)和g(x) 相除,存在商式q(x)和余式r(x) 使 f(x)= g(x) * q(x) + r(x)。3. 提示:每个多项式的系数分别用一维数组存放,这样可以简化算法。每种运算用函数实现。题目三 通讯录1. 设计要求:通讯录至少应该有以下数据项:姓名,地址,手机,邮编,E-mail。对通讯录应该包含有以下操作:向通讯录中添加信息,在通讯录中按姓名查找个人信息,删除通讯录中的个人信息,按不同数据项排序后列表输出通讯录中所有人的信息。通讯录中记录的数量可以是有限制的。程序的主界面如下: 通讯录1. 添加2. 查询3. 删除4. 排序5. 全部输出0. 退出2. 提高水平在通讯录中增加将数据写入文本文件和从文件读入通讯录的功能,文件名由用户输入。3. 提示在没有使用文件时,通讯录数据可以保存在一个大的数组中,上面列出的数据项应该是字符串类型。题目四 成绩记录簿1. 设计要求:成绩记录簿中记录以下数据:学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分。在程序中可以输入新的成绩记录,可以按学号或姓名查询一个学生的所有成绩,和已完成的总学分。也可以按课程编号查出一个班的成绩表,班成绩表后面要统计平均分,和及格率。程序的主界面如下: 成绩记录簿1. 添加2. 删除3. 查学生成绩4. 查班成绩表0. 退出2. 提高水平在程序中增加将数据写入文本文件和从文件中读入数据的功能,文件名由用户输入。3. 提示在没有使用文件时,数据可以保存在一个大的数组中,要注意的数据项的类型。第三篇 附录附录一 详细设计说明书的编写范例F.1程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符。F.2程序1(标识符)设计说明 从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。 对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。 F.2.1程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是否有返回值等)。 F.2.2功能 说明该程序应具有的功能,可采用输入处理输出的形式。 F.2.3性能 说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。 F.2.4输人项 给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。 数量和频度、输入媒体(例如键盘,文件等)、输入数据的来源和安全保密条件等等。 F. 2. 5输出项 给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、 数量和频度,输出(例如显示器,文件等)、对输出图形及符号的说明、安全保密条件等等。 F.2.6算法 详细说明本程序所选用的算法,具体的计算公式和计算步骤。 F.2.7流程逻辑 用图表(流程图)辅以必要的说明来表示本程序的逻辑流程。 F.2.8接口 用图示的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(结构体等)。 F.2.9存储分配 根据需要,说明本程序的存储分配设计。 F.2.10注释设计 说明准备在本程序中安排的注释,如: a. 加在模块首部的注释; b加在各分枝点处的注释; 对各变量的功能、范围、缺省条件等所加的注释; d对使用的逻辑所加的注释等等。 F.2.11限制条件 说明本程序运行中所受到的限制条件。 F.2.12测试计划 说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果等。附录二 程序范例一个显示菜单的主函数(Turboc 2.0)必须用英文#include stdio.h#include conio.hmain()int x0,y0; char a; while(1) textbackground(1); textcolor(14); clrscr(); a=0,x0=30,y0=3; gotoxy(x0+1,y0); puts( 主 菜 单); gotoxy(x0,y0+=3);puts(1: 打 开 文 件); gotoxy(x0,y0+=2);puts(2: 录 入 数 据); gotoxy(x0,y0+=2);puts(3: 删 除 数 据); gotoxy(x0,y0+=2);puts(4: 数 据 查 询); gotoxy(x0,y0+=2);puts(0: 退 出 ); gotoxy(x0-10,y0+=3);printf(请输入数字选择: ); a=bioskey(0)%256; switch(a) case 1:openfile(); break; case 2:inputdata();break; case 3:deletedata();break; case 4:finddata(); break; case 0:closefile(); exit(0); default: ; 一个显示菜单的主函数(C Free)#includevoid main()void add();void deletedata();void findstudent();void findclass();int a;while(1)printf( =nn);printf( 成 绩 记 录 簿nn);printf( =nn);printf( 1: 添 加n);printf( 2: 删 除n);printf( 3: 查 学 生 成 绩n); printf( 4: 查 班 成 绩 表n);printf( 0: 退 出 nn);printf( =nn);printf( 请输入指令: );loop1:scanf(%d,&a);printf(n); switch(a) case 1:add(); break; case 2:deletedata();break; case 3:findstudent();break; case 4:findclass();break; case 0:exit(0); default: printf(抱歉,你输入的指令错误!nn请重新输入指令:); /输入的指令不存在时重新输入指令 goto loop1; void add()void deletedata()void findstudent()void findclass()附录三 相关函数以下函数的原型都在conio.h中。1、window函数:原型:void window(int left, int top, int right, int bottom);原型在conio.h中。功能:创建矩形字符文本窗口。其左上角的坐标由left,top表示;右下角的坐标由right, bottom表示。注意:一旦该函数调用成功,所有定位坐标都是相对于窗口,而非相对于屏幕。2、clrscr函数原型:void clrscr(void);功能:清除当前字符窗口,将光标定位在左上角(1,1)处。3、textbackground函数原型:void textbackground(int newcolor);功能:设置字符屏幕的背景颜色为newcolor。4、textcolor函数原型:void textcolor(int newcolor); 功能:设置字符屏幕下的字符颜色为newcolor。颜色的枚举说明如下:enum COLORS BLACK,/* dark colors */BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY,/* light colors */LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE;5、gotoxy函数原型:void gotoxy(int x, int y);功能:将字符屏幕的光标移动到x,y所指定的位置。如果其中有一个坐标值无效,则光标不移动。6、gettext函数原型:intgettext(int left, int top, int right, int bottom,void *buf);功能:将左上角的坐标为(left,top),右下角的坐标为(right,bottom)矩形上的字符拷贝到由buf所指向的内存。注意:(1)坐标是屏幕绝对坐标,不是窗口的相对坐标。(2)保存屏幕上一个区域所需要的内存数量可按照公式:rowscolumns2原因是屏幕上每个字符要求两字节的存储单元,一个字节存放字符本身,另一个字节存放该字符的属性(显示属性)。7、puttext函数原型:intputtext(int left, int top, int right, int bottom,void * buf);功能:将原来由gettext函数存储到buf所指向的内存中的字符拷贝到左上角的坐标为(left,top),右下角的坐标为(right,bottom)的矩形区域中。注意:坐标是屏幕绝对坐标,不是窗口的相对坐标。8、bioskey函数原型:int bios
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025幼儿园玩具设备采购合同
- 2025年事业单位工勤技能考试考试题库及答案解析
- 2025年研学旅行指导员、师资格证考试题库含答案【培优b卷】
- 中国邮政2025大庆市秋招风险控制岗位面试模拟题及答案
- 2025年版离婚双方权益保障合同模板版B版
- 2025麻醉考试试题及参考答案
- 中国邮政2025张家界市秋招大堂经理岗位高频笔试题库含答案
- 2025法律合同样例幼儿园门卫用工劳动合同
- 挖机培训安全守则课件
- 2025年驾驶员考试题库试题完美版附答案详解
- 血液透析病人饮食管理
- 机械设计基础 第2章 机构的组成及自由度计算
- 饿了创业成功案例分析
- 脚手架临时开口加固方案
- I类切口手术预防应用抗菌药物制度
- 鞋业模具制作流程
- 第六课 实现人生的价值(精美课件)
- 《水利工程白蚁防治技术规程SLT 836-2024》知识培训
- 网络言论自我管理主题班会
- 《专利及专利查询》课件
- 地下水污染控制与修复
评论
0/150
提交评论