simple c programs
Download
Skip this Video
Download Presentation
Simple C++ Programs

Loading in 2 Seconds...

play fullscreen
1 / 51

Simple C Programs - PowerPoint PPT Presentation


  • 157 Views
  • Uploaded on

Simple C++ Programs. ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne. Program Structure. Object-Based Programming Program Structure Dev-C++. Object-Based Programming. Object-Oriented Programming Identify the data requirements of the problem

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Simple C Programs' - shae


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
simple c programs

Simple C++ Programs

ELEC 206

Computer Applications for Electrical Engineers

Dr. Ron Hayne

program structure
Program Structure
  • Object-Based Programming
  • Program Structure
  • Dev-C++

206_C2

object based programming
Object-Based Programming
  • Object-Oriented Programming
    • Identify the data requirements of the problem
    • How the data will be used in the program
  • Abstract Data Types
    • Class
    • Inheritance

206_C2

c program
C++ Program

/*-----------------------------------------------*/

/* Program chapter1_1 */

/* */

/* This program computes the distance between */

/* two points */

#include <iostream>

#include <cmath>

using namespace std;

206_C2

c program5
C++ Program

int main()

{

// Declare and initialize objects

double x1(1), y1(3), x2(4), y2(7),

side1, side2, distance;

// Compute sides of right triangle

side1 = x2 - x1;

side2 = y2 - y1;

distance = sqrt(side1 * side1 + side2 * side2);

206_C2

c program6
C++ Program

// Print distance

cout << "The distance between the two points is "

<< distance << endl;

// Windows friendly exit

system("PAUSE");

return 0;

}

/*----------------------------------------------*/

206_C2

program structure7
Program Structure
  • Comments

/*-----------------------------------------------*/

/* Program chapter1_1 */

// Declare and initialize objects

  • Preprocessor Directives

#include <iostream>

#include <cmath>

  • Using Directive

using namespace std;

206_C2

program structure8
Program Structure
  • Main Function

int main()

{

}

  • Declarations
    • object types
    • initial values

// Declare and initialize objects

double x1(1), y1(3), x2(4), y2(7),

side1, side2, distance;

206_C2

program structure9
Program Structure
  • Statements

// Compute sides of right triangle

side1 = x2 - x1;

side2 = y2 - y1;

distance = sqrt(side1 * side1 + side2 * side2);

// Print distance

cout << "The distance between the two points is "

<< distance << endl;

  • Return

return 0;

206_C2

general program structure
General Program Structure

preprocessing directives

int main()

{

declarations;

statements;

}

206_C2

dev c
Dev-C++
  • Bloodshed Software
    • http://www.bloodshed.net/dev/devcpp.html
    • Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2
    • Download from:
      • SourceForge

206_C2

dev c12
Dev-C++

New Source File

Compile

Run

206_C2

windows friendly exit
Windows Friendly Exit

// Windows friendly exit

system("PAUSE");

return 0;

206_C2

summary
Summary
  • Object-Based Programming
  • Program Structure
  • Dev-C++

206_C2

simple c
Simple C++
  • Constants and Variables
  • C++ Operators
  • Standard Input and Output

206_C2

constants and variables
Constants and Variables
  • Objects
    • Constants
      • Specific values
    • Variables
      • Memory locations
    • Identifiers
      • Begin with alphabetic character
      • Lowercase or uppercase letters (case sensitive)
      • Can contain digits (not first character)
      • Cannot be a keyword

206_C2

scientific notation
Floating-Point

2.5, -0.004, 15.0

Scientific Notation

25.6 = 2.56 x 101

-0.004 = -4.0 x 10-3

Exponential Notation

25.6 = 2.56e1

-0.004 = -4.0e-3

Mantissa

Precision

Example

Exponent

Range

Scientific Notation

206_C2

numeric data types
Numeric Data Types
  • Integers
    • short
    • int
    • long
  • Floating-Point
    • float
    • double
    • long double

206_C2

boolean data type
Boolean Data Type
  • Example

bool error(false), status(true);

cout << error << endl << status;

  • Program Output

0

1

206_C2

character data type
Character Data Type
  • ASCII
    • Appendix B
    • 7-bit binary
  • Character Constant
    • Single quotes
      • \'A\', \'b\', \'3\'
    • Can be interpreted as character or integer
      • \'3\' != 3

206_C2

string data
String Data
  • String Constant
    • Sequence of characters
    • Double quotes
      • "Fred","C17"
  • String Objects
    • string class

206_C2

string class
String Class

/*-----------------------------------------------*/

/* This program prints a greeting */

/* using the string class. */

#include <iostream>

#include <string> // Required for string class

using namespace std;

206_C2

string class23
String Class

int main()

{

// Declare and initialize two string objects.

string salutation("Hello"), name("Jane Doe");

// Output greeting.

cout << salutation << \' \'

<< name << \'!\' << endl;

// Exit program.

return 0;

}

Hello Jane Doe!

206_C2

symbolic constants
Symbolic Constants
  • Const
    • Declared and initialized
    • Cannot be changed within the program

const double PI = acos(-1.0);

const double LightSpeed = 2.99792e08;

206_C2

c opeartors
C++ Opeartors
  • Assignment Operator
    • identifier = expression;
  • Expression
    • Constant, Object, Result of an Operation

double sum(10.5);

int x1(3);

char ch(\'a\');

  • double sum;
  • int x1;
  • char ch;
  • sum = 10.5;
  • x1 = 3;
  • ch = \'a\';

206_C2

assignment operator

info lost

no loss

Assignment Operator
  • Multiple Assignments

x = y = z = 0;

  • Type Conversion
    • long double
    • double
    • float
    • long integer
    • integer
    • short integer

206_C2

arithmetic operators

Precedence

2

3

4

Arithmetic Operators
  • Unary Operators
    • Positive +
    • Negative -
  • Binary Operators
    • Multiplication *
    • Division /
    • Modulus %
    • Addition +
    • Subtraction -

206_C2

mixed operations
Mixed Operations
  • Operation between values of different types
    • Value of lower type promoted
    • Cast Operator
      • (type)
    • Examples

206_C2

expressions
Expressions
  • Distance = x0 + v0t + at2

double distance, x0, v0, a, t;

distance = x0 + v0*t + a*t*t;

  • Tension = ?

206_C2

increment and decrement
Increment and Decrement
  • Unary Operators
    • Increment ++
    • Decrement --
  • Prefix ++count
  • Postfix count--
  • Examples

206_C2

abbreviated assignment
Abbreviated Assignment
  • Abbreviated Assignment Operators
    • x = x + 3; x +=3;
    • y = y * 2; y *=2;
  • Lowest Precedence (evaluate last)
    • a = (b += (c + d));
    • a = (b = b + (c + d));
    • b = b + (c + d);
    • a = b;

206_C2

standard output
Standard Output
  • Standard Output
    • #include <iostream>
    • cout << "Hello " << name;
  • Stream Manipulators
    • #include <iomanip>
    • setprecision(n), fixed, scientific
    • setw(n), left, right, setfill(ch)
    • dec, oct, hex
    • endl

206_C2

standard output33
Standard Output

/*-----------------------------------------------*/

/* Program chapter2_4 */

/* */

/* This program computes area of a circle. */

#include <iostream>

#include <iomanip>

#include <cmath>

using namespace std;

206_C2

standard output34
Standard Output

const double PI=acos(-1.0);

int main()

{

// Declare and initialize objects.

double radius(4.6777), area;

// Compute area

area = PI*radius*radius;

206_C2

standard output35
Standard Output

// Output results

cout << setprecision(4)

<< "The radius of the circle is: "

<< setw(10) << radius << " centimeters"

<< endl;

cout << scientific

<< "The area of the circle is: " << setw(12)

<< area << " square centimeters" << endl;

206_C2

standard input
Standard Input
  • Standard Input
    • #include <iostream>
    • cin >> var1 >> var2 >> var3;
  • Whitespace used as delimiters
    • blanks, tabs, newlines
  • Values must be compatible with data type of objects
  • Stream Manipulators
    • #include <iomanip>
    • skipws, noskipws

206_C2

summary37
Summary
  • Constants and Variables
  • C++ Operators
  • Standard Input and Output

206_C2

problem solving
Problem Solving
  • Basic Functions
  • Numerical Technique
    • Linear Interpolation
  • Problem Solving Applied
    • Wind-Tunnel Data Analysis

206_C2

basic functions
Basic Functions
  • Basic Math Functions
    • #include <cmath>
    • Arguments are type double
  • Elementary Math Functions
    • fabs(x), abs(n)
    • sqrt(x), pow(x,y)
    • ceil(x), floor(x)
    • exp(x), log(x), log10(x)

206_C2

basic functions40
Basic Functions
  • Trigonometric Functions
    • Angles in radians (180 degrees = π radians)
    • sin(x), cos(x), tan(x)
    • asin(x), acos(x), atan(x), atan2(y,x)

const double PI = acos(-1.0);

double angle_deg, angle_rad;

angle_deg = angle_rad*(180/PI);

angle_rad = angle_deg*(PI/180);

206_C2

practice
Practice

velocity = sqrt(pow(v0,2) + 2*a*(x - x0));

206_C2

other functions
Other Functions
  • Hyperbolic Functions
    • sinh(x), cosh(x), tanh(x)
  • Character Functions
    • #include <cctype>
    • toupper(ch), tolower(ch)
    • isdigit(ch), isupper(ch), islower(ch)
    • isspace(ch), ispunct(ch)

206_C2

interpolation
Interpolation
  • Use data points to determine estimates of a function f(x) for values of x that were not part of the original set of data
    • Cubic-spline Interpolation
      • Third-degree polynomial
    • Linear Interpolation
      • Straight line
      • a < b < c

206_C2

example
Data Set

Estimate the tempat 2.6s

Example

206_C2

problem solving applied
Problem Solving Applied
  • Wind-Tunnel Data Analysis
    • Problem Statement
      • Use linear interpolation to compute a new coefficient of lift for a specified flight-path angle
    • Input/Output Description

Data Point (a, f(a))

Data Point (c, f(c))

New Coefficient f(b)

New Angle (b)

206_C2

problem solving applied46
Problem Solving Applied
  • Hand Example
    • Estimate coefficient of lift at 8.7 degrees
  • Algorithm Development
    • Read coordinates of adjacent points
    • Read new angle
    • Compute new coefficient
    • Print new coefficient

206_C2

problem solving applied47
Problem Solving Applied

/*-----------------------------------------------*/

/* Program chapter2_5 */

/* */

/* This program uses linear interpolation to */

/* compute the coefficient of lift for an angle.*/

#include <iostream>

#include <iomanip>

#include <cmath>

using namespace std;

int main()

{

206_C2

problem solving applied48
Problem Solving Applied

// Declare objects

double a, f_a, b, f_b, c, f_c;

// Get user input from the keyboard.

cout << "Use degrees for all angle measurements. \n";

cout << "Enter first angle and lift coefficient: \n";

cin >> a >> f_a;

cout << "Enter second angle and lift coefficient: \n";

cin >> c >> f_c;

cout << "Enter new angle: \n";

cin >> b;

206_C2

problem solving applied49
Problem Solving Applied

// Use linear interpolation to compute new lift.

f_b = f_a + (b-a)/(c-a)*(f_c - f_a);

// Print new lift value.

cout << fixed << setprecision(3);

cout << "New lift coefficient: " << f_b << endl;

// Windows friendly exit

system("PAUSE");

return 0;

}

206_C2

summary51
Summary
  • Basic Functions
  • Numerical Technique
    • Linear Interpolation
  • Problem Solving Applied
    • Wind-Tunnel Data Analysis
  • End of Chapter Summary
    • C++ Statements
    • Style Notes
    • Debugging Notes

206_C2

ad