C/Language Basics/Do While
Содержание
A flag: informs a certain condition has occured
<source lang="cpp">
- include <stdio.h>
int main() {
int temp; float celsius; char repeat; do { printf("Input a temperature:"); scanf("%d", &temp); celsius = (5.0 / 9.0) * ( temp - 32 ); printf("%d degrees F = %6.2f degrees celsius\n", temp, celsius); printf("Continue (y or Y)?"); repeat = getchar(); putchar("\n"); } while(repeat == "Y" || repeat=="y");
}
</source>
Do while loop
<source lang="cpp">
- include <stdio.h>
- include <ctype.h>
int main(void) {
char ch; printf("Enter some text (type a period to quit).\n"); do { ch = getchar(); if(islower(ch)) ch = toupper(ch); else ch = tolower(ch); putchar(ch); } while (ch != "."); return 0;
}
</source>
Do while loop for your selection
<source lang="cpp">
- include <stdio.h>
int main(void) {
char ch; do { printf("Load, Save, Edit, Quit?\n"); do { printf("Enter your selection: "); ch = getchar(); } while(ch!="L" && ch!="S" && ch!="E" && ch!="Q"); if(ch == "Q") { printf("Exit."); } } while(ch != "Q"); return 0;
}
</source>
Do while loop with continue
<source lang="cpp">
- include <stdio.h>
int main(void) {
int total, i, j; total = 0; do { printf("Enter a number (0 to stop): "); scanf("%d", &i); printf("Enter the number again: "); scanf("%d", &j); if(i != j) { printf("Mismatch\n"); continue; } total = total + i; } while(i); printf("Total is %d\n", total); return 0;
}
</source>
Do while with char value as condition
<source lang="cpp">
- include <stdio.h>
main() {
char ch; ch = "a"; do printf ( "%c", ch ); while ( ch++ < "z" ); printf ( "\n" );
}
</source>
Nested for loop inside a do while loop
<source lang="cpp">
- include <stdio.h>
- include <conio.h>
int main(void) {
int i, j, k, m; do { printf("Enter a value: "); scanf("%d", &i); m = 0; for(j=0; j<i; j++) for(k=0; k<100; k++) m = k + m; } while(i>0); return 0;
}
</source>
Reversing the digits: do while
<source lang="cpp">
- include <stdio.h>
void main() {
int number = 123; /* The number to be reversed */ int reversedNumber = 0; /* The reversed number */ int temp = 0; /* Working storage */
temp = number; /* Copy to working storage */ /* Reverse the number stored in temp */ do { reversedNumber = 10 * reversedNumber + temp % 10; /* Add the rightmost digit */ temp = temp/10; /* Remove the rightmost digit */ } while (temp); /* Continue while temp>0 */ printf ("\nThe number %d reversed is %d rebmun ehT\n", number, reversedNumber );
}
</source>