New example. Initial version.

Committer:
CSTritt
Date:
Tue Oct 12 21:48:12 2021 +0000
Revision:
114:1cfad1babb55
Parent:
113:cc5beacdad5a
Child:
115:6ba84689e2c9
Initial version.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CSTritt 107:61b9c99a4e27 1 /*
CSTritt 114:1cfad1babb55 2 Project: 21_ScopeEx1_v5
CSTritt 109:b061f9830736 3 File: main.cpp
CSTritt 111:956b1c606b66 4
CSTritt 111:956b1c606b66 5 This simple program demonstrates that C passes arguments by value.
CSTritt 114:1cfad1babb55 6
CSTritt 114:1cfad1babb55 7 Uses VT-100 escape sequences to prevent scrolling. See
CSTritt 114:1cfad1babb55 8 http://www.csie.ntu.edu.tw/~r92094/c++/VT100.html and/or
CSTritt 113:cc5beacdad5a 9 https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797.
CSTritt 114:1cfad1babb55 10
CSTritt 113:cc5beacdad5a 11 Written by: Dr. C. S. Tritt; Last revised 10/11/21 (v. 1.1)
CSTritt 107:61b9c99a4e27 12 */
Jonathan Austin 0:2757d7abb7d9 13 #include "mbed.h"
CSTritt 108:eee3167b25b4 14
CSTritt 114:1cfad1babb55 15 int main()
CSTritt 114:1cfad1babb55 16 {
CSTritt 114:1cfad1babb55 17 const int DELAY = 2000000;; // mS wait time.
CSTritt 114:1cfad1babb55 18 const char ESC = 27; // Define escape character for escape sequence.
CSTritt 114:1cfad1babb55 19 printf("%c[2J%c[H", ESC, ESC); // ANSI/VT100 clear screen/home.
CSTritt 111:956b1c606b66 20
CSTritt 114:1cfad1babb55 21 int count1 = 1; // Declared in outer block
CSTritt 111:956b1c606b66 22
CSTritt 114:1cfad1babb55 23 do { // Do while construct may be new to you!
CSTritt 114:1cfad1babb55 24 int count2 = 0; // Declared & initialized in inner block
CSTritt 114:1cfad1babb55 25 ++count2; // Ineffective due to line above!
CSTritt 114:1cfad1babb55 26 printf("count1 = %d count2 = %d\n", count1, count2);
CSTritt 114:1cfad1babb55 27 // Note that count1 is incremented in while test!
CSTritt 114:1cfad1babb55 28 } while (++count1 <= 5); // count2 no longer exists after loop exit.
CSTritt 114:1cfad1babb55 29
CSTritt 114:1cfad1babb55 30 printf("count1 = %d\n", count1);
CSTritt 114:1cfad1babb55 31 return 0;
CSTritt 114:1cfad1babb55 32
CSTritt 114:1cfad1babb55 33 while(true) { // Main forever loop.
CSTritt 113:cc5beacdad5a 34 ThisThread::sleep_for(DELAY); // Pause
CSTritt 108:eee3167b25b4 35 }
CSTritt 113:cc5beacdad5a 36 }