课设说明

时间:2019-05-12 11:48:19下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《课设说明》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《课设说明》。

第一篇:课设说明

财务管理学课程设计

一、课程设计教学目的及基本要求

《财务管理课程设计》是财务管理专业开设的一门实践教学课程。开设本课程的目的和任务,主要是:培养学生运用财务管理的基本理论和方法—财务分析解决实际问题的能力。本课程的先修课程:基础会计学、财务会计学、财务管理学、基本要求:经过本课程设计,要求学生了解财务分析的作用和内容,在理解财务分析方法的基础上,以企业财务报告及其他相关资料为依据,对企业的财务状况和经营成果进行评价和剖析。

二、财务管理学课程设计构成行业分析企业战略分析会计分析财务分析财务预测估值

三、行业分析

必须准确评价不同行业的吸引力大小及由此决定的行业盈利潜力,并进而明确影响一个行业获利性的决定因素,只有这样,才能预测一个行业未来的获利性。此外,由于行业结构影响企业的竞争行为并决定了行业的获利性,所以,行业结构分析对于竞争战略的选择同样是重要的。首先,它有助于企业明确应该怎样通过适当的战略来改变行业结构和竞争行为,并进而增加行业的获利性;第二,了解企业应该如何竞争以满足顾客需求有助于企业认识和明确行业内竞争优势的来源,从而充分利用各种机会。

概括说来,行业结构分析的目的在于:

1、明确影响企业竞争行为和获利性的行业结构的主要特点,同时分析行业结构、竞争态势和获利水平之间的关系。

2、根据行业的回收投资能力评价一个行业的吸引力。

3、根据行业结构的变化趋势预测其未来获利能力的变化。

4、帮助企业寻找和利用影响行业结构的机会以缓解企业之间的激烈竞争,并进而

改善行业的获利性。

5、深入分析行业的竞争态势和顾客需求的特点,以便明确一个行业的关键成功因

素并创造和维持竞争优势。

实际上,有许多行业结构因素影响竞争强度和行业的获利性,同样,也有许多理论和模型用来描述行业结构、竞争行为和获利性之间的关系,如产业组织经济学中的垄断竞争和完全竞争模型。但在实际情况下,上述两个模型描述的竞争状态并不经常发生,为此,哈佛商学院的波特教授提出了分析行业结构的“五因素模型”,这一模型是竞争分析的最主要工具之一,同时被各国学者广泛关注和引用。按照波特的五因素模型,一个行业中的竞争,远不止仅在现有竞争对手之间进行,而是存在着五种基本的竞争力量,即潜在的进入者,替代品的威胁,购买者的讨价还价能力,供应商的讨价还价能力以及现有竞争对手之间的抗衡。我们可以把供应商和购买者的讨价还价看作是来自“纵向”的竞争,而将另外三种竞争力量看作是来自“横向”的竞争,如图所示。

这五种基本竞争力量的状况及其综合强度,决定着行业的竞争激烈程度,同时也决定了行业最终获利能力。对不同行业来说,由五种竞争力量决定了不同的竞争强度,而且会随着行业的发展而变化。在竞争比较激烈的行业,如美国的橡胶业,钢铁业和电子游戏业,我国的化工业、食品加工业和机械加工业,多数企业获利较低;而在竞争相对缓和的行业,如美

国的医药业、软饮料业和数据库出版业,我国的邮电通信业和保险业,许多企业都获利丰厚。一个产业的获利能力和水平并非取决于产品的外观或其技术含量的高低,而是取决于其结构特征。很显然,如果某一行业的产品尽管技术含量很高,但却面临供应商强大的讨价还价能力或面临被其他产品替代的威胁,那么,这一行业的多数企业就很不容易经营。

这五种竞争力量共同决定了行业竞争强度和获利能力。但对不同的行业或某一行业的不同时期,各种力量的作用是不同的,常常是某一种力量或两种力量起支配性作用,其他竞争力量处于较次要的地位。例如,如果一个企业在某一行业中处于极为有利的市场地位,那么,多一些潜在的进入者可能对它构不成威胁;但如果它遇到了高质量、低价格的替代品的竞争,那么,它只能获得低的收益。再如,对于远洋油轮业,关键压力或许是来自买主(如石油公司)的讨价还价,而对我国的核电站来说,降低费用的关键是降低外国供应商的侃价能力。对钢铁业来说,主要压力来自竞争对手之间的争夺和替代品的威胁。应该指出的是,尽管行业结构对行业的竞争强度和获利性具有决定性的影响,但企业也不是完全无能为力,它们可以通过制定适当的战略来谋求相对优势的地位,从而获得更高的盈利。不仅如此,行业内的企业,尤其是处于领先地位的企业还可以通过战略调整改变行业竞争结构,强化自身的领先地位。

四、企业战略分析

企业战略是指企业为了适应未来环境的变化,把战略的思想和理论应用到企业管理当中,寻求长期生存和稳定发展而制订的总体性和长远性的谋划。企业战略体系可分为三个层次:公司总体战略、竞争战略和职能战略。三个层次的战略都是企业战略管理的重要组成部分,但侧重点和影响的范围有所不同。公司总体战略,是企业最高层次的战略,所强调的问题主要是“公司应该做什么业务”。它需要根据企业的目标,选择企业可以竞争的经营领域,合理配置企业经营所必需的资源,使各项经营业务相互支持、相互协调。竞争战略又被称为业务层次战略或战略经营单位战略,主要研究管理者为取得竞争的成功和为顾客提供上乘的价值而制定的行动计划,它主要考察三个基本问题:第一个问题是公司应该在何处竞争,即在哪些市场以及在这些市场应集聚于哪些细分市场?第二个问题是公司产品与哪些产品竞争?第三个问题是在参与竞争的市场,公司应如何实现可持续的竞争优势?职能战略,主要是在实施竞争战略过程中,公司各个职能部门应该发挥什么作用,如财务战略、市场营销战略和人力资源战略等。

五、会计分析

会计分析又称会计质量分析,有时亦称盈余质量分析,就是评估财务报表信息的质量,其目的在于评价企业的会计系统将真实情况表达出来的程度。因此,举凡直接或间接影响会计质量的因素都会对财务分析产生一定的影响。这些直接或间接影响会计质量的因素有制度上的,如会计准则的负面影响;有难以避免的猜测误差,如对应收账款坏账预备计提比率;治理当局对会计政策的选择等等。会计分析是财务分析结论可靠性的保障和前提,只有高质量的会计分析,才能确保财务分析得出正确的结论。那么,应该如何进行会计分析,评估公司的会计质量呢?

1 识别企业关键成功因素。

所谓关键成功因素是指影响企业未来发展,对企业经营成败起决定作用的一些因素,它是由企业所在的行业特点及其确定的竞争策略决定的。比如,银行业成功的关键因素是利息和信贷风险管理;制造业成功的关键因素是产品质量和产品创新的管理;零售业成功的关键因素是存货管理等。如果一个企业的当前财务状况不佳,它在关键成功因素方面表面良好,说明今后的经营状况会很快好转,竞争优势会很快显露出来。因此,分析人员在进行计信息分析时应侧重于分析会计信息对企业关键成功因素的真实反映程度,评企业在关键成功因素方面的表现及其含的风险,这样才能保证对企业未来发展情况有一个准确的估计。

2 评价会计政策

会计政策是企业编报财务报表时所采用的具体原则、基础、惯例、规则和实务,不同的会计政策能够产生不同的经营成果和财务状况。在现有的以会计准则为企业会计政策规范的模式下,对某一种经济事项的会计处理往往有很多备选的会计处理方法,这时企业往往会借助于形式多样的会计政策选择,实现对自己有利的经济后果,如改变折旧政策、变更存货计价方法等等。因此,在进行财务分析的过程中,应就企业会计政策选择的适当性作出评价,进而明确管理者选择会计政策的意图。

一些会计政策的选择是所有企业都应面对的,例如折旧政策(直线和加速折旧)、库存会计政策(后进先出、先进先出或平均成本)、摊销商誉政策和关于职工福利政策等。但并非所有的企业在选择各自的主要会计政策和概算时都有同等的灵活性。一些企业的会计选择受到会计标准和惯例的严格限制。例如,虽然研究开发是高技术公司成功的关键,但是我国管理人员在报告公司业务活动时对此没有相应的会计灵活性,所有研究开发费用都必须计入当期损益。同样,虽然市场营销和树立品牌是消费商品生产商成败的关键,但是要求企业将所有的市场营销开支计入当期费用。相反,信贷风险管理是银行成功的关键因素之一,银行管理人员却可以自由地估计对其贷款的违约行为。还有,对于农业类公司,其生物资产的确认、价值计量,也是一个非常棘手的问题。这样的情况下会计数据对了解企业的经营情况就可能没有直接意义(这也造成不同行业的利润指标缺乏可比性)。所以,关键会计政策的灵活性分析对于把握这类企业的真实业绩是非常必要的。

3 评价披露质量

会计准则只对财务报告披露的最低限度提出了要求,这就给管理人员提供了很大的选择余地。所以披露质量是体现企业会计质量的一个重要方面。下述问题在评价披露质量时是重要的:公司是否披露了充分的资料以评估企业的经营策略和经济效果?脚注是否足以解释主要的会计政策和假设以及相关财务数据的变化?企业是否能充分解释当前的经营状况?如果一段时间的利润率下降了,那么是因为价格竞争,还是因为生产成本上升?若销售和日常管理费用上升,那么是因为企业正在根据追求差别策略进行投资,还是因为非生产性间接费用攀升?如果会计准则制约着企业适当地测定其成功的关键因素,那么企业是否能够透露额外的信息,帮助外界人士了解企业是如何管理这些因素的?例如,如果企业在产品质量和顾客服务方面进行投资,会计准则不允许将这些开销资本化,即使在未来明显能产生收益的情况下也不行。在这样的情况下,报告是否会说明这些开销是如何管理的,其经营结果如何?报告透露坏消息的及时性如何?管理人员处理坏消息的方法可以清楚地反映披露的质量。例如是否可以充分地解释经营状况不佳的原因?公司是否可以使其策略清楚明了,以解决公司的经营问题?

4 确定潜在的危险信号

通过上述分析,研究人员应当对有关严重会计质量问题的特定事项做出标记———危险信号,常用的危险信号有:未加解释的会计变化,尤其是经营很糟糕的时候。这表明管理人员可能正在利用会计随意性“打扮”其财务报表。引起销售增长的应收账款及库存非正常增长。一般情况下,应收账款的非正常增长意味着公司可能过度放松其信用政策,这使企业在随后的时间里由于顾客违约面临注销应收账款的可能。如果加速向销售渠道发货,那么企业可能在随后的时间里面临退货或发货量下降的局面。就库存增加而言,若库存增加是由于产成品存货增加,那么这是企业产品需求下降的信号,表明企业可能被迫削价或减计库存价值;半成品存货的增加,需要结合公司生产能力的变化予以,如果公司生产能力没有扩张,则半成品存货的增加,意味着公司生产效率降低,或者有可能是本期低转销售成本以提高利润。如果原料增加,那么表明生产和采购的效率低下,将导致销售货物的成本增加。企业销售收入与营业现金流量及税务收支之间的差距扩大。应该说,权责发生制下会计数据与现金流量和税务收支不一致是正常的。不过,若公司会计政策保持不变时,它们之间的关系通常是稳定的。如果它们的关系发生变化,可能表明企业应计概算中的变化。举一例子,一家建筑商通常情况下使用一种完工百分比方法记录收入,若这家企业通过采用一种激进的完工百分比方法,使一个阶段的收入增长,虽然利润上升了,但现金流量却不受影响,企业会计概算的这个变化就会通过企业收入和现金流量的关系明显表现出来。如果企业的现金净流量长期低于净利润,将意味着与已经确认为利润相对应的资产可能属于不能转化为现金流量的虚拟资产;若反差数额极为强烈或反差持续时间过长,必然说明有关利润项目可能存在挂账利润或虚拟利润迹象。未预计到的大量资产注销。这表明管理部门对经营环境的变化未能或未能及时并入企业会计概算过程中。年度报告相对于中期报告的大量调整。企业年度报告由审计人员进行审计,但中期报告通常仅是回顾一下而已。如果企业的管理人员不愿意在中期报告中作出恰当的会计估算,那么必须在年终做出调整。这种调整表明企业中期报告激进的会计倾向。缺少市场客观判断的关联交易。通俗地说,就是为了一定的会计目的而在集团内的公司间“调账”。这可能是管理人员随意性和主观性最大的一种了。可注意到一个事实:这类公司股票的市盈率通常都比同一板块的股票低,这是市场的正确定位,而决不是低估了它们。投资者对这些价位“明显偏低”的股票(也往往被有些人称为“最有投资价值”)应格外注意。

5 消除会计扭曲

由于报告数据存在误导,所以要重新列示报告数据以减少扭曲程度。综合现金流量表和财务报表脚注可以帮助研究人员鉴别报告中数据的误导性。例如,现金流量表提供了关于损益表中单个支出项目如何同基本现金流量分开的资料,如果研究人员担心企业将本应计为费用的成本资本化了,那么现金流量表中的信息提供了进行必要调整的依据。又如,当企业改变会计政策时,如果变化是实质性的,那么企业提供的脚注可以说明变化产生的影响。上述的危险信号是进一步研究的起点而不是终点,在得出结论前应进行深入分析。因为这些问题可能有多种解释:一些解释确实是基于经营原因,而另一些才可能是会计质量问题。应注意的几个问题是:第一,保守会计和“激进”会计一样不是好会计。保守会计经常为管理人员提供“平滑收益”的机会,而平滑收益可能阻碍研究人员识别较差的经营状况。第二,不能将非正常会计与有问题的会计相混淆。采取非正常会计选择的企业经营是不能与其他企业经营相比的,但是,若企业的经营本身有特殊性,则这种会计选择也是合理的。例如,奉行某种追求差异策略的企业,可能采取非正常的会计决策,以恰当地反映经营情况。所以,应根据经营策略评价公司的会计选择,不能一概而论。第三,不能把会计政策和应计项目的所有变化都归因于追求收益这个动机上。也许,会计变化可能仅仅反映出经营环境的变动。例如,库存异常增加,可能表明企业正准备引进新产品;同样,应收账款的异常增长可能是企业销售政策变化的结果;坏账准备的异常减少可能反映出企业改变了顾客重点。综上所述,对研究人员来说,重要的是,考虑产生会计变化的所有可能理由,利用财务报表中其他信息来调查这些变化。

六、财务分析(略)

七、财务预测财务计划的编制

一个典型的战略财务规划制定过程可划分为六个步骤:

第一步:战略分析基础上的销售与获利预测。这一工作常常是在汇总各部门的预测基础上的结果。

第二步:制定企业目标。例如,确定销售额,净利润及资本回报率等目标。

第三步:评估实现既定目标的不同方案。包括获取外部资源和开发内部资源的方案。外部资源获取包括多种方式,例如:

(1)并购:包括横向并购与纵向并购。

(2)形成战略联盟。

(3)外包。

内部资源开发也有多种形式,例如:新产品新技术的开发,老产品老技术的改进等。而且这些开发和改进要和设备及能力的投资以及相应融资相配合。

第四步:对第三步中确认的不同方案做详细的财务分析与评估,最终选取某一方案并制定必要的应变计划。

第五步:制定年度(或短期)预算。

年度预算要包括详细的销售,成本,现金等计划。这些计划以责任的形式各个部门以及下级单位。

包含这些年度 计划的总体计划就是企业的战略规划。

第六步:执行计划并监测过程与结果。

对过程加以控制的基本方法是把实际发生的情况和计划要求加心比较,从而决定补偿措施。

在控制过程中的一个非常有效的工具是财务比率。财务计划的主要组成部分

a)销售额预测:对大多数企业来说,销售额预测是财务计划编制的起点。

b)预测报表:

根据预测销售额增长率,以及按照企业战略进行过调整的财务比率,可以对企业的财务报表做出预测。

预测报表编制过程可按下述过程进行:

(1)以预测的销售客以及在战略规划基础上规定的损益表上的相应比率来编制初步损益表。

(2)以初步损益表的预测利润和资产负债表上的相应比率编制初步资产负债表。(3)用长期负债来调平初步资产负债表。

(4)根据初步资产负债表来检验初步损益表的比率的合理性(与资产负债表的一致性,特别是负债与财务费用的一致性)

(5)重新调整预测损益表和资产负债表。

(6)以预测损益表和资产负债表为基础做出预测现金流量表。

(7)对预测报表做比率分析,检验与企业战略一致性。

1.2 企业增长率的确定

从表面上看,制定增长率目标和企业的价值最大化有矛盾,但在实际运作中,如果下述条件满足,则增长率目标和企业价值最大化目标就是一致的。

(1)企业资产与销售额之比为常数(相当于企业的产业性质稳定且资产运营的效率稳定)。

(2)净利润与销售额之比为常数(相当于假定企业的竞争战略既定且竞争优势地位稳定)。

(3)企业的财务杠杆和股利政策稳定。

(4)企业不对权股权资本进行外部再融资。事实上,对进行外部融资的情况可以采用NPV=0的假定,使是否再融资的情况不影响单位股东权益的价值。

设企业长期结拜增长率为g,企业年销售额为S,每年增长△S,则:

gSROE(1h)(1)S1ROE(1h)

上式中的h为红利付出率,(1-h)为利润的再投资率。而上式中的ROE(净资产回报率,即权益资本的真实回报率)是以年末(资产负债表日)的净利润(NI)除以年末净资产的账目值,如果彩年初净资产值则上式变为:

gSROE(1h)(2)S

上面两个公式隐含假定是上面的4项假定。ROE(1-h)是企业的权益资本再投资增长率,即权益资本以g增长,由于资本结构稳定,负债也以g增长,因而销售也将以g增长。

(1)式还可以进一步写成:

gSp(1h)(1L)(3)STp(1h)(1L)

其中:p=NI/S,即净利润除以销售额,又称销售净利润率。

h——股利付出率

L——负债权益比,(1+L)为资产—权益比(又称权益乘数)

T=A/S,即总资产与销售额之比

按照前述四个假定,p,h,L,T均为常数。

(1),(3)式又称为财务计划模型。

第二篇:数据结构课设

数据结构课设 大整数计数器 1.问题描述

实现大整数(200位以内的整数)的加、减、乘、除运算。2.设计要求

设计程序实现两个大整数的四则运算,输出这两个大整数的和、差、积、商及余数。

3.数据结构

本课程设计采用顺序串来实现。4.问题分析

由于整数数据存储位数有限,因此引入串的概念,将整型数据用字符串进行存储,利用字符串的一个字符存储大整数的一位数值,然后根据四则运算规则,对相应位依次进行相应运算,同时保存进位,从而实现大整数精确的运算。具体设计思路如下:

(1)计算大整数加法时,采用数学中列竖式的方法,从个位(即字符串的最后一个字符)开始逐位相加,超过或达到10则进位,同时将该位计算结果存到另一个字符串中,直至加完大整数的所有位为止。

(2)计算大整数减法时,首先调用库函数strcmp判断这两个大整数是否相等,如果相等则结果为0,否则用compare函数判断被减数和减数的大小关系,进而确定结果为正数还是负数,然后对齐位依次进行减法,不够减则向前借位,直至求出每一位减法之后的结果。

(3)计算大整数乘法时,首先让乘数的每一位都和被乘数进行乘法运算,两个乘数之积与进位相加作为当前位乘积,求得当前位的同时获取进位值,进而实现大整数的乘法运算。

(4)计算大整数除法时,类似做减法,基本思想是反复做减法,从被除数里最多能减去多少次除数,所求得的次数就是商,剩余不够减的部分则是余数,这样便可计算出大整数除法的商和余数。

需求分析(1)任何一个表达式都是由操作数、运算符和界限符组成的,我们称之为单词.(2)表达式求值首先要符合四则运算规则: ① 先乘除,后加减 ② 从左到右进行运算 ③ 先括号内,后括号外(3)功能实现: ① 若当前单词为数字串,则压入数值栈 ② 若当前单词为运算符并大于运算栈的栈顶符号,则进栈 ③ 若当前单词为运算符并等于运算栈的栈顶符号,去括号,输出 ④ 若当前单词为运算符并小于运算栈的栈顶符号,则进行运算

课程设计的目的 通过课程设计全面掌握《C语言程序设计》关键知识点,掌握C语言中数组、指针、结构体、文件等方面的基本知识。

通过课程设计了解并掌握C语言程序设计的方法,熟悉C程序设计的开发环境及C程序的

调试过程。

培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研有关问题,学会自己分析、解决问题的方法。

课程设计的任务和要求 任务: 编程求出输入的两个正整数之和,这两个正整数的可能达到200位。

要求:

输入:

共有两行,第一行为第1个正整数;第二行为第2个正整数。

输出:

2个正整数之和。

主要参与成员

姓 名 学 号

系 别 班 级 主要作用(分工)

成果形式

设计 软件 作品 其他:

完成情况及以后的拓展设想 通过用C语言编写函数基本实现了大整数相加这个程序,但该程序仍存在一些不足,还可以加上一些语句使程序具有容错功能,并且可以正确计算一个负数和一个正数相加。

课 程 设 计 鉴 定 情 况 表 小组鉴定意见

小组长签名:

年 月 日

指导教师意见

教师签名:

****年**月**日

课程设计成绩 优 良 及格 不及格 教研室意见

年 月 日 备注 《C语言程序设计》课程设计报告书 作者:廖 序 课程设计概述 课程设计名称

大整数相加 任务要求: 编程求出输入的两个正整数之和,这两个正整数的可能达到200位。

输入:

共有两行,第一行为第1个正整数;第二行为第2个正整数。

输出:

2个正整数之和。开发环境: C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言。1972年,C语言在美国贝尔实验室里问世,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准。

目前,在微机上广泛使用的C语言编译系统有MicrosoftC、Turbo C、Borland C等。这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。

C语言的特点: C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。

由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。

此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

参考资料

李铮、叶艳冰、汪德俊,C语言程序设计基础与应用,清华大学出版社,2005 [2]CSDN技术中心

二、概要设计

为了实现大整数相加这个程序,将程序划分为了三个模块: 输入数据。运算。输出结果。

首先定义了子函数Input()来存储用户输入的两个加数,为了满足任意位数的两个大整数相加,在子函数Input()中嵌套调用子函数Init()使sum数组里面存放的数初始化为”0”。

然后定义子函数Long_Add()使两个大整数作加法运算,从后面往前面相加,附带进位。定义子函数Output()实现输出结果。

最后如下图所示,在主函数main中调用Input(),Long_Add(),Output()三个子函数实现程序。

三、详细设计

程序的流程图:

四、调试过程 第一次 测试数据a=***7,b=111111 编译运行后不能输出结果,检查函数后编译正确。再次分析,发现如果直接把a,b,sum定义为unsigned int型的话,计算出来的和的范围只能在0~65535之间,否则就会出现错误。尝试将a,b,sum存放到字符数组中,从个位开始,一位一位相加。

第二次 测试数据a=***7,b=111111 编译运行后仍不能输出结果。分析原因,在用于输出的子函数Output()中,输出数组字符数组sum[]前未确定和的最高非零位。

尝试加入for(i=0;i

第三次 测试数据a=99999919,b=99 编译运行后发现计算出来结果不正确。经过分析,函数中没有对最后

一个进位进行处理。

尝试加入while(carry > 0)语句,再次进行调试。

{ tempsum = sum[i]-'0'+carry;sum[i] = tempsum%10+'0';carry = tempsum/10;i--;} 第四次 测试数据a=99999919,b=99 编译运行后得到正确结果。

第五次 随意输入几组数据进行测试,结果都是正确的。程序得到实现。

五、结论与体会

通过不断的调试、修改,本课程设计最终实现了200位以内的两个大整数相加,但程序还

可以进一步完善,程序中仍存在一些不足之处,比如缺少容错功能,不能准确计算负整数加正整数,等等问题

虽然C语言程序设计在上学期做为我们的必修课已经学习过了,但书到用时方恨少,这次课程设计的学习程序设计中暴露出的我自身的问题更是非常明显。

一开始看到题目认为非常简单,直接将两个数都定义为整型。编写程序并运行后发现并不能达到题目的要求,计算出来的和只能小于等于65535,否则就会出现错误。分析后,将数据作为字符串来处理,用for循环语句从存数的字符数组中一位一位的取数出来,按照数位对齐,从个位开始,按位相加,逢十进一的运算规则进行运算。最后用字符输出函数putchar()输出计算出来的结果。由于程序偏大且较复杂,将程序划分为了输入数据、运算、输出数据三个子程序。数次编译调试后,最终使程序得以实现。

经过三个星期的上机实践学习,使我对C语言有了更进一步的认识和了解,让我能够进一步的掌握和运用C语言来编写程序。要想学好C语言要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处和薄弱环节。

首先,基础掌握不牢固,对于C语言中的许多基本语法尚没有熟练掌握,在设计过程中仍需请教其它同学,查阅课本,设计效率很低。

其次,经典算法掌握不牢。在完成作业的过程中还需查阅书籍和借鉴他人。

再次,程序量过大的时候,头绪理不清。杂乱无章,无系统性,不便调试和阅览,自己也易于出错。

并且对C语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。

通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。

六、源程序清单 #include #include &l

t;string.h> #define Max 1000 char sum[Max+1];/*和*/ char a[Max],b[Max];/*两个加数*/ int len1,len2;void Input(char a[],char b[]){ int i,len;void Init(char a[]);/*对Init()函数进行声明*/ printf(“Please enter two integer:n”);scanf(“%s %s”,a,b);len1=strlen(a);len2=strlen(b);Init(sum);len=strlen(a);for(i=len-1;i>=0;i--)sum[Max+i-len] = a[i];} void Init(char a[])

{ int i;for(i=0;i

void Long_Add(char sum[],char new[]){ int i,j;int len;int tempsum;int carry = 0;/*进位*/ len = strlen(new);/*从个位开始,按位相加,逢十进一*/ for(i=Max-1,j=len-1;i>=0,j>=0;i--,j--){ tempsum = sum[i]-'0'+new [j]-'0'+carry;sum[i] = tempsum%10+'0';carry = tempsum/10;} while(carry > 0)/*处理最后一个进位*/ {

tempsum = sum[i]-'0'+carry;sum[i] = tempsum%10+'0';carry = tempsum/10;i--;} return;} void Output(char sum[]){int i,n;/*寻找和的最高非零位*/ for(i=0;i

Long_Add(sum,b);Output(sum);getch();return 0;

第三篇:计算机网络课设

计算机网络应用课程设计

报告

系(院):

计算机科学学院 专业班级: 计科11511 姓

名: 钟灿均 学

号: 201503687 指导教师: 余绍文 设计时间: 2017.6.12-2017.6.23 设计地点: 12教1楼机房

一、课程设计目的和意义

计算机网络课程设计的目的,是为了让我们更深入地掌握计算机网络的核心内容,实现理论与实践相结合。让学生用具体的实践成果,体现对理论知识的掌握程度。有利于学生提高计算机网络的实践能力,加深对计算机网络理论知识的理解。其基本目的是:

1. 培养学生理论联系实际的设计思想,训练综合运用所学的基础理论知识,结合生产实际分析和解决网络应用中问题的能力,从而使基础理论知识得到巩固和加深。2. 学习掌握网络应用工程的一般设计过程和方法。

二、设计题目和要求

1.编写程序,实现系统的基本功能;

2.要有用户界面:要求至少采用文本菜单界面;鼓励采用图形菜单界面; 3.写课程设计报告,内容包括:  封面(参见附录I)

 需求分析:以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?给出功能模块图和流程图。同时明确规定:输入的形式和输出值的范围;输出的形式;程序所能够达到的功能;测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。 概要设计:包括程序设计组成框图,程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。

 详细设计:包括模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等),每个模块的算法设计说明(可以是描述算法的流程图)。其中源程序要按照写程序的规则来编写,结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 运行结果:包括典型的界面、输入和输出数据等;

 总结:包括课程设计中遇到的问题,解决问题的过程及体会、收获、对课程设计的认识与思考等。

 附录:包括主要程序清单,要有适当的注释,使程序容易阅读。 开发环境:windows 10

 开发工具: vs2008

题目3:基于UDP协议的简易聊天机器人

设计目标:

1.了解Socket通信的原理,在此基础上编写一个聊天程序; 2.理解upd原理;课程设计系统组成及模块功能: 此课程设计实现了基于UDP的客户/服务器通信程序,需要实现以下一些基本功能: 1.客户端连接聊天机器人服务器;

2.消息发送:客户端发送消息给机器人服务器。

3.消息接收:客户端接收到机器人服务器发送给他的消息。4.可以有多个客户端同时连接

5.智能回复功能:根据用户发送的消息内容,稍微有点智能回复。

运行效果:

服务器端和客户端截图

三、设计内容

1、UDP传送数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步。

2、UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起。

3、UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据。

4、UDP传送数据较TCP快速,系统开销也少。

5、由于缺乏拥塞控制(congestion control),需要基于网络的机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。换句话说,因为UDP发送者不能够检测拥塞,所以像使用包队列和丢弃技术的路由器这样的网络基本设备往往就成为降低UDP过大通信量的有效工具。数据报拥塞控制协议(DCCP)设计成通过在诸如流媒体类型的高速率UDP流中增加主机拥塞控制来减小这个潜在的问题。

从以上UDP协议特点可知,UDP提供的是无连接的、不可靠的数据传送方式,是一种尽力而为的数据交付服务。

1.服务端

1.2.3.4.5.加载协议栈; 创建套接字;

将套接字绑定到一个本地地址和端口bind; 等待接收数据recvfrom;关闭套接字;

2.客户端

1.2.3.4.加载协议栈;

创建套接字socket;

向服务器发送数据sendto;关闭套接字; 3.相关代码显示:(客户端)

int main(int argc, char* argv[]){

system(“@color 0e”);WORD socketVersion = MAKEWORD(2, 2);WSADATA wsaData;if(WSAStartup(socketVersion, &wsaData)!= 0){ } sockaddr_in sin;sin.sin_family = AF_INET;sin.sin_port = htons(8888);sin.sin_addr.S_un.S_addr = inet_addr(m);int len = sizeof(sin);return 0;以上代码为相关版本信息及热启动的一些操作;;

结构体端口号及相关地址信息以及转化函数,将输入的信息转化为计算机可识别的二进制代码,进行相关构造

char * sendData = new char[255];cout << “主人:”;cin >> sendData;while(strcmp(sendData, “#”)!= 0){

sendto(sclient, sendData, strlen(sendData), 0,(sockaddr *)&sin, len);char recvData[255];int ret = recvfrom(sclient, recvData, 255, 0,(sockaddr *)&sin, &len);if(ret > 0){

} recvData[ret] = 0x00;cout << “机器人:”;printf(recvData);4.相关代码展示:(服务端)

SOCKET serSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);if(serSocket == INVALID_SOCKET){

} printf(“socket error!”);return 0;3

if(bind(serSocket,(sockaddr *)&serAddr, sizeof(serAddr))== SOCKET_ERROR){

} sockaddr_in remoteAddr;int nAddrLen = sizeof(remoteAddr);char * sendData = new char[255];char recvData[255];while(true){

int ret = recvfrom(serSocket, recvData, 255, 0,(sockaddr *)&remoteAddr, //printf(recvData);if(ret > 0){

} struct Ro { char recv[255];char send[255];recvData[ret] = 0x00;printf(“接受到一个连接:%s rn”, inet_ntoa(remoteAddr.sin_addr));cout << “主人:”;printf(recvData);printf(“bind error!”);closesocket(serSocket);return 0;以上为对套接字的绑定及判断绑定是否成功,以及对于相关信息的初始化

&nAddrLen);}Ro;FILE *fp;fp = fopen(“G:机器人问答机制.txt”, “r”);while(!feof(fp)){

} fscanf(fp, “%s %s”, Ro.recv, Ro.send);if(strcmp(recvData, Ro.recv)== 0){

} else { } strcpy(sendData, Ro.send);break;strcpy(sendData, “对不起,我不知道”);4

fclose(fp);cout << endl;cout << “机器人:” << sendData << endl;sendto(serSocket, sendData, strlen(sendData), 0,(sockaddr *)&remoteAddr, nAddrLen);

四、设计成果以及心得 1.成果

2.心得

通过对课设的相关的操作,加强了对于相关知识的理解,对于知识的应用也得以加强,在课设过程中,聊天机器人制作较为有趣,对于TCP与UDP的通信方式有了进一步的理解和加强,对于socket编程的相关基础也得以进一步的理解和学习。在今后的学习过程中希望可以将所学知识应用于实际,学以致用。而且对于课设中存在的问题和不足,以及通过老师的讲解,对一些算法加以分析和改进,从而不断完善课设内容,对内容的理解得以加深。

指导老师意见:

成绩:

教师签名: 2017年6月23日

第四篇:课设小结

本次课程设计我们小组顺利的完成了锅炉内胆水温与循环水流量串级控制系统。我们通过讨论对过程参数方面的知识有了更加深入的了解。我负责的是传模拟量采集模块。

和以前做过的课程设计一样,经过两周的课程设计和学习巩固过程,我充分认识到理论联系实际能力的重要性。另外还让我知道设计过程中应自始至终持有严谨的科学态度,不能存有一丝的侥幸心理。首先设计中发现自己的理论知识掌握的不牢固。其次就是在设计过程中出现了很多问题,但是自己不会具体情况具体分析。本次工程实践就是利用THJ-4型过程控制实验装置为硬件基础做锅炉内胆水温控制系统实验分析,采用MCGS组态软件在上位机实现显示和控制。通过本次工程实践,来熟悉工业过程控制的控制流程以及其控制原理。

同学的帮助在为期一周的课设候中有至关重要的作用。因为一个人的能力是有限的。在同学的点滴帮助下不断的自我完善,从而达到目的。

我觉得作为一名自动化专业的学生,传感器的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

第五篇:课设规范

电 子 工 程 学 院 课程设计报告格式及要求

一、封面:单独1页(见样件)

二、摘要、关键词:中文(250~300字)、英文;单独1页

中文摘要前加:“摘要:”,英文摘要前加“Abstract:”。

关键词一般是3-6个,中英文关键词一一对应,中文前冠以“关键词:”,英文前冠以“Key words:”。

三、目录:内容必要对应页码号。目录包括设计总结报告的章节标题、附录的内容所对应的页码。章节标题的排列如下格式进行:

1.........................................................................(第1级)

1.1………………………………………………(第2级)

1.1.1………………………………………(第3级)

(1)……………………………………(第4级)

①……………………………………….(第5级)

a……………………………………….(第6级)

四、正文:正文是设计总结报告的核心。设计总结报告正文的主要内容包含有:系统设计、单元电路设计、软件设计、系统测试、结论等。

字体要求:

设计报告统一用A4纸打印,设计报告正文内容用小四号宋体。报告从正文开始统一编页码。左侧装订。

一级标题:小二号黑体,居中占5行,标题与题目之间空一个汉字的空。二级标题:三号标宋,居中占三行,标题与题目之间空一个汉字的空。三级标题:四号黑体,顶格占两行,标题与题目之间空一个汉字的空。四级标题:小四号粗楷体,顶格占一行,标题与题目之间空一个汉字的空。

标题中的英文字母均采用“Times New Roma”体,字号同标题字号。四级标题下的分级标题的标题字号为五宋。

所有文中图和表要先说明再有图表。图要清晰、并与文中的叙述要一致,对图中内容的说明尽量放在文中。图序、图题(必须有)为小五号宋体,居中排与图的正下方。表序、表题为小五号黑体,居中排于表的正上方;图和表中的文字为六号宋体;表格四周封闭,表跨越时另起表头。

图和表的注释、注脚为六号宋体;数学公式居中排,公式中字母正斜体和大小写前后要统一。

公式另行居中,公式末不加标点,有编号时可靠右侧顶边线;若公式前有文字,例

如、解等,文字顶格写,公式任居中;公式中的外文字母之间、运算符号与各量符号之间应空半个数字的间距;若对公式有说明,可接排,如式中,A-XX(双字线);B-XX;当说明较多时另起行顶格写“式中A-XX”;回行与A对齐写“B-XX”;公式中矩阵要居中且行列上下左右对齐。

物理量及技术术语全文要统一,要采用国际标准。

五、参考文献:参考文献部分应列出在设计过程中参考的主要书籍、刊物、杂志等。参考文献的格式如下:

(1)专著、论文集、学术论文、报告

[序号]主要责任者(.)文献提名[专著([ M ].);论文集([C].);学术论文([ D].);报告([ R].)](.)出版地(:)出版者(,)出版年(.)起止页码(.)

(2)期刊文章

[序号]主要责任者(.)文献提名([ J ].)刊名(,)年(,)卷(期)(:)起止页码(.)

(3)国际、国家标准

[序号]标准编号(,)标准名称([ S ])

六、附录:附录包括元器件明细表、仪器设备清单、电路图图纸、设计的程序清单、系统(作品)使用说明等。

设计要求:单独1页(由指导教师给出)1. 设计报告正文:

一、前言: 总体方案设计:

包括方案比较、方案论证、方案选择(以方框图的形式给出各方案)单元模块设计:

各单元模块功能介绍及电路设计; 电路参数的计算及元器件的选择; 特殊器件的介绍; 各单元模块的联接。软件设计:

① 说明软件设计原理及设计所用工具; 画出软件设计结构图、说明其功能; 画出主要软件设计流程框图。系统调试:

包括系统硬件及软件调试,说明调试方法与调试内容。系统功能、指标参数:

①说明系统能实现的功能;②系统指标参数测试,说明测试方法,要求有测试参数记录表;③系统功能及指标参数分析(与设计要求对比进行)。设计总结:

包括:①对设计的小结;②设计收获体会;③对设计的进一步完善提出意见或建议。

下载课设说明word格式文档
下载课设说明.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    高频课设资料

    一、课程设计目的 由于高频振动器所产生的高频振动信号的功率很小,不能满足发射机天线对发射机的功率要求,所以在发射之前需要经过功率放大后才能获得足够的功率输出。 本次课......

    操作系统课设

    操作系统课程设计 一实验目的 在多道程序或多任务系统中,系统中同时处于就绪态的进程有若干个,也就是说能运行的进程数远远大于处理机个数。为了使系统中的各进程能有条不紊......

    操作系统课设

    课 程 设 计 报 告 课程名称: 计算机操作系统 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 计算机科学与技术学院 华 中 科 技 大 学 课 程 设 计 报 告 目 录 1 2 3 实验目......

    课设心得

    课程设计心得 在这学期的期末课设中我们很幸运的接触到了嵌入式,通过历时两天的课程设计,我们对嵌入式虽然说不上熟练,不过也算是已经入门。 通过老师介绍,我们知道当今社会,嵌入......

    ERP课设

    ERP原理与应用 课程设计报告-电器公司ERP系统应用班级:1121808 姓名:丁贤民 学号:201120180827 指导老师:徐玮 日期:2014.6.25 一. 实验时间和地点: 2014.06.25~2014.06.26 二.......

    EDA课设

    EDA课程设计报告 课题名称:智力竞赛抢答器 班级:11电科2班 姓名:代维宽 学号:201114580207 同组人:闻仔逊 指导老师:贾默伊任务书 一、用VHDL运用层次化设计方法设计一个小型数字......

    课设心得

    财务管理专业综合实验心得201123090133邓雨长安大学渭水校区WX23042014.6.25—6.27摘要:本实验主要是通过使用“理财之道”财务软件,进行预算,报表建立与分析,成本分析,销售分析......

    说课设稿

    《》说课设计 一.说教材 《》是义务教育课程标准试验教科书苏教版()年级的一篇课文,主要…… 二.说目标 《语文课程标准》明确指出,语文课程应致力于学生语文素养的形成。根据新......