第一篇:实训C,,心得体会
c语言实践心得体会
在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:
1、加深对课堂讲授内容的理解
课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。
通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去掩盖程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。
2、熟悉程序开发环境、学习计算机系统的操作方法 一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓环境就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
3、学习上机调试程序 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。c语言实训心得
在本学期学习c语言将近一个学期后,我们进行了c语言实训,做了一个比较复杂、功能较全的学籍管理系统。虽然实训为期不长,但对我c语言水平的提高和对c的认识理解有很大帮助。在这次实训中,我对c语言有了一个更深的了解认识,也使我这个学期学的知识得到了巩固。虽然在实训中遇到了许多的困难,比方说一开始在文件方面的知识比较薄弱,在对输入的数据保存、已输入条数的统计方面做得不足。但经过自己对文件内容的学习和向他人的请教,在这方面的知识得到补充,问题也得到了解决。在这次实训中,当自己每次解决一个问题时,当自己经过多次调试、修改使程序得以运行时,自己心中那份自信、满足、惬意感油然而生。经过这次实训,使我加强了对c语言的兴趣。
同时在这次实训中,也使我发现了许多的问题。
在实训中,我认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。
同时这次实训也使我更加深化了c语言学习方法。算法是程序的灵魂,在我们每遇到一个比较复杂的编程问题时,我们应该先写出该问题解决的算法,然后再去实现编代码。做到了这样,问题才能更快地解决。软件开发少不了合作,只有合作才能共同提高,只有互补才能取长补短,共同进步。
通过这次实训,我也认识到自己有许多的方面需要改进和有待提高。对于以后,我会从以下几方面继续努力:
1、加强对算法的学习,达到精通一些基本算法的水平。
2、编程多加强实践,多上机学习。
3、打好基础,扎实功底,注重基础理论学习,不好高骛远。
4、加强和同学的合作,遇到问题多讨论,多寻找解决问题的方法,总之,这一切将对我c语言的学习有很大帮助。篇三:c语言实训心得总结 c语言实训心得
10903090113 李新程
在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的同学共同的感受是:c语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了c语言实训的复杂程序。在这里,我作为其中的参与者,感触良多。
在这次实训中,我对对c语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对c语言的学习产生浓厚的兴趣。
还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体会到了老师认真负责的伟大的精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了教室,在讲课中海给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。通过这次实训,也使我们发现了许多问题。
在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。
还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。首先我要继续学习好c语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。
总之,这一切都成为我记忆里面的一个篇章,更是在c语言编程上的一个里程碑。篇四:c语言实训心得 c语言实习心得
两周的上机实习结束了,在这段时间内,我的c语言知识得到了温习,编程能力得到了很大的提高,我觉得这次实习很重要,而且是恰逢其时,当然通过自己编程的过程,也有了一些心得:
编程要的是正确的结果,体会的是艰辛的过程,收获的是好心情。
首先编程的时候你不能觉得这是一个繁琐的过程,在遇到出错的时候要有信心解决,不要害怕出错,不能忽略细节,尤其是对标点以及输入输出函数,要正确使用。其次,编程要有一个扎实的知识储备,没把课本看好,没把例题看好,不会编出正确的程序,同时,如果不多看程序,不断吸收别人的编程思想,就不会编出精彩的程序;当然也不能忽略与别人讨论与请教,在这过程中,我们可以相互交流编程想法,找到解决问题的最佳路径,这种团结协作的精神也是必须要有的。
两周很短,编程的过程却很漫长,思考,编程,改错,运行,这就是编程的感觉。感谢帮助我,还有一起讨论问题的同学,感觉老师细心的指导,在遇到小问题的时候,他也是很耐心的解答,感谢这次上机机会,让我重新温习了c语言,也让我对明年的等级考试更有信心。在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。在这次实训中,我对对c语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对c语言的学习产生浓厚的兴趣。
通过这次实训,也使我们发现了许多问题。
在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。
一年来,我们已经学习了vb语言和c语言,在应用这些语言的过程中,我们的逻辑思维得到了加强,更重要的是我们把在数学上学习到的算法应用到计算机程序中,通过分析问题,调查研究,最终解决问题。尽管每次解决问题的过程不会都很顺利,尤其是在出错的时候总是很难解决那些很细微的错误,比如一个符号打错,或者漏掉一个标点,检查起来都会很麻烦,但是,每次成功的运行,得到的不仅仅是一个正确的结果,更多的是体会到了过程,有了一种成就感,特别是c语言,最能给我这种感觉。
还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。首先我要继续学习好c语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。
总之,这一切都成为我记忆里面的一个篇章,更是在c语言编程上的一个里程碑。篇五:c语言心得体会 《c语言实训报告》 姓名:陶艳琼____________ 班级:计算机网络091班
【500字以内的实训体会】 c语言实训心得体会
在初学c语言的一个学期后,我们进行了c语言阶段,尝试编写各种类型的程序。在为期一个周时间中,我的感受是:c语言实训和平时上课所接触的成有很多不同,所经受的考验和克服的困难和平时的相差不大,遇到不会做的题同学互相讨论,互相帮助,共同解决,攻克了c语言的复杂程序,我感触良多。
在这次实训中,我对c语言有了一个更深的认识了解,也对这学期的知识得到巩固,还尝试了运行编程,每次运行程序成功,让我对下面的项目充满了信心通过自己的努力最终把最初的理论知识转化成基本技能,这次的实训,是我对c语言的学习产生了农活的兴趣。
还是这次实训,最令人激动的就是同学遇到问题互相帮助虽然只是一个很小得实训,但同学们的满腔人情却是值得骄傲的,我们在实训中取长补短在实训中长知识,提高了我们学习,虽然对有些时候老师没给我们指出解决问题的方法有一些小抱怨,但到了结束是才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多的是老师的感动,每天在我们来之前家到了机房,给我们我分享他学c语言的感受,还提醒我们注意在编程时与遇到的事项,这些是我们平时上课无发了解到的知识是我们更 深层次的极大收获。
通过实训我们也发现了许多问题,在试训中我认识到自己还有很多知识没学好,最基本的知识点没有理清楚,而且许多东西要经过翻书,上网查阅,搜索,遇到一小点错误运行不出来,就会烦躁不安,觉得有些自暴自弃或这抱怨题目有些变态,以后要克服,尽量保持一颗蓝好的心态,学好c语言,用c 语言来编写一个按要求的系统。
对于未来,近程下个学期,我觉得我还有许多方面需要提高。
首先我要继续学习好c语言的基础知识,然后能在电脑上熟练的运用。能写出一些程序,上网的时候多看一些优秀的教程和优秀的代码,遇到问题是多和同学讨论,并且多弄出几套方案,多练习自己结局问题的能力和与同学合作的能力。
总之,这一切都成为我记忆里面的一个篇章,更是c语言编程上的一个里程碑。
《c语言程序设计》实训计划
指导教师:毛跃平
一.实训目的《程序设计语言》是计算机相关专业一门专业基础课,通过对《c语言程序设计》的学习,掌握计算机程序设计的基本知识、掌握编写运行程序的步骤,掌握常用的计算机算法,本课程也是实践性较强的课程,为此安排一周实训,能进一步加强巩固理论知识,锻炼解决问题的能力。为继续学习其他课程打下坚实的基础。
二.实训班级
计算机网络技术091班
三.实训日期及时间
2010年6月28日——2010年7月2日,共5天
四.实训要求 ? 要求每一位参加实训的同学认真分析每个题目,认真回答题目给出的问题,在该题..
后面写出解题思路及算法,再编写程序,在计算机调试并运行,最后上交该实训文...................档和源代码。.....
以自己的姓名建立一文件夹,以1-1.c 1-2.c 2-1.c …为源码名保存程序
每一程序顶部的注释中写如下的内容 /* 姓名:xxxx 题目:1.1 日期:2010-6-x */ ? 实训过程中可以相互讨论,查阅相关资料,但一定要自己理解问题并自己动手实成题目,严禁抄袭,一经发现,成绩以零分记。? 注意解题过程中算法的设计,注意分析和理解题目的描述是如何转换为c程序的语
句,体会使用不同解题算法之间的低劣。
五.实训题目
一、基本知识
1.1完成课本p68页第7题
注意:c?9/5(f?32)输入,9/5是求整运算。1.2 输入一个分数(0-100),根据分值,90-100输出’a’,80-89输出’b’, 70-79输出’c’, 60-69输出’d’,其他输出’e’,要求使用switch语句完成。
利用switch的循环结构,注意符号输入 1.3写一程序,实现判断一个整数n是否是素数。
要求判断素数的功能写成一个函数,在main函数中输入要判断的数n,根据该函数的返...............
回值输出相关信息
二、常见推理问题 2.1 有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨7阶,则最后正好一阶不剩.编程求出楼梯的长度。【思路】根据题义,假定该楼梯长为7(请问为何要假定为7,若从其他数开始行不行?),看7能否满足要求,若满足要求,则该楼梯长为,否则,看8,9,10….直到找到一个满足要求的整数n,即该数同时满足n%2==1,n%3==3,n%5==4,n%7==0,则停止循环,输入该数即可(思考,满足这一条件的数是否只有一个)。
因为,每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨7阶,则最后正好一阶不剩.刚好剩一个,不可从其他书开始运行。2.2 jacky和mary养了很多猪。他们想要给猪安家。但是jacky没有足够的猪圈,很多猪只能够在一个猪圈安家。jacky建了3个猪圈,为了保证公平,剩下1头猪就没有地方安家了。mary生气了,骂jacky没有脑子,并让他重新建立猪圈。这回jacky建造了5个猪圈,但是仍然有1头猪没有地方去,然后jacky又建造了7个猪圈,但是还有头没有地方去。jacky都快疯了。你对这个事情感兴趣起来,你想通过jacky建造猪圈的过程,知道jacky家至少养了多少头猪? 2.3 一个猴子吃桃子,每天吃现有桃子数量的 一半 再多一个,到第九天吃完的时候 只剩下1个桃子 ,求原来有多少桃子?
【思路】倒推法,今天吃之前的桃子数=昨天吃的一半少一个,即today=(yesterday/2)-1 ===> yeterday=(today+1)*2 i=10 today=1 推出第9天吃之前的桃子数,再把第9天当作今天(today=yesterday),推出第8天吃之前的桃子数….直到推出第一天吃之前的桃子数为止。(注意循环变量初值和终值是多少)循环变量初值1和终值是1533 2.4 某日,王母娘娘送唐僧一批仙桃,唐僧命八戒去要桃.八戒从娘娘宫里挑上仙桃出发,边走边望着前箩筐中的仙桃咽口水,走到128里时,倍觉心烦腹几饥口干不能再忍,于是找了个僻静处开始吃前头箩筐中的仙桃来,越吃越有兴头,不觉竟将一筐仙桃吃尽,才猛然觉得大事不好.正在无奈之时,发现身后还有一筐,便转悲为喜,将身后的仙桃一分为二,重新上路.以后,每走前一段路的一半,边吃光前一箩筐中的仙桃,才上路.如此这般,最后一里走完,正好遇上师傅.师傅一看,两个箩筐中各有一个仙桃,于是大怒,要八戒交代一路吃了多少个仙桃?八戒掰着指头,好几个时辰也回答不出,请你帮八戒算算他吃了多少仙桃!2.5 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米(请注意下落几次,反弹几次)?第10次反弹多高? 下落12次,反弹11次。
三、穷举搜索算法
此类问题的解题思路是按题目要求及条件,把所有可能的情况都罗列出来,在其中找出符合要求的解。3.1 3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身,即abcd=(ab+cd)2。请求出具有这样性质的全部四位数。
【思考】如何求出一个数的前两位和后两位?循环变量初值要从多少开始,到多少结束,把每个数前两位和后两位拆出来相加再求平方,并判断结果是否等于该数本身,如等则输出,注意输出格式控制。
前两位a=m%100;后两位b=m/100;m为一个四位数,循环变量从第一个符合要求的数开始,高9801.3.2 百钱买百鸡:公元5世纪,我国古代数学家张丘建在《算经》中提出了如下问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
第二篇:实训四C to C
实训四C to C
实训目的和要求
1.掌握CtoC的操作流程;
2.完成两次以上的CtoC交易。
实训环境
奥派电子商务模拟系统
实训内容和步骤
1.卖方:
例:用户登录→进入CtoC模块→注册→登录→发布拍卖商品→管理商品→管理订单
2.买方
例:用户登录→进入CtoC模块→注册→登录→查找所需商品→参与竟拍→竟拍成功→付款→提货
实训结果
例:
1、成功发布了XX产品;并卖给了XX人1件商品。
2、从XX个人成功购买1件XX产品
第三篇:C程序设计实训题目
选题
1、小学生测验
面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。功能要求:
(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;
(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;
(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART” ,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”
2、物业费管理系统
完成小区物业费用管理系统设计。功能要求:
(1)新住户信息的添加。(户主姓名、性别、身份证号、联系电话、楼号、单元号、房号、平米数、每平米物业价格、应缴纳物业费,备注信息)(2)修改住户信息的功能。(3)删除住户信息的功能。
(4)应缴物业费自动生成。每月1号,自动生成本月份的物业费。如果该住户之前的物业费未交清,则本月物业费与之前拖欠费用进行累加,为该用户应缴纳的物业费。
(5)缴费功能。根据用户缴纳金额,修改“应缴纳物业费”。
(6)统计功能:能够按楼号分类统计所有未交清物业费的记录。能够按拖欠款项多少,对所有用户信息进行从大到小排序。(7)用菜单进行管理
3、歌手比赛系统
对一次歌手比赛的成绩进行管理,功能要求:
1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。
2、显示主菜单如下:1)输入选手数据 2)评委打分 3)成绩排序(按平均分)4)数据查询
5)追加学生数据 6)写入数据文件7)退出系统。
4、文件加密 文件的传输会有明文和密文的区别,明文发送是不安全的,用一个程序实现发送文件的加密和解密操作。加密算法,密钥设计由同学自己选择现有的加密解密算法或是自己设计。要求:
(1)对文件的字符根据加密算法,实现文件加密。
(2)对操作给出必要的提示。
(3)对存在的file1.txt文件,必须先打开,后读写,最后关闭。加密后的文件放在file2.txt。
(4)解密文件保存在file3.txt中。
5、职工信息管理系统
设计要求:
(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)写出课程设计报告,具体要求见相关说明文档 功能要求:
职工信息包括:工号,姓名,性别,出生年月,婚姻状况,职称,家庭地址,电话,E-mail等。设计一个职工信息管理系统,使之能提供以下功能:(1)职工信息录入功能(学生信息用文件保存)---输入(2)职工信息浏览功能---输出(3)按工号查询(4)按姓名查询(5)按职称查询
(6)职工信息的删除与修改(7)退出系统
6、图书信息管理系统
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作
(2)图书信息录入功能(图书信息用文件保存)--输入(3)图书信息浏览功能--输出(4)图书信息查询功能--算法
查询方式:按书名查询; 按作者名查询(5)图书信息的删除与修改(可选项)
7、图书管理系统
图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。
功能描述:
(1)新进图书基本信息的输入。(2)图书基本信息的查询。(3)对撤消图书信息的删除。(4)为借书人办理注册。(5)办理借书手续。(6)办理还书手续
要求:使用二进制文件方式存储数据,系统以菜单方式工作
8、实验设备管理系统
实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
主要功能:
1)能够完成对设备的录入和修改 2)对设备进行分类统计
3)设备的破损耗费和遗损处理 4)设备的查询
要求:采用二进制文件方式存储数据,系统以菜单方式工作
9、学生信息管理系统
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 1)系统以菜单方式工作
2)学生信息录入功能(学生信息用文件保存)--输入 3)学生信息浏览功能--输出 4)学生信息查询功能--算法
按学号查询
按姓名查询
5)学生信息的删除与修改(可选项)
10、学生选修课程系统
假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能: 1)系统以菜单方式工作
2)课程信息录入功能(课程信息用文件保存)--输入 3)课程信息浏览功能--输出 4)课程信息查询功能--算法 查询方式:
学分查询
课程性质查询
5)学生选修课程(可选项)
11、学生籍贯信息记录簿
编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息链表并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;
(4)按籍贯查询并输出该籍贯的所有学生;
(5)能添加、删除和修改学生的籍贯信息(可选项);
12、手机电话薄管理系统
用C/C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。功能要求
(1)查看功能:选择此功能时,列出下列三类选择。
A 办公类 B 个人类 C 商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)
(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件)。例如 杨春 *** 商务类 chuny@126.com
当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改
(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。其它要求:
(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)建议使用结构和链表等数据结构
(4)学生可自动增加新功能模块(视情况可另外加分)
13、销售管理系统设计
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额
每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
4)输出统计报表
销售统计报表
产品代号
销售之和
销售员代号 2 3 4 5
每种产品之和 总和
14、单项选择题标准化考试系统设计
一、功能要求:
1、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)
2、试题录入:可随时增加试题到试题库中
3、试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)
4、答题:用户可实现输入自己的答案
5、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
二、其它要求:
1、只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读
2、至少采用文本菜单界面(如果能采用图形菜单界面更好)
3、学生可自动增加新功能模块(视情况可另外加分)
15、工资管理系统
功能设计要求:
1.输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录(系统应能建立一个新的数据文件或给已建立好的数据文件增加记录)。
2.显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。
3.修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5.删除记录:可删除数据文件中的任一记录。
6.统计:(按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。7.保存数据文件功能。
例如:职工工资信息表
ID号 姓名 基本工资 职务工资 津贴 医疗保险-公积金-总工资
01 张望 1286 794 198 109 135 2034 02 李明
1185 628 135 94 114 1740 03 王小民 895 438 98 64 73 1294 04 张效章 1350 868 210 116 150 2162 05 彭山
745 398 84 61 68 1098
各项平均工资 1092.2 625.2 145 88.8 108
16、机房机位预定系统
20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求:(1)系统以菜单方式工作
(2)查询,根据输入时间,输出机位信息。
(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。(4)退出预定,根据输入的时间,机器号撤销该事件的预定!
(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。
17、学生考勤系统
功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、最低要求:建立一个文件,包括同一个班的10个学生的必要信息,能对文件进 行补充、修订、删除。
3、进一步要求:完成包括至少4个班的考勤系统。
要求:
1、用C语言实现系统;
2、函数功能要划分好(结构化程序设计);
3、界面友好(良好的人机交互),加必要的注释;
18、商品订购系统设计
功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部 门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行 补充、修订、删除,能统计所有设备的总价值。
3、进一步要求:完成设备按种类、按所属部门进行统计。
要求:
1、用C语言实现系统;
2、函数功能要划分好(结构化程序设计);
3、界面友好(良好的人机交互),加必要的注释;
19、设备管理系统设计
功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部 门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行 补充、修订、删除,能统计所有设备的总价值。
3、进一步要求:完成设备按种类、按所属部门进行统计。
要求:
1、用C语言实现系统;
2、函数功能要划分好(结构化程序设计);
3、界面友好(良好的人机交互),加必要的注释;
20、飞机订票系统设计
功能:本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D 表示10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个小系统,包括5排座位,两个区域,能供乘客选择;
3、进一步要求:完成全部功能的系统。
要求:
1、用C语言实现系统;
2、函数功能要划分好(结构化程序设计);
3、界面友好(良好的人机交互),加必要的注释;
4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运 行起来,不能运行的程序是没有价值的。
21、电子英汉词典 实现简单电子英汉词典的功能,具体管理操作包括单词的添加、显示、查找、删除、修改和保存等。
功能要求:
1、采用结构体数组,每个数据的结构应当包括:单词的英文拼写,单词的中文释义。
2、系统功能:
a.词条录入:即添加单词记录。
b.信息显示:将所有的单词按字母顺序显示。
c.词条修改:对已经输入的单词信息进行修改。
d.词条删除:删除某个单词记录。
e.单词查询: 输入单词英文拼写,输出该单词的中文释义。
f.信息保存:将单词信息保存到文件。
g.退出系统
3、系统使用说明:执行一个具体的功能之后,程序将重新显示功能菜单。系统的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时,可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。
测试数据: 要求被选用的词条有30个左右,简单单词为主。
22、会员卡计费系统
设计一个会员卡计费管理系统。功能要求:
(1)新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。)(2)会员信息修改。(3)会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信息。)(4)会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。(4)会员退卡。(收回会员卡,并将余额退还,删除该会员信息。)(5)用菜单进行管理(6)统计功能。
能够按每个会员的缴费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
能够按累计消费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
23、家庭财务小官家
个人小管家应用系统给家庭提供了一个管理个人财务的平台,主要用于对家庭成员收入、支出进行添加、查询、删除、修改以及打印的操作,使得家庭财务收支状况一目了然。
主要功能包括:
(1)主菜单。主要包括收入管理、支出管理和退出;(2)添加收入记录;(3)查询收入记录;(4)删除收入记录;(5)修改收入记录;(6)打印收入记录;(7)添加支出记录;(8)查询支出记录;(9)删除支出记录;(10)修改支出记录;(11)打印支出记录;(12)退出系统。
24、车票管理系统
设计要求:
(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)写出课程设计报告,具体要求见相关说明文档 功能要求:
一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如
班次
发车时间
起点站
终点站
行车时间
额定载量
已订票人数
8:00
太原
广汉
2
6:30
太原
成都
0.5
3
7:00
太原
成都
0.5
4
10:00
太原
成都
0.5
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。(3)查询路线:可按班次号查询,,可按终点站查询(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
25、班级档案管理系统
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。功能要求:(1)学生的基本信息应当包括:班号、学号、姓名、性别、年龄。(2)系统应显示这样的菜单: 请选择系统功能项: a
学生基本信息录入 b
学生基本信息显示 c
学生基本信息保存 d
学生基本信息删除 e
学生基本信息修改
f
学生基本信息查询(按学号查询)g
退出系统
(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生基本信息保存到文件中。
第四篇:c语言综合实训
《C语言程序设计》综合实训
一、实训目的:
1、完成C语言程序设计课程的教学之后,通过1周的课程设计可以进一步巩固所学知识,加深理解。
2、指导和促使学生通过各种途径对C语言相关技术内容进行拓展和深入,增强自学能力、软件开发能力等综合能力的培训。
二、综合实训题目:学生成绩管理系统 完成下列功能:
1、初始化:把50个学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。
2、插入:输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。
3、排序:对所有学生按要求排序(1.学号 2.总成绩),并输出。
4、查找:输入一个学生的学号或姓名,找到该学生并输出该学生的全部内容。要求能查询多次。
5、删除:输入一个学生的学号或姓名,找到该学生并删除该学生的全部内容。
6、输出: 输出全部学生的记录。
7、main调用所有函数,实现全部函数功能。
三、设计要求:
1、掌握《C语言程序设计》有关的专业基础知识和程序设计的基本方法。
2、学会利用程序的三种基本结构:顺序结构、选择结构、循环结构解决不同的问题。
3、学会根据实际需求定义变量及类型。
4、掌握过程和函数的定义及调用方法。
5、学会程序调试的基本方法。
四、时间分配:
序课程设计内容
号 1 2 3 4 界面设计 模块设计 程序综合调试 设计报告 总计
时)2 12 6
计学时
非上机时间完成不
时间(学
备注
五、实训报告要求
1、封面
2、目录
3、实训报告内容:
第一章 需求分析
第二章 系统设计
结构图 数据类型
第三章 程序实现
代码
第四章 心得与不足
设计题目 C语言程序设计实训 专业班级 网络101 学生姓名 学号 06 指导教师 张青 起止日期 2012.5.28—2010.6.1 河南化工职业学院
#include
main()
{ int i=9;
while(i)
{
printf(“n1.插入学生信息n”);
printf(“2.修改学生信息n”);
printf(“3.查询学生信息n”);
printf(“0.退出n”);
printf(“请选择功能:”);
scanf(“%dn”,&i);
switch(i)
{case 1:printf(“n1.插入学生信息n”);break;
case 2:printf(“n2.修改学生信息n”);break;
case 3:printf(“n3.查询学生信息n”);break;
default:printf(“n输入有误,重新输入n”);
}
}
}
第五篇:C实训三答案[推荐]
实验三
教学重、难点:程序改错、编程
教学内容:练习四川省计算机等级考试C机试试题
教学过程:
一、评讲实验二课后作业
二、课堂模拟题
1、fun函数功能是在一个字符串,根据给定的插入位置i,插入一个指定的字符ch。如果i超过了字符串的长度,则将字符ch添加到字符串的末尾。
在main函数中,输入一个字符串、插入位置和要插入的一个字符,调用函数fun,最后将插入后的结果输出到屏幕和文件test1-2.dat中。
例如输入abcdefg字符串,给定插入位置为3,插入字符为A。则输出结果为:abcAdefg。若给定的插入位置为20,则输出结果为:abcdefgA。
请改正程序中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。源程序如下: #include
*str {
int j,len;
len=strlen(str);
if(i>len)
<
{
for(j=len-1;j>=i;j++)
j--
str[j+1]=str[j];
str[i]=ch;
str[len]=' ';
str[len+1]
}
else
{
i=len;
str[i]=ch;
str[len+1]=' ';
} } void main(){
char str[81],ch;
int i;
FILE *fp;
fp=fopen(“test1-2.dat”,“r”);
“w”
if(fp==NULL)
{
printf(“file can not open!n”);
exit(0);
}
printf(“Input a string:”);
gets(str);
printf(“Input insert position and character:”);
scanf(“%d,%c”,&i,&ch);
insert(str,i,ch);
printf(“%sn”,str);
fprintf(fp,“%sn”,str);
fclose(fp);}
2、fun函数的功能是统计M行字符串中最长的字符串,并返回最长字符串的字符个数。
在main函数中,从文件test3-1.dat中输入M行字符串(每行字符串的长度不超过80个字符),调用fun函数,然后输出最长字符串的字符个数。
请改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下: # include
int max,lin,i=0,a[M];
char str[M][N];
int fun(char [M][N],int *);
FILE *fp;
if((fp=fopen(“test3-1.dat”,“r”))==null)
{
printf(“Cannot open file.n”);
exit(0);
}
while(!feof(fp))
gets(str[i++],N,fp);
fclose(fp);
fun(str,a);
printf(“max=%dn”,max);} int fun(char str[][N],int a[]){
int i,j=0,max;
for(i=0;i { while(str[i][j])j++; a[i]=i; j=0; } max=a[0]; for(i=1;i if(a[i]>max) max=a[i]; return;} 三、评讲课堂模拟题 四、课后作业 1、fun函数的功能是:将字符串s中的数字字符取出,转换成一个整数,整数作为函数值返回。例如:字符串为“ab12CD34”,则取出数字字符转换成整数1234。 在main函数中调用fun函数,并将转换后的结果写到文本文件test4-1.dat中。请改正程序中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序结构。源程序如下: #define N 20 # include char*s { int i,t=0; for(i=0;s[i]!=' ';i++) if(s[i]>='0'||s[i]<='9') && t=t*10+s[i]; t=t*10+s[i]-„0‟ return t;} void main(){ char s[20]; int t; file *fp; FILE if((fp=fopen(“test4-1.dat”,“w”))==NULL) { printf(“Cannot open file!n”); exit(0); } gets(s); t=fun(s); printf(“t=%dn”,t); fprintf(“t=%dn”,t); fprintf(fp,”t=%dn”,t); fclose(fp);} 2、在main函数中,从文本文件test1-1.dat中读出N个数,调用fun函数,统计其中素数的个数,并在main函数中输出其素数的个数及其所有素数。 请改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。 源程序如下: # include int i,j,k=0; for(i=0;i { for(j=2;j<=*(a+i)/2;j++) if(*(a+i)/j==0)break; *(a+i)%j if(j<*(a+i)/2) { c[k]=a+i; *(a+i) k++; } } return k;} void main(){ int a[N],c[N],cnt,i; FILE *fp; fp=fopen(test5-1.dat,“r”); “test5-1.dat” if(fp==NULL) { printf(“Can not open file!n”); exit(0); } for(i=0;i fscanf(“%d”,a+i,fp); fscanf(fp,”%d”,a+i) cnt=fun(a,c); printf(“amount: %4dn”,cnt); printf(“prime number: ”); for(i=0;i printf(“%4d”,c[i]);}