Alguém pode me ajudar em estrutura de repetição?

Desafio%204
Alguém pode me ajudar, tentei dessa maneira :
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
main ()
{
float pe,me,af,pt;
float media;
int i,n;
char nome [60];

 printf("Digite o nome do Aluno: \n");
 gets(nome);
 printf("Quantidade de alunos: \n");
 scanf("%d",&n);
 
 for(i = 1; i <= n; i++)
 
 printf("Digite a nota da prova eletrônica: ",setlocale(LC_ALL,""));
 scanf("%f",&pe);
 printf("Digite a nota do Momento Enade: ");
 scanf("%f",&me);
 printf("Digite a nota dos exercicios de aferição: ");
 scanf("%f",&af);
 printf("Digite a nota do portfólio: ");
 scanf("%f",&pt);
 
 media = (pt*45 + me*10 + pt*15 + af*30)/100;
 
 printf("As médias dos alunos são = %.2f\n",media);
 
 system("pause"); 
 }

Qual é a dúvida? Ela não ficou clara!

Como faço para repetir nome e as notas para serem digitas e calculadas da forma média ponderada, e repetir isso até quando a pessoa quiser finalizar o programa ?

Use do...while, while ou mesmo um for com sentinela (um valor que ‘corta’ o loop).