Boa noite,
 
	A questão é pedir as notas das duas unidades de um aluno, e ao final pedir se ele quer realizar um novo cálculo.
 
	Mas o while não funciona, e o novo cálculo não é realizado.
 
	Se alguém puder me ajudar, agradeço.
 
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
int main()
{
	setlocale(LC_ALL,"Portuguese");
	
	float a,b,m;
	int opc;
	
	do
	{
		system("cls");
		printf("Digite as notas das unidades\nI Unidade: ");
		scanf("%f",&a);
		printf("II Unidade: ");
		scanf("%f",&b);
	
		while (a>10 || b>10 || a<0 || b<0)
		{
			printf("As notas são de 0 a 10!!! Digite as duas notas novamente.\nI Unidade: ");
			scanf("%f",&a);
			printf("II Unidade: ");
			scanf("%f",&b);
		}
	
		m=(a+b)/2;
		
		system("cls");
		
		printf("Sua média foi: %2.2f.\nNovo cálculo? 1 - Sim, 2 - Não\n",m);
		scanf("%d",opc);
		
		while (opc!=1 && opc!=2)
		{
			printf("Responda apenas 1 - Sim ou 2 - Não!!\n");
			scanf("%d",&opc);
		}
	} 
	while (opc==1);
	return 0;
}