C语言课程设计任务书new.doc_第1页
C语言课程设计任务书new.doc_第2页
C语言课程设计任务书new.doc_第3页
C语言课程设计任务书new.doc_第4页
C语言课程设计任务书new.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

前 言程序设计教学并不仅是教会学生程序设计语言规则和使用方法,还是思维的特殊训练和智慧的开启和弘扬。在教学过程中,学生学习能力和技能的培养尤为重要。C语言程序设计课程设计主要目的是锻炼和培养学生实际操作技能和解决实际问题的能力,在程序设计的过程中,让学生积极主动地去探索,使之具有归纳和总结的能力。将基本知识和专业理论学习、职业素质教育与技能训练融入到整个设计过程中。本课程设计指导书是根据我校电子技术类专业的培养目标,以培养学生的编程能力为目的。由于学生学习能力存在着差异,努力的程度不同,所以课程设计的选题非常重要。本课程设计指导书给学生提供“菜单”式的题目,复杂度逐步减弱,学生可以根据自己的能力选择设计题目,对于没有学好的学生,可以选择较易的题目,并在此期间对所学知识进行查缺补漏;对于知识掌握的比较好的学生,可以选择较难的题目,并在此期间对所学知识进一步巩固和扩充,提高编程能力。本课程指导书在编写过程中得到了董晓红副教授的大力支持,在此,表示衷心地感谢!编者 2008年9月C语言程序设计课程设计指导书C语言程序设计课程设计指导书(适用于高等职业技术教育电子技术类专业) 本课程设计是根据教学计划的安排,是高等职业教育电子技术类各专业重要的实践性环节之一,是在学生学习C语言程序设计课程中进行的一次综合训练。一、课程设计的目的通过C语言程序设计的课程设计,巩固和加深学生对C语言课程基本知识的理解和掌握;具有C语言编程和程序调试的基本技能;具有书写程序设计说明文档的能力;提高运用C语言解决实际问题的能力;培养理论联系实际、实事求是、严肃认真的工作作风和科学态度。二、课程设计的基本要求在教师提供的课程设计题目中任意选4个题目,独立完成,题目选定后不可更换。通过课程设计达到以下基本要求:1. 分析课程设计题目,具有一定的需求分析的能力;2. 写出详细设计说明;3. 编写程序代码,调试程序,使其能正确运行;4. 设计完成后提交课程设计报告。三、设计任务题目1 简单密码检测程序(密码自定)编程要求:给下面的程序加密码,若密码正确,计算圆的面积,若错误输入三次密码,则退出。设置的密码须包含字母和数字。/*求圆面积:*/#include#define pi 3.1415926main()float r,s;while(1) printf(nInput r:); scanf(%f,&r); if (r0) /*半径小于零,结束本程序*/ break; s=pi*r*r; printf(s=%.2fn,s); printf(GOOD!);题目2 有8个评委,5个歌手,评委为每个歌手打分。去掉最高分和最低分,求每个歌手的平均分。编程要求:以表格的形式输出每个评委为每个歌手的评分和平均分。题目3在主函数中输入密码(密码自定),若密码正确,输入二个数并且选择运算符,运算符(+、-、*、/)以菜单形式给出,根据选择的运算符调用自定义函数来计算二个数的和、差、积、商。若密码不正确,退出。题目4 对候选人得票统计程序。设有5个候选人,每次输入一个得票的候选人的号,要求最后输出个人得票的结果。编程要求:模拟现实生活中的选举情形,每次只能投两票,且不得重复计票。题目5 假设某单位有10人,职工工资表如下所示,要求奖金按以下条件给出:(1)中级职称的奖金是该职工工资的40%;(2) 高级职称的奖金是该职工工资的60%;(3) 初级职称的奖金是该职工工资的30%。编程要求:以表格的形式输出结果。职工号职称title工资income奖金bonus总收入totalA1101工程师1024.56B1014会计师1102.41B1014助工812.27A1105高工1589.35B1019高会1638.47A1115会计师1017.59A1117助工789.35B1024高工1687.69A1124工程师1024.25B1028高会1815.27题目6 编写一个函数,用来实现字符数字的左右循环移位。自定义的函数名为move,调用方法为move(value,n),其中value为要循环位移的数,n为位移的位数。若n0表示为右移。编程要求:从键盘输入value和n。题目7 将两个字符串s1和s2比较,若s1s2输出一个正数;若s1=s2输出0;若s1s2输出负数。编程要求:不用strcmp函数,输出的正负数应是相比较两个字符串相应字符的ASCII码的差值。题目8 假设有5个学生的信息,包括学号和四门课成绩,计算个人的总成绩,并且按个人的总成绩排序,将结果在屏幕上显示出来。编程要求:用二维数组存储学生的信息,输出内容以个人的总成绩由高至低的顺序显示,且包括学号、各科成绩、总成绩。题目9 同题目8。编程要求:学生信息用结构体类型,输出内容以个人的总成绩由高至低的顺序显示,且包括姓名、各科成绩、总分。四、学习情境和时间进度安排1. C语言课程设计学习情境职业行动能力具有C语言编程和程序调试的基本技能;具有书写程序设计说明文档的能力;具有运用C语言解决实际问题的能力;具有实事求是、严肃认真的工作作风和科学态度。专业内容教学方法程序设计语言规则结构化程序设计顺序结构分支结构循环结构函数和数组演示(指导性的或局部演示)流程:接受设计任务分析任务提出解决方案分析解决方案是否合理(教师指导)编写程序上机调试撰写设计报告总结归纳实验室练习编程调试2. 时间进度安排序号实习内容方式时间(H)备注1设计要求介绍讲授22选择课程设计题目,分析课题的要求 2教师指导3模块设计、程序设计4教师指导4调试操作16教师指导5撰写报告66时间合计30五、步骤及方法设计需求知识,参阅教材、课件和实验指导书。根据表格中的第n列的值用冒泡排序法解决多记录多个数据项的排序问题(参考):.for(i=1;i5;i+) for(j=1;jaj+15) /*根据第5列的值进行由小至大的排序*/ for(k=1;k=5;k+) bjk=ajk;ajk=aj+1k;aj+1k=bjk;strcpy(temp0,namej); /*不能将字符串常量或字符数组赋值给一个字符数组,只能通过字符串复制函数strcpy来实现*/strcpy(namej,namej+1);strcpy(namej+1,temp0); t=numj;numj=numj+1;numj+1=t; .注:二维数组a存放存放学生的科目成绩,二维数组b和二维数组temp是用于排序时的临时数组,二维数组name用于存放姓名,一维数组用于存放学号。题目5参考输出形式如下:题目6参考输出形式如下:题目9参考输出形式如下:六、作业形式学生课程设计结束后,完成课程设计报告书。课程设计报告的内容如下:1. 课程设计目的2. 课程设计要求3. 课程设计内容4. 详细设计说明(软件主要模块说明、流程图)5. 结论和体会6. 源程序清单(带有较详细的注释)七、评价与考核项目考试内容考核方式成绩工作态度1、出勤情况; 2、劳动纪律;平时检查与突击检查20%3、爱学程度; 4、敬业精神。功能模块设计系统设计的正确性平时考查与验收20%程序设计程序设计思想、完成的功能、调试结果根据程序设计和调试情况30%总结报告1、报告的完整性、科学性;2、文字、图表工整规范;3、课程设计报告如有雷同,则所有雷同的所有人均判为不及格。指导教师评审30%八、参考资料1谭浩强.C程序设计(第三版).北京:清华大学出版社,2005 2谭浩强.C程序设计题解与上机指导(第三版).北京:清华大学出版社,2005附录1:一个显示菜单的主函数#includestdio.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(5: 退 出 系 统); gotoxy(x0-10,y0+=3);printf(请输入数字选择: ); a=bioskey(0)%256; switch(a) case 1:circle(); break; case 2:rectangle();break; case 3:trapezia();break; case 4:triangle(); break; case 5:exit(0); default: ; /*计算圆面积*/circle()float r;clrscr();printf(input radius:);scanf(%f,&r);printf(circle area:%8.2fn,3.14*r*r);bioskey(0);/*计算长方形面积*/rectangle()./*计算梯形面积*/trapezia()./*计算三角形面积*/triangle().附录2:字符串常用函数语言提供了丰富的字符串处理函数, 大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。 使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数, 在使用前应包含头文件stdio.h ; 使用其它字符串函数则应包含头文件string.h。1.字符串输出函数 puts 格式: puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串。#includestdio.hmain()static char c=BASICndBASE;puts(c);从程序中可以看出puts函数中可以使用转义字符, 因此输出结果成为两行。puts函数完全可以由printf函数取代。当需要按一定格式输出时,通常使用printf函数。2.字符串输入函数gets 格式: gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。本函数得到一个函数值,即为该字符数组的首地址。#includestdio.hmain()char st15;printf(input string:n);gets(st);puts(st);可以看出当输入的字符串中含有空格时,输出仍为全部字符串。说明gets函数并不以空格作为字符串输入结束的标志, 而只以回车作为输入结束。这是与scanf函数不同的。3.字符串连接函数strcat格式: strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“0”。本函数返回值是字符数组1的首地址。#includestring.hmain()static char st130=My name is ;int st210;printf(input your name:n);gets(st2);strcat(st1,st2);puts(st1);本程序把初始化赋值的字符数组与动态赋值的字符串连接起来。 要注意的是,字符数组1应定义足够的长度,否则不能全部装入被连接的字符串。4.字符串拷贝函数strcpy 格式: strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“0”也一同拷贝。字符数名2, 也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。#includestring.hmain()static char st115,st2=C Language;strcpy(st1,st2);puts(st1);printf(n);本函数要求字符数组1应有足够的长度,否则不能全部装入所拷贝的字符串。#includemain()char str120=I am a student;char str2=people;clrscr();printf(str1=%s,str2=%sn,str1,str2);strcpy(str1,str2);printf(str1=%s,str2=%sn,str1,str2);本例是将str2的值拷贝给了str1。5.字符串比较函数strcmp 格式: strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。字符串1字符串2,返回值0;字符串2字符串2,返回值0;字符串1字符串2,返回值0。本函数也可用于比较两个字符串常量,或比较数组和字符串常量。#includestring.hmain() int k;static char st115,st2=C Language;printf(input a string:n);gets(st1);k=strcmp(st1,st2);if(k=0) printf(st1=st2n);if(k0) printf(st1st2n);if(k0) printf(st10,输出结果“st1st2”。6.测字符串长度函数strlen格式: strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志0) 并作为函数返回值。#includestring.hmain() int k;static char st=C language;k=strlen(st);printf(The

温馨提示

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

评论

0/150

提交评论