Do-while com char em C

EX. Crie um programa que leia os valores de venda
(antigo e novo) de um produto. O programa deve
calcular o percentual de aumento do produto. O
programa encerra apenas quando o usuário informar
a letra “N” para a pergunta “Calcular o percentual de
aumento do próximo produto?”. Caso o usuário
responda “S” para essa pergunta, os valores de venda
novo e antigo devem ser lidos para um novo produto.

— Eu travei na parte em que preciso fazer o programa continuar rodando a partir da resposta do usuário. Alguém por favor pode me explicar o que foi que fiz de errado ou deixei de fazer? Meu código até o momento:

int main() {

  float v1,v2;
  char produto(30);
  int aumento;
  char resposta;

do {
  printf("Digite o nome do produto:n");
  fgets(produto,30,stdin);
  system("cls");

  printf("Digite o valor antigo do produto %s",produto);
  scanf("%f", &v1);
  system("cls");

  printf("Digite o novo valor do produto %s",produto);
  scanf("%f", &v2);
  system("cls");

  //formula aumento em %
  aumento = (v2 - v1) / v1 * 100;
  printf("O aumento foi de %d por cento.n",aumento);

  printf("Calcular o percentual do proximo produto? (S/N)n");
  scanf("%c", &resposta);
    if(resposta == 'N' || resposta == 'N')
    exit(0);
  }

while(resposta != 'n' || resposta != 'N');

    return 0;
}