最新C语言编写短路电流计算的程序汇总

最新C语言编写短路电流计算的程序汇总
最新C语言编写短路电流计算的程序汇总

C语言编写短路电流计算的程序

初始条件:

如图所示电力系统,最大运行方式时,两个电源同时送电,变压器并联运行,忽略线路电阻,线路电抗0.4?/km。计算k1和k2点在最大运行方式时的三相短路电流。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1.写出三相短路电流的计算方法;

2.用C或FORTRAN语言实现三相短路电流的计算程序;

3.调试程序并求出计算结果;

4.撰写计算方法原理、计算流程文档及设计说明书;

5.提供计算程序代码。

代码使用C++编写的,共有三个文件,请建立工程,一起编译。这是Plural.hpp

#ifndef PLURAL_HPP

#define PLURAL_HPP

//类名称:Plural

//方法:GetR,GetI,SetRI,SetR,SetI

//数据:m_pluralR,m_pluralI

class Plural

{

public:

Plural();

Plural(float pR, float pI);

~Plural();

float GetR() const;

float GetI() const;

void SetRI(float pR, float pI);

void SetR(float pR);

void SetI(float pI);

private:

float m_pluralR;

float m_pluralI;

};

//名称: 复数乘法,PluralMul(Plural plural1, Plural plural2) //参数:复数plural1 plural2

//返回值:复数

Plural PluralMul(Plural plural1, Plural plural2);

//函数名:复数除法,运算浮点数除以复数

//参数:num,分子,是一个浮点数。den,分母,是一个复数//返回值:结果的复数

Plural PluralDiv(float num, Plural den);

//函数名:复数求倒数

//参数:den,分母,是一个复数

//返回值:此复数的倒数

Plural PluralDiv(Plural plu);

//参数:mat为待变换的复数矩阵的数组名,n为阶数

//返回值:无

//说明:变换后的结果依旧保存在mat中

void MatrixInv(Plural *mat, int n);

#endif

#include "plural.hpp"

#include

#include

#include

//类名称:Plural

//方法:GetR,GetI,SetRI,SetR,SetI

//数据:m_pluralR,m_pluralI

Plural::Plural()

{

m_pluralR = 0;

m_pluralI = 0;

}

Plural::Plural(float pR, float pI)

{

m_pluralR = pR;

m_pluralI = pI; }

Plural::~Plural(){}

float Plural::GetR() const

{

return m_pluralR;

}

float Plural::GetI() const

{

return m_pluralI;

}

void Plural::SetRI(float pR, float pI)

{

m_pluralR = pR;

m_pluralI = pI;

}

void Plural::SetR(float pR)

{

m_pluralR = pR;

}

void Plural::SetI(float pI)

{

m_pluralI = pI;

}

// 名称: 复数乘法,PluralMul(Plural plural1, Plural plural2)

// 参数:复数plural1 plural2

// 返回值:复数

Plural PluralMul(Plural plural1, Plural plural2)

{

Plural result;

result.SetRI(plural1.GetR() * plural2.GetR() - plural1.GetI() * plural2.GetI(),plural1.GetR() * plural2.GetI() + plural1.GetI() * plural2.GetR());

return result;

}

//函数名:复数除法,运算浮点数除以复数

//参数:num,分子,是一个浮点数。den,分母,是一个复数

//返回值:结果的复数

Plural PluralDiv(float num, Plural den)

{

Plural result;

float k;

k = den.GetR() * den.GetR() + den.GetI() * den.GetI();

result.SetR(num*den.GetR()/k);

result.SetI(-1.0*num*den.GetI()/k);

return result;

}

//函数名:复数求倒数

//参数:den,分母,是一个复数

//返回值:此复数的倒数

Plural PluralDiv(Plural plu)

{

Plural result;

float k;

k = plu.GetR() * plu.GetR() + plu.GetI() * plu.GetI();

result.SetR(plu.GetR()/k);

result.SetI(-1.0*plu.GetI()/k);

return result;

}

//说明:以下3个函数组合用来求复数矩阵的逆。

double *inv(double *A,double *Ainv,int n);

void mulAB(double *A,double *B,double *C,int am,int an,int bm,int bn);

//参数:mat为待变换的复数矩阵的数组名,n为阶数

//返回值:无

//说明:变换后的结果依旧保存在mat中

void MatrixInv(Plural *mat, int n);

//矩阵求逆。A为原矩阵,Ainv为求逆之后矩阵,n为阶数

double *inv(double *A, double *Ainv, int n)

{

int *is, *js, i, j, k, l, u, v;

double d, p;

for (i=0; i

*(Ainv+i) = *(A+i);

is = (int*)malloc(n*sizeof(int));

js = (int*)malloc(n*sizeof(int));

for (k=0; k<=n-1; k++) {

d=0.0;

for (i=k; i<=n-1; i++) for (j=k; j<=n-1; j++) {

l = i*n+j;

p = fabs(Ainv[l]);

if (p>d)

{

d = p;

is[k] = i;

js[k] = j;

}

}

if (d + 1.0 == 1.0)

{

free(is);

free(js);

return NULL;

}

if (is[k] != k)

for (j=0; j<=n-1; j++) {

u = k*n+j;

v = is[k] * n + j;

p = Ainv[u];

Ainv[u] = Ainv[v]; Ainv[v] = p;

}

if (js[k] != k)

for (i=0; i<=n-1; i++) {

u = i * n + k;

v = i * n + js[k];

p = Ainv[u];

Ainv[u] = Ainv[v]; Ainv[v] = p;

}

l = k * n + k;

C语言简易计算器的实现

目录 一.课程设计目的 (1) 二.设计环境 (1) 三.设计内容 (1) 四.设计说明 (2) 五.设计程序流程图 (2) 六.调试 (4) (1)错误原因分析一 (4) (2)语法错误 (5) (3)逻辑错误 (5) 七. 调试结果图 (6) 八. 结论与心得体会 (7) 九.附录 (8) 具体代码实现 (8) 十.参考文献 (18)

一.课程设计目的 1.通过一个学期的学习,我认为要学号C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践来巩固我 们的知识,特别是学计算机专业的,我们更应该注重这一环节, 只有这样我们才能成为一个合格的计算机人才。通过这一个课程 设计,进一步来巩固所学的语句,如:循环,和分支结构的运用。还要熟悉四则运算和函数的算法。 2.通过这次课程设计扩展自己的知识面,课本上的东西是远 远不够的,可以通过上网或去图书馆查资料等方式得到一些新的 知识, 3.通过课程设计,加深对课程化设计思想的理解,能进行一 个系统功能分析,并设计一个合理的模块化结构,提高程序开发 能力。 二.设计环境 1.硬件:一台完整的电脑,包括键盘、鼠标,最小硬盘空间1GHz 2.软件:安装有Microsoft visual c++6.0 三.设计内容 以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现

简单的加,减,乘,除等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。 (1)定义一个结构体类型数组,输入0~9及+、--、*等符号的信息,将其信息存入文件中; (2)输入简单的加减乘除算术计算式,并在屏幕上显示计算结果; (3)画出部分模块的流程图; (4)编写代码; (5)程序分析与调试。 四.设计说明 1)包含的功能有:加、减、乘、除运算,开方、平方等功能。 (2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 (3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。 (4)计算功能基本上是用系统内部函数。 (5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。 (6)“CE”按钮可以清除所有已输入的数据从头计算 五.设计程序流程图

c语言程序设计课程计算器设计报告

课程设计说明书 题目计算器程序设计 起讫日期 2006 年 7月 3日至 2006 年 8月 6日 所在院系软件学院 专业机械+软件班级 04-2 学生姓名偶偶哦学号 指导教师 2006年 8 月日

摘要 当今社会是信息社会,科技经济高速发展的社会!为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活中的必备品! 随着科技的发展计算器的种类变得更多,功能变得更强大,体积变得更小!电脑的出现改变人们的生活习惯,很多事情都可以电脑来完成!电脑的更大一个优点就是可以通过软件的应用无限的延伸电脑功能的外延!下面我们将用我们学习的c语言编写一个简易的计算器程序!实现简单的初步的计算功能! 本程序的编写基础是Tubro 汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。生成的程序可移植性强兼容性好稳定!现在只实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,以及一个时钟原代码。这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。但是,每次只能运算一个表达式。不能运算多个表达式。在程序里面在添加一组选择函数即可。本论文主要介绍了本课题的开发背景,开发的过程和所要完成的功能。重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。 关键词:C语言 Tubro c 汉化版计算器时钟

目录 第一章综述 (1) 1.1 课题的现实意义 (1) 1.2 软件环境 (1) 1.3 硬件环境 (1) 第二章系统设计流程图 (2) 2.1 系统流程图 (2) 2.2 主要功能表 (2) 第三章系统分析和设计 (3) 3.1 图形的绘制和输出 (3) 3.2 文本的输出显示 (3) 3.3 计算函数的调用 (4) 3.4 程序的运行和退出 (5) 第四章系统测试 (6) 4.1 系统测试 (6) 4.2 调试 (6) 4.3 错误原因分析一 (6) 4.4 错误原因分析二 (6) 第五章用户使用说明书 (8)

单相短路电流计算

1、替代定理 在任意具有唯一解的电路中,某支路的电流为i k ,电压为u k ,那么该支路可以用独立电压源u k ,或者独立电流源i k 来等效替代,如下图所示。替代后的电路和原电路具有相同的解。 图 叠加定理 由全部独立电源在线性电阻电路中产生的任一电压或电流,等于每一个独立电源单独作用所产生的相应电压或电流的代数和。 注意点:(1)只适用于线性电路;(2)一个电源作用,其余电源为零,如电压源为零即电压为零——>短路,电流源为零即电流为零——>开路;(3)各回路电压和电流可以叠加,但功率不能叠加。 3、三相系统及相量图的应用 交流变量 正常的电力系统为三相系统,每相的电压和电流分量均随着时间作正弦变化,三相间相互角偏差为120°,比如以A 相为基准,A 相超前B ,B 相超前C 各120°,就构成正序网络,如下式所示: ) 120sin()360240sin()240sin(); 120sin(); sin( t U t U t U u t U u t U u m m m c m b m a 以A 相为例,因为三角函数sin 是以360°(或2π)为周期变化,所以随着时间t 的流逝,当 t 值每增长360°(或2π)时,电压ua 就经过了一个周期的循环,如下图所示:

图 如上图,t代表时间, 代表t=0时刻的角度(例如上图中ua当t=0时位于原点, ), 表示角速度即每秒变化多少度。例如电网的频率为50Hz,每即代表0 秒变化50个周期,即变化50*360°或者50*2π。此处360°和2π仅是单位制的不同,分别为角度制和弧度制,都是代表一个圆周;值得注意的是用360°来分析问题更加形象,而2π为国际单位制中的标准单位,计算时更通用。 向量的应用 用三角函数分析问题涉及较为繁琐的三角函数计算,图的正弦波形图可表示出不同周期分量的峰值和相差角度,但使用范围有限。为此,利用交流分量随时间做周期变化,且变化和圆周关系密切的特点,引入向量如下,方便交流分量的加减乘除计算:

C语言实现计算器功能

实验一多功能计算器 一、问题描述 设计一个多功能计算器,可以完成基本的计算。 设计要求: 1、具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘R’返回菜单。 例如:输入:2 + 5 输出:7 2、实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下: 例如:输入:2+5 输出:7 二、算法说明 1.数据结构说明(可以图示说明,也可以文字说明) 本程序主要根据选择菜单编写了六个自定义函数,用于在main()函数中调用,在main()中,用一个字符变量num1来记录下菜单选项的标号,根据num1的值来决定调用哪个函数。 程序要完成的功能及所要用到的函数如下:

下面就是整个程序的流程图:

2.算法说明(即函数说明) void suanshuyunsuan() //做算术运算时调用的函数 void suanshuyunsuan2() //选择继续做算术运算调用的函数,将上次运算的结果做为下次算术运算的第一个操作数//判断算术运算就是否继续 void panduan() //判断算术运算就是否继续 void biaodashiyunsuan() //单运算符表达式实现函数 void qingping() //清除屏幕 void fanhuicaidan() //显示菜单 三、测试结果(这部分需文字与图示结合) 1.第一组测试用例 (1)测试输入: 测试目的:测试算术运算的功能 结果输出:

(2)再一次输入:1测试目的:测试算术运算就是否能继续 结果输出: (3)这时输入:0 测试目的:退出算术运算 结果输出:

C语言课程设计 简单计算器程序

课程设计名称:C语言课程设计课程设计题目:简单计算器程序

目录 第1章需求分析 (1) 1.1设计要求 (1) 1.2任务 (1) 第2章总体设计 (2) 2.1设计简介及设计方案论述 (2) 2.2功能模块层次图 (2) 第3章详细设计 (3) 3.3由(后缀)逆波兰表达式计算中缀表达式原理 (8) 3.3.1算法描述 (8) 第4章调试分析 (10) 4.1程序设计中所遇到的错误及犯错的原因 (10) 4.2错误的解决方法 (10) 第5章用户手册 (11) 总结 (15) 参考文献 (16) 附录(程序清单) (17)

第1章需求分析 1.1 设计要求 (1)用 C 语言数据结构实现程序设计; (2)利用结构体、栈、进行相关信息处理; (2)系统的各个功能模块要求用函数的形式实现; (4)界面简单,可操作性高。 1.2任务 (1)定义一个结构体类型数组,输入0~9 及+、--、*等符号的信息,将其信息存储起来; (2)输入简单的加减乘除算术计算式,并在屏幕上显示逆波兰(后缀式)表达式和计算结果; (3)编写代码; (4)程序分析与调试。 说明: 本课程设计将实现一个简单计算器。在功能上尽量模仿windows 的计算器。系统界面不做牵制要求。该程序能实现标准型中+、-、*、/、(、)、.、的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

第2章 总体设计 2.1设计简介及设计方案论述 逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相 关的两个运算对象之间,所以,这种表示法也称为中缀表达式。波兰逻辑学家 J.Lukasiewicz 于 1929 年提出了另一种表示表达式的方法。按此方法,每一运算符都置 于其运算对象之后,故称为后缀表达式。 后缀表达式的优点是显而易见的, 编译器在处理时候按照从左至右的顺序读取逆波 兰表达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最左面一定为数字,这一点在实 际编程的时候就会体会到它的好处了。 逆波兰表达式有一个更大的优点,就是拆括号,根据运算符的级别将中缀表达式转 换成逆波兰表达式后,运算顺序就已经替代了运算符的级别,这样也避免了括号提高运 算级别的特殊处理。 2.2功能模块层次图 将算术表达式转化为逆波兰表达式 计算逆波兰表达式的值 简单计算器 表 达 式 格 式 转 换 系统 求 值 计 算 系 统

某系统单相、两相接地短路电流的计算

1 课程设计的题目及目的 1.1 课程设计选题 如图1所示发电机G ,变压器T1、T2以及线路L 电抗参数都以统一基准的标幺值给出,系统C 的电抗值是未知的,但已知其正序电抗等于负序电抗。在K 点发生a 相直接接地短路故障,测得K 点短路后三相电压分别为Ua=1∠-120,Uc=1∠120. (1)求系统C 的正序电抗; (2)求K 点发生bc 两相接地短路时故障点电流; (3)求K 点发生bc 两相接地短路时发电机G 和系统C 分别提供的故障电流(假设故障前线路中没有电流)。 系统C 发电机G 15.01=T X 15 .00=T X 2T 25.02==''X X d 图1 电路原理图 1.2 课程设计的目的 1. 巩固电力系统的基础知识; 2. 练习查阅手册、资料的能力; 3.熟悉电力系统短路电流的计算方法和有关电力系统的常用软件;

2设计原理 2.1 基本概念的介绍 1.在电力系统中,可能发生的短路有:三相短路、两相短路、两相短路接地和单相短路。三相短路也称为对称短路,系统各相与正常运行时一样仍处于对称状态。其他类型的短路都属于不对称短路。 2.正序网络:通过计算对称电路时所用的等值网络。除中性点接地阻抗、空载线路(不计导纳)以及空载变压器(不计励磁电流)外,电力系统各元件均应包括在正序网络中,并且用相应的正序参数和等值电路表示。 3.负序网络:与正序电流的相同,但所有电源的负序电势为零。因此,把正序网络中各元件的参数都用负序参数代替,并令电源电势等于零,而在短路点引入代替故障条件的不对称电势源中的负序分量,便得到负序网络。 4.零序网络:在短路点施加代表故障边界条件的零序电势时,由于三项零序电流大小及相位相同,他们必须经过大地(或架空地线、电缆包庇等)才能构成回路,而且电流的流通与变压器中性点接地情况及变压器的解法有密切关系。2.2电力系统各序网络的制定 应用对称分量法分析计算不对称故障时,首先必须作出电力系统的各序网络。为此,应根据电力系统的接线图,中型点接地情况等原始资料,在故障点分别施加各序电势,从故障点开始,逐步查明各序电流流通的情况。凡是某一序电流能流通的元件,都必须包括在该序网络中,并用相应的序参数和等值电路表示。除中性点接地阻抗,空载线路以及空载变压器外,电力系统各元件均应包括在正序网络中,并且用相应的正序参数和等值电路表示,如图2所示;负序电流能流通的元件与正序电流的相同,但所有电源的负序电势为零。因次,把正序网络中各元件的参数都用负序参数代替,并令电源电势等于零,便得到负序网络如图3所示;在短路点电流施加代表故障边界条件的零序电势时,由于三相零序电流大小及相位相同,他们必须经过大地才能构成通路,而且电流的流通与变压器中性点接地情况及变压器的接法有密切的关系。如图4所示。利用各序的网络图可以计算出相应的序阻抗。 图2 系统的正序网络

大学计算机c语言计算器源代码

C++语言编写。。 #include #include #include using namespace std; const double pi = 3.14159265; const double e = 2.718281828459; const int SIZE = 1000; typedef struct node//为了处理符号而建立的链表(如: 1+(-2)) { char data; node *next; }node; typedef struct stack_num//存储数的栈 { double *top; double *base; }stack_num; typedef struct stack_char//存储运算符号的栈 { char *top;

char *base; }stack_char; stack_num S_num;//定义 stack_char S_char;//定义 char fu[18] = {'\n', ')', '+', '-', '*', '/', '%', '^', 'Q', 'L', 'C', 'S', 'T', 'c', 's', 't', '('}; int compare[1000];//表现出各运算符号的优先级 double shu[1000];//存储"数"的数组 double dai_result;//运算的结果,是为了处理M运算(简介函数里有M的定义) int biao = 0;//和dia_result一样,为了处理M运算 char line[SIZE];//输入的所要计算的表达式 void init()//初始化 { compare[fu[0]] = -2;//用数字的大小表现出符号的优先级 compare[fu[1]] = -1; compare[fu[2]] = 2; compare[fu[3]] = 2; compare[fu[4]] = 4; compare[fu[5]] = 4; compare[fu[6]] = 4;

两相短路电流计算

根据两相短路电流计算公式:I d=U e/2√(∑R)2+(∑X)2 其中∑R=R1/K b2+R b+R2;∑X=X X+X1/ K b2+X b+X2 式中I d--两相短路电流,A; ∑R、∑X—短路回路内一相电阻、电抗值的总和,Ω; X X—根据三相短路容量计算的系统电抗值,Ω; R1、X1—高压电缆的电阻、电抗值,Ω; K b—矿用变压器的变压比,若一次电压为10KV,二次电压为1200V、690V时,变比依次为8.3、14.5R b、X b—矿用变压器的电阻、电抗值 R2、X2—低压电缆的电阻、电抗值 U e—变压器二次侧的额定电压,对于660V网络,U e以690V 计算;对于1140V网络,U e以1200V计算 经查表: 702高压电缆R1=0.3Ω/Km,X1=0.08Ω/Km; 502高压电缆R1=0.42Ω/Km,X1=0.08Ω/Km; 352高压电缆R1=0.6Ω/Km,X1=0.08Ω/Km; 1140V变压器R b=0.0167,X b=0.1246; 660V变压器R b=0.0056,X b=0.0415; 1140V系统下X X=0.0144; 660V系统下X X=0.0048; 702低压电缆R2=0.315Ω/Km,X2=0.078Ω/Km; 502低压电缆R2=0.448Ω/Km,X2=0.081Ω/Km;

352低压电缆R2=0.616Ω/Km,X2=0.084Ω/Km;252低压电缆R2=0.864Ω/Km,X2=0.088Ω/Km;162低压电缆R2=1.37Ω/Km,X2=0.09Ω/Km; 1、副井井下660V系统最远端两相短路电流 ∑R=R1/K b2+R b+R2=0.539948 ∑X=X X+X1/ K b2+X b+X2=0.118166 I d=U e/2√(∑R)2+(∑X)2=627.27A 2、副井井下1140V系统最远端两相短路电流∑R=R1/K b2+R b+R2=0.27092 ∑X=X X+X1/ K b2+X b+X2=0.20162 I d=U e/2√(∑R)2+(∑X)2=1776.73A 3、副井井下风机专用线最远端两相短路电流∑R=R1/K b2+R b+R2=0.2 ∑X=X X+X1/ K b2+X b+X2=0.086 I d=U e/2√(∑R)2+(∑X)2=1568A 4、主井井下660V系统最远端两相短路电流 ∑R=R1/K b2+R b+R2=0.09 ∑X=X X+X1/ K b2+X b+X2=0.06 I d=U e/2√(∑R)2+(∑X)2=3136A 5、主井井下1140V系统最远端两相短路电流∑R=R1/K b2+R b+R2=0.277 ∑X=X X+X1/ K b2+X b+X2=0.2

C语言制作简单计算器

C语言制作简单计算器 一、项目介绍 我们要用c语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的所有数学知识都很简单,但输入过程会增加复杂性。我们需要检查输入,确保用户没有要求计算机完成不可能的任务。还必须允许用户一次输入一个计算式,例如:32.4+32 或者9*3.2 项目效果图 编写这个程序的步骤如下: ?获得用户要求计算机执行计算所需的输入。 ?检查输入,确保输入可以理解。 ?执行计算。 ?显示结果。 三、解决方案 1.步骤1

获得用户输入是很简单的,可以使用printf()和scanf()。下面是读取用户输入的程序代码: #includeint main(){ double number1=0.0; //定义第一个操作值 double number2=0.0; //定义第二个操作值 char operation=0; //operation必须是'+''-''*''/'或'%' printf("\nEnter the calculation\n"); scanf("%lf%c%lf",&number1,&operation,&number2); return0; } 2.步骤2 接着,检查输入是否正确。最明显的检查是要执行的操作是否有效。有效的操作有+、-、*、/和%,所以需要检查输入的操作是否是其中的一个。 还需要检查第二个数字,如果操作是/或者%,第二个数字就不能是0。如果右操作数是0,这些操作就是无效的。这些操作都可以用if语句来完成,switch语句则为此提供了一种更好的方式,因此它比一系列if语句更容易理解。 switch(operation) { case'+': printf("=%lf\n",number1+number2); break; case'-': printf("=%lf\n",number1-number2); break; case'*': printf("=%lf\n",number1*number2); break; case'/': if(number2==0) printf("\n\n\aDavision by zero error!\n"); else printf("=%lf\n",number1/number2); break;

设计一个简单计算器的C语言课程设计报告

C语言课程设计报告题目:设计一个简单计算器 目录 1. 设计目的 2. 内容

3. 总体设计(有流程图) 4. 源程序编写(附上了运行图) 5. 执行结果 6. 心得体会 一、设计目的 设计一个简单计算器,在功能上功能尽量模拟windows 操作系统中的计算器,系统界面不做强制要求。 全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业

课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。 二、内容 1、程序设计的一般步骤 a、确定数据结构 b、确定算法 C、编程 d、调试 e、总结资料 2、基本要求 a .设计正确,方案合理,能实现相应功能。 b .界面友好,使用方便。 c .程序精炼,结构清晰。 d .设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。 e .上机演示。

三、总体设计(程序设计组成框图、流程图)

四、源程序编与 #in clude #in clude #in clude double jisua n( char a[]) { int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0; char nibo[50],zha n2[50]; double x,n, l,z=0,zha n3[20]; typedef struct { double d1; int d2; }dd; typedef struct {

短路电流大小的限制方法

限制短路电流的方法 2008-06-14 20:18 目前在电力系统中,用得较多的限制短路电流的方法有以下几种:选择发电厂和电网的接线方式;采用分裂绕组变压器和分段电抗器;采用线路电抗器;采用微机保护及综合自动化装置等。 1 选择发电厂和电网的接线方式 通过选择发电厂和电网的电气主接线,可以达到限制短路电流的目的。 在发电厂内,可对部分机组采用长度为40km及以上的专用线路,并将这种发电机—变压器—线路单元连接到距其最近的枢纽变电所的母线上,这样可避免发电厂母线上容量过份集中,从而达到降低发电厂母线处短路电流的目的。 为了限制大电流接地系统的单相接地短路电流,可采用部分变压器中性点不接地的运行方式,还可采用星形—星形接线的同容量普通变压器来代替系统枢纽点的联络自耦变压器。 在降压变电所内,为了限制中压和低压配电装置中的短路电流,可采用变压器低压侧分列运行方式;在输电线路中,也可采用分列运行的方式。在这两种情况下,由于阻抗大,可以达到限制短路电流的目的,不过为了提高供电可靠性,应该加装备用电源自动投入装置。 对环形供电网,可将电网解列运行。电网解列可分为经常解列和事故自动解列两种。电网经常解列是将机组和线路分配在不同的母线系统或母线分段上,并将母线联络断路器或母线分段断路器断开运行,这样可显著减小短路电流。电网事故自动解列,是指在正常情况下发电厂的母线联络断路器或分段断路器闭合运行,当发生短路时由自动装置将母线(或分段) 断路器断开,从而达到限制短路电流的目的。 2 采用分裂绕组变压器和分段电抗器 在大容量发电厂中为限制短路电流可采用低压侧带分裂绕组的变压器,在水电厂扩大单元机组上也可采用分裂绕组变压器。为了限制6~10 kV配电装置中的短路电流,可以在母线上装设分段电抗器。分段电抗器只能限制发电机回路、变压器回路、母线上发生短路时的短路电流,当在配电网络中发生短路时则主要由线路电抗器来限制短路电流。 3 采用线路电抗器 线路电抗器主要用于发电厂向电缆电网供电的6~10kV配电装置中,其作用是限制短路电流,使电缆网络在短路情况下免于过热,减少所需要的开断容量。 4 采用微机保护及综合自动化装置 从短路电流分析可知,发生短路故障后约0.01s时间出现最大短路冲击电流,采用微机保护仅需0.005s就能断开故障回路,使导体和设备避免承受最大短路电流的冲击,从而达到限制短路电流的目的。

C语言课程设计--计算器(图形界面)

扬州大 学 题目一个简易计算器的设计与实现 班级 学号 姓名 指导教师 成绩 老师评语: 扬州大学信息工程学院 2010 年6 月25

目录 一、程序设计目的: (1) 二、程序设计内容: (1) 三、课程设计所补充的内容:补充的函数或算法…………3,4 四、系统总体设计 (4) 五、系统详细设计………………………………………5,6,7,8 六、运行结果………………………………………………8,9,10 七、系统调试…………………………………………8,9,10,11 八、课程设计体会总结………………………………8,9,10,11

1 课程设计目的 (1).课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于C语言对初学者较难掌握,因而对一个完整的C语言程序不适合平时实验。通过课程设计可以达到综合设计C语言程序的目的。 (2)通过本课程设计,可以培养独立思考,综合运用所学有关相应知识的能力,能更好地使用C语言的知识,更好地了解C语言的好处和其可用性!掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础! (3)通过本程序训练程序设计的基本技能,掌握字符串的表示方法和字符串函数的功能、自学掌握四则运算的算法及WIN-TC的图形操作的基本知识、键盘上特殊键的获取及图形方式下光标的显示。 2 课程设计内容 目的:本课程的课程设计要求学生模拟实现一个简单计算器,要求(1)能够实现四则运算,并能支持优先级运算。(2)三角与反三角运算:如sinx,cosx等。(3)指数对数运算:如log(x),lnx,e的x次方等。(4)其他运算:如X!,x 的累加等。(4)不允许调用库函数,使用自行开发的程序实现常用函数运算。(5)进一步考虑计算器外观设计,用可视化界面给出计算器外观、功能按键及输入界面。 使用说明:执行加法运算,'—'表示执行减法运算,表示执行乘法运算,'/'表示除法运算.‘Q’表示退出计算器‘C’表示清零,’=’表示得出结果'^'表示执行x的y次方,'e'表示执行e的x次方操作,'&'表示执行累加操作.,你可以可以用键盘上的上下左右键对光标进行移动,当光标移动到计算器按键上时,按ENTER即可执行该键的操作!最后按“=”则可得出结果。 3 课题设计的补充知识 本程序通过int specialkey(void)和#include来实现对屏幕的操作,通过调用int arrow()函数,int specialkey(void)和#include来实现对光标的操作。计算机图形采用Turbo C 2.0绘图程序制作。因此涉及C的图形程序设计知识。此外,由于不允许调用库函数,则要自行开发程序实现sinx,cosx,e的x次方函数运算,则可以根据幂级数的展开式来设计实现其运算的算法,而x的阶乘和x的累加则可用for语句来实现。 最后,不得不说说四则运算的算法,有两种方法可以实现:(1)利用堆栈实现四则运算(2)还可以用递归整数的四则运算。 sinx函数 #include

某系统单相、两相接地短路电流的计算

1 课程设计的题目及目的 课程设计选题 如图1所示发电机G ,变压器T1、T2以及线路L 电抗参数都以统一基准的标幺值给出,系统C 的电抗值是未知的,但已知其正序电抗等于负序电抗。在K 点发生a 相直接接地短路故障,测得K 点短路后三相电压分别为Ua=1∠-120,Uc=1∠120. (1)求系统C 的正序电抗; (2)求K 点发生bc 两相接地短路时故障点电流; (3)求K 点发生bc 两相接地短路时发电机G 和系统C 分别提供的故障电流(假设故障前线路中没有电流)。 系统C 发电机G 15.01=T X 15 .00=T X 2T 25.02==''X X d 图1 电路原理图 课程设计的目的 1. 巩固电力系统的基础知识; 2. 练习查阅手册、资料的能力; 3.熟悉电力系统短路电流的计算方法和有关电力系统的常用软件;

2设计原理 基本概念的介绍 1.在电力系统中,可能发生的短路有:三相短路、两相短路、两相短路接地和单相短路。三相短路也称为对称短路,系统各相与正常运行时一样仍处于对称状态。其他类型的短路都属于不对称短路。 2.正序网络:通过计算对称电路时所用的等值网络。除中性点接地阻抗、空载线路(不计导纳)以及空载变压器(不计励磁电流)外,电力系统各元件均应包括在正序网络中,并且用相应的正序参数和等值电路表示。 3.负序网络:与正序电流的相同,但所有电源的负序电势为零。因此,把正序网络中各元件的参数都用负序参数代替,并令电源电势等于零,而在短路点引入代替故障条件的不对称电势源中的负序分量,便得到负序网络。 4.零序网络:在短路点施加代表故障边界条件的零序电势时,由于三项零序电流大小及相位相同,他们必须经过大地(或架空地线、电缆包庇等)才能构成回路,而且电流的流通与变压器中性点接地情况及变压器的解法有密切关系。 电力系统各序网络的制定 应用对称分量法分析计算不对称故障时,首先必须作出电力系统的各序网络。为此,应根据电力系统的接线图,中型点接地情况等原始资料,在故障点分别施加各序电势,从故障点开始,逐步查明各序电流流通的情况。凡是某一序电流能流通的元件,都必须包括在该序网络中,并用相应的序参数和等值电路表示。除中性点接地阻抗,空载线路以及空载变压器外,电力系统各元件均应包括在正序网络中,并且用相应的正序参数和等值电路表示,如图2所示;负序电流能流通的元件与正序电流的相同,但所有电源的负序电势为零。因次,把正序网络中各元件的参数都用负序参数代替,并令电源电势等于零,便得到负序网络如图3所示;在短路点电流施加代表故障边界条件的零序电势时,由于三相零序电流大小及相位相同,他们必须经过大地才能构成通路,而且电流的流通与变压器中性点接地情况及变压器的接法有密切的关系。如图4所示。利用各序的网络图可以计算出相应的序阻抗。 图2 系统的正序网络 X c X T X L X T X d ” C V fa(1) G + + +

(完整word版)C语言简易计算器课程设计.doc

C语言课程设计报告书题目:简易计算器 院系: 班级: 学号: 姓名:

摘要 该软件为用户提供在windows 系统上的简易计算器,能进行简单的加、减、 乘、除四则运算与混合运算。目的是为了巩固和加深 C 语言课程的基本知识的理 解和掌握,利用 C语言进行基本的软件设计,掌握 C 语言的编程和程序调试 的基本技能,掌握书写程序设计说明文档的能力,提高运用 C 语言解决实际问 题的能力。 关键词: C; 简易计算器 ; 程序 ; 基本算法;混合运算 SUMMARY the software provides a simple calculator in Windows system for users ,can be a simple add,subtract,multiply,divide.The purpose is to consolidate and deepen the basic knowledge of C language courses to understand and master, The use of C language for software design basic, To master the basic skills of C language programming and program debugging, Master the writing program design documentation ability,improve the ability to use C language to solve practical problems.

C语言编写的计算器源代码

C语言计算器源代码 #include /*DOS接口函数*/ #include /*数学函数的定义*/ #include /*屏幕操作函数*/ #include /*I/O函数*/ #include /*库函数*/ #include /*变量长度参数表*/ #include /*图形函数*/ #include /*字符串函数*/ #include /*字符操作函数*/ #define UP 0x48 /*光标上移键*/ #define DOWN 0x50 /*光标下移键*/ #define LEFT 0x4b /*光标左移键*/ #define RIGHT 0x4d /*光标右移键*/ #define ENTER 0x0d /*回车键*/ void *rar; /*全局变量,保存光标图象*/ struct palettetype palette; /*使用调色板信息*/ int GraphDriver; /* 图形设备驱动*/ int GraphMode; /* 图形模式值*/ int ErrorCode; /* 错误代码*/ int MaxColors; /* 可用颜色的最大数值*/ int MaxX, MaxY; /* 屏幕的最大分辨率*/ double AspectRatio; /* 屏幕的像素比*/ void drawboder(void); /*画边框函数*/ void initialize(void); /*初始化函数*/ void computer(void); /*计算器计算函数*/ void changetextstyle(int font, int direction, int charsize); /*改变文本样式函数*/ void mwindow(char *header); /*窗口函数*/ int specialkey(void) ; /*获取特殊键函数*/ int arrow(); /*设置箭头光标函数*/ /*主函数*/ int main() { initialize();/* 设置系统进入图形模式*/ computer(); /*运行计算器*/ closegraph();/*系统关闭图形模式返回文本模式*/ return(0); /*结束程序*/ } /* 设置系统进入图形模式*/ void initialize(void) { int xasp, yasp; /* 用于读x和y方向纵横比*/

C语言_程序设计_计算器

C语言_程序设计_计算器 课程设计说明书 题目多功能计算器起讫日期 2006 年 7月 3日至 2006 年 8月 6日 所在院系 专业班级 学生姓名学号 指导教师 2006年 8 月 1 日 摘要 当今社会,随着人们物质生活的不断提高,电子产品已经走进家家户户,无论是生活和学习还是娱乐和消遣几乎样样都离不开电子产品,计算器可谓是我们最亲密的电子伙伴之一。 随着科技的发展,人们对计算要求的精确度越来越高,各种不同功能的计算器已经悄悄走进我们的生活和学习中。对于学生来说一个功能齐全的计算器对我们的学习有着莫大的帮助。借着C语言程序设计的机会,我决定自己动手来研究一下计算器。在练习巩固C语言学习的同时又可以从中体会到计算器的强大功能,然而由于学习的内容和时间有限,至今为止我只能实现四则运算加、减、乘、除、平方、立方和开方的一些简单功能,并且在计算器的里面加了一个漂亮的时钟,用来方便我们的学习。在今后的学习中,我会继续研究,争取进一步来完善它的功能。 本系统采用Turbo C语言开发,生成可执行文件在任何系统下都可以执行,具有很好的数据处理能力和稳定性。本论文主要介绍了该课题的开发背景以及过程和

所要完成的功能。并且重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。由于“初来乍到”,这个程序设计还有一些漏洞和缺陷,希望您多多提出~关键字:Turbo c c语言计算器程序四则数值运算 目录 第一章综述...........................................................................1 1(1 课题的现实意义...............................................................1 1(2 软件环境........................................................................1 1(3 硬件环境 (1) 第二章系统设计流程图............................................................2 2(1 系统流程图.....................................................................2 2(2 主要功能表.....................................................................2 第三章系统分析和设计............................................................3 3(1 图形的绘制和输出............................................................3 3(2 文本的输出显示...............................................................3 3(3 计算函数的调用...............................................................4 3(4 程序的运行和退出 (5) 第四章系统测试.....................................................................6 4(1 缺少变量定义,定义位置不正确..........................................6 4(2 语法错误........................................................................6 4(3 注释的位置.....................................................................6 4(4 逻辑错误 (6) 第五章用户使用说明书……………………………………………………8 5(1 运行Turbo C程序进入计算器界面…………………………………8 5(2 计算器的使

电力系统分析短路电流的计算汇总

1课程设计的题目及目的 1.1课程设计选题 如图所示发电机G ,变压器T1、T2以及线路L 电抗参数都以统一基准的标幺值给出,系统C 的电抗值是未知的,但已知其正序电抗等于负序电抗。在K 点发 生a 相直接接地短路故障,测得K 点短路后三相电压分别为0=a U , 1201-∠=b U , 1201∠=c U 。试求:(1)系统C 的正序电抗; (2)K 点发生bc 两相接地短路时故障点电流; (3)K 点发生bc 两相接地短路时发电机G 和系统C 分别提供的故障电流(假设故障前线路电流中没有电流)。 系统C 发电机G 15. 01=T X 15 . 00=T X 25 . 02=T X 25. 02==''X X d 图1-1

1.2课程设计的目的 1. 巩固电力系统的基础知识; 2. 练习查阅手册、资料的能力; 3.熟悉电力系统短路电流的计算方法和有关电力系统的常用软件; 2短路电流计算的基本概念和方法 2.1基本概念的介绍 1. 在电力系统中,可能发生的短路有:三相短路、两相短路、两相短路接地和单相短路。三相短路也称为对称短路,系统各相与正常运行时一样仍处于对称状态。其他类型的短路都属于不对称短路。 2. 正序网络:通过计算对称电路时所用的等值网络。除中性点接地阻抗、空载线路(不计导纳)以及空载变压器(不计励磁电流)外,电力系统各元件均应包括在正序网络中,并且用相应的正序参数和等值电路表示。 3. 负序网络:与正序电流的相同,但所有电源的负序电势为零。因此,把正序网络中各元件的参数都用负序参数代替,并令电源电势等于零,而在短路点引入 代替故障条件的不对称电势源中的负序分量,便得到负序网络。 4. 零序网络:在短路点施加代表故障边界条件的零序电势时,由于三项零序电流大小及相位相同,他们必须经过大地(或架空地线、电缆包庇等)才能构成回路,而且电流的流通与变压器中性点接地情况及变压器的解法有密切关系。 2.2 短路电流计算的基本方法 1. 单相(a相接地短路 单相接地短路是,故障处的三个边界条件为: 0fa V = ; 0fb I = ; 0fc I =

两相接地短路电流的计算

目录 1?前言........................................................................... ?仁1.1短路电流的危害 ............................................................... 1.. 1.2短路电流的限制措施 .......................................................... 1. 1.3短路计算的作用 .............................................................. 2.. 2.数学模型 (3) 2.1对称分量法在不对称短路计算中的应用 (3) 2.2电力系统各序网络的制订 ....................................................... 9. 2.3两相接地短路的数学分析 (10) 2.4变压器的零序等值电路及其参数 (10) 3两相接地短路运行算例............................................................ 1.4 4. 结果分析....................................................................... 1.8. 5. 心得体会 (19) 6. 参考文献....................................................................... 20.

相关文档
最新文档