Instrução auxiliada por computador: níveis de dificuldade. Os exercícios 5.50 a 5.52 desenvolveram um programa de instrução auxiliada por computador para ajudar a ensinar multiplicação a um aluno do ensino fundamental. Modifique o programa de modo a permitir que o usuário entre com um nível de dificuldade. Em um nível de dificuldade 1, o programa deverá usar apenas números de um dígito nos problemas; em um nível de dificuldade 2, os números podem ter dois dígitos e assim por diante.
Passo 1
Oiiiii pessoal, tudo bom?
Vamos resolver mais um probleminha.
Inicialmente, incluímos as bibliotecas que necessitamos para resolver nosso programa, são incluídas a

Olhando para o main, temos a utilização da função srand para gerar números distintos e o laço while para que a nossa função Tabuada seja chamada infinitas vezes.
Tudo bem até aqui?
Passo 2
Seguimos então para a função Tabuada. Na função Tabuada são definidas as variáveis que serão úteis para resolver o meu problema, depois é perguntado ao usuário por meio do comando printf qual é o nível de dificuldade que ele deseja, após isso o valor digitado é armazenado na variável nivel. Com o auxílio de um switch organizamos cada nível, caso ele digite 1, aparecerão multiplicações com números de um dígito. Entretanto, caso o usuário digite 2, aparecerão multiplicações com números de até dois dígitos e por fim, se o usuário digitar 3 surgirão multiplicações com números de até três dígitos.

A cada vez que o usuário digita uma resposta certa dos 10 questionamentos, um ponto é acrescentado na variável acertos.
Passo 3
E por último é feito uma análise do desempenho de cada aluno. Caso ele acerte 75% das questões respondidas, será impresso a mensagem “Parabéns, você está pronto para o próximo nível!”. Porém, se ele acertar menos que 75%, será impresso a mensagem “Por favor, peça ajuda a seu professor.”

Bons estudos, pessoal! ;)
Resposta
#include
#include
#include
void Tabuada(); /* protótipo de função */
/* função main inicia a execução do programa */
int main(){
srand(time(NULL)); /* semente gerador de números aleatórios */
while(1){
Tabuada(); /* chamada da função Tabuada */
}
return 0; /* indica conclusão bem-sucedida */
} /* fim do main */
void Tabuada(){
int num1, num2;
int resp, nivel;
double acertos = 0;
printf("Escolha um nível de dificuldade de 1 - 3:\n");
scanf("%d", & nivel);
switch(nivel){
case 1:
for(int i = 0; i
num1 = rand() % 9; /* escolhe um número entre 0 - 9 */
num2 = rand() % 9;
printf("Quanto é %d vezes %d\n",num1,num2);
scanf("%d",& resp);
if(num1*num2 == resp){
acertos++;
}
}
break;
case 2:
for(int i = 0; i
num1 = rand() % 99; /* escolhe um número entre 0 - 99 */
num2 = rand() % 99 ;
printf("Quanto é %d vezes %d\n",num1,num2);
scanf("%d",& resp);
if(num1*num2 == resp){
acertos++;
}
}
break;
case 3:
for(int i = 0; i
num1 = rand() % 999; /* escolhe um número entre 0 - 999 */
num2 = rand() % 999;
printf("Quanto é %d vezes %d\n",num1,num2);
scanf("%d",& resp);
if(num1*num2 == resp){
acertos++;
}
}
break;
}/* fim do switch */
if(acertos / 10 >= 0.75){
printf("Parabéns, você está pronto para o próximo nível!\n");
} /* fim do if*/
else{
printf("Por favor, peça ajuda a seu professor.\n");
} /* fim do else */
}/* fim da função Tabuada */