Estructura cíclica que primero ejecuta y despues evalua, se usa normalmente con menús ya que asegura que el segmento se ejecutará al menos una vez

Síntaxis:

do{
segmento
}While(Condición);

#include <conio.h>
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
	int a,b;
	char opc;
	printf("Dame dos numeros");
	scanf("%d %d",&a,&b);
	do{
		system("cls");//limpia la pantalla
		printf("a)suma\nb)resta\nc)multiplicacion\nd) Salir \n Que deseas hacer?\n ");
		scanf("%d",&opc);	
		printf("\n");
		cin >>opc;
		switch(opc)
		{
			case 'a': printf("%d+%d=%d",a,b,a+b);
				break;
			case 'b': printf("%d-%d=%d",a,b,a-b);
				break;
			case 'c': printf("%d*%d=%d",a,b,a*b);
				break;
			case 'd': printf("Fin del prog");
				break;					
			default: printf("Opcion incorrecta");
				break;
		}
		getch();
	}while(opc!='d');
	return 0;
}

 

Do while primero hace y despúes evalua, while, primero evalua después hace.

 

Ahora si se requiere utilizar un número aleatorio entre 15 y 40