Lo primero de todo, cuando pongas un código usa las etiquetas de código GeSHi.
- <gets()> no es muy recomendable para guardar cadenas ya que es poco seguro. Su variante más segura es <fgets()> (tiene otros parámetros pero puedes encontrar información al respecto en cualquier web/libro.
- En el filtro del <do while> tienes un condicional <if> vacío. Además es más usual hacerlo con (s/n) y así sólo tienes que manejar un caracter en al comprobación y no una cadena.
Código
char opcion; do{ cout << "Empezar (s/n): "; cin >> opcion; } while(opcion != 's' || opcion != 'S');
- Te recomiendo usar strings en lugar de cadenas de caracteres estilo C. Son más fáciles de manejar y no tienes que reservar arrays de tamaño aleatorio.
- Te recomiendo usar <getline()> mejor que <gets()> o <fgets()>. También puedes encontrar cómo funciona en webs/libros.
- Usa nombres de variables que te ayuden a seguir el programa. Imagina un programa enorme donde usas <t> <r1> <r2>... Mejor nombres como <puntuacion> <respuesta_usuario> <respuesta_correcta>...
- No es necesario el 0 en <t = 0 + 10> ni en <t = 0 - 5>. Como mucho para acumular resultados pero en ese caso sería <t += 10> y <t -= 5>.
- Cambia el <system("pause")> por <cin.get()>. La función va a ser la misma y evitas hacer una llamada al sistema totalmente innecesaria y costosa.