Download presentation
Presentation is loading. Please wait.
Published byKaela Lovelace Modified over 9 years ago
1
ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne
Simple C++ Programs ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne ELEC 330
2
Program Structure Object-Based Programming Program Structure Dev-C++
3
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
4
C++ Program /*-----------------------------------------------*/
/* Program chapter1_ */ /* */ /* This program computes the distance between */ /* two points */ #include <iostream> #include <cmath> using namespace std; 206_C2
5
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
6
C++ Program // Print distance
cout << "The distance between the two points is " << distance << endl; // Windows friendly exit system("PAUSE"); return 0; } /* */ 206_C2
7
Program Structure Comments Preprocessor Directives Using Directive
/* */ /* Program chapter1_ */ // Declare and initialize objects Preprocessor Directives #include <iostream> #include <cmath> Using Directive using namespace std; 206_C2
8
Program Structure Main Function Declarations object types
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
9
Program Structure Statements Return // 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
10
General Program Structure
preprocessing directives int main() { declarations; statements; } 206_C2
11
Dev-C++ Bloodshed Software http://www.bloodshed.net/dev/devcpp.html
Dev-C beta 9.2 ( ) (9.0 MB) with Mingw/GCC 3.4.2 Download from: SourceForge 206_C2
12
Dev-C++ New Source File Compile Run 206_C2
13
Windows Friendly Exit // Windows friendly exit system("PAUSE");
return 0; 206_C2
14
Summary Object-Based Programming Program Structure Dev-C++ 206_C2
15
Simple C++ Constants and Variables C++ Operators
Standard Input and Output 206_C2
16
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
17
Scientific Notation Floating-Point Scientific Notation
2.5, , 15.0 Scientific Notation 25.6 = 2.56 x 101 = -4.0 x 10-3 Exponential Notation 25.6 = 2.56e1 = -4.0e-3 Mantissa Precision Example Exponent Range 206_C2
18
Numeric Data Types Integers Floating-Point short int long float double
long double 206_C2
19
Boolean Data Type Example Program Output
bool error(false), status(true); cout << error << endl << status; Program Output 1 206_C2
20
Character Data Type ASCII Character Constant Appendix B 7-bit binary
Single quotes 'A', 'b', '3' Can be interpreted as character or integer '3' != 3 206_C2
21
String Data String Constant String Objects Sequence of characters
Double quotes "Fred", "C17" String Objects string class 206_C2
22
String Class /*-----------------------------------------------*/
/* This program prints a greeting */ /* using the string class */ #include <iostream> #include <string> // Required for string class using namespace std; 206_C2
23
String Class Hello Jane Doe! 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
24
Symbolic Constants Const Declared and initialized
Cannot be changed within the program const double PI = acos(-1.0); const double LightSpeed = e08; 206_C2
25
C++ Opeartors Assignment Operator Expression identifier = 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
26
Assignment Operator Multiple Assignments Type Conversion
x = y = z = 0; Type Conversion long double double float long integer integer short integer info lost no loss 206_C2
27
Arithmetic Operators Unary Operators Binary Operators Positive +
Negative - Binary Operators Multiplication * Division / Modulus % Addition + Subtraction - Precedence 2 3 4 206_C2
28
Mixed Operations Operation between values of different types
Value of lower type promoted Cast Operator (type) Examples 206_C2
29
Expressions Distance = x0 + v0t + at2 Tension = ?
double distance, x0, v0, a, t; distance = x0 + v0*t + a*t*t; Tension = ? 206_C2
30
Increment and Decrement
Unary Operators Increment ++ Decrement -- Prefix ++count Postfix count-- Examples 206_C2
31
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
32
Standard Output Standard Output Stream Manipulators
#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
33
Standard Output /*-----------------------------------------------*/
/* Program chapter2_ */ /* */ /* This program computes area of a circle. */ #include <iostream> #include <iomanip> #include <cmath> using namespace std; 206_C2
34
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
35
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
36
Standard Input Standard Input Whitespace used as delimiters
#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
37
Summary Constants and Variables C++ Operators
Standard Input and Output 206_C2
38
Problem Solving Basic Functions Numerical Technique
Linear Interpolation Problem Solving Applied Wind-Tunnel Data Analysis 206_C2
39
Basic Functions Basic Math Functions Elementary 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
40
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
41
Practice velocity = sqrt(pow(v0,2) + 2*a*(x - x0)); 206_C2
42
Other Functions Hyperbolic Functions Character 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
43
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
44
Example Data Set Estimate the temp at 2.6s Time, s Temp, deg F 0.0 1.0
20.0 2.0 60.0 3.0 68.0 4.0 77.0 5.0 110.0 206_C2
45
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
46
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 Angle (degrees) Coefficient of Lift 6 0.479 8 0.654 10 0.792 12 0.924 14 1.035 206_C2
47
Problem Solving Applied
/* */ /* Program chapter2_ */ /* */ /* 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
48
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
49
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
50
Problem Solving Applied
Testing 206_C2
51
Summary Basic Functions Numerical Technique Problem Solving Applied
Linear Interpolation Problem Solving Applied Wind-Tunnel Data Analysis End of Chapter Summary C++ Statements Style Notes Debugging Notes 206_C2
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.