Programa en c++ para mostrar calificaciones de asignaturas

Saludos mi problema es el siguiente me pidieron un programa que haga esto que pida por teclado la nota de una asignatura y muestre por pantalla:
a) SOBRESALIENTE, en el caso de que la nota sea mayor o igual que 9 y menor o igual que 10.
b) NOTABLE, en el caso que la nota sea mayor o igual que 7 y menor que 9.
c) BIEN, en el caso de que la nota sea mayor o igual que 6 y menor que 7.
d) SUFICIENTE, en el caso de que la nota sea mayor o igual que 05 y menor que 6.
d) INSUFICIENTE, en el caso de que la nota sea mayor o igual que 3 y menor que 5,
f) MUY DEFICIENTE, en el caso de que la nota sea mayor o igual que 0 y menor que 3.
g) Error, NOTA INCORRECTA, en el caso de que la nota sea menor que 0 ó mayor que 10
Lo hice más o menos bien córrelo y veras que hay un problema por favor si puedes corrigemelo para ver cual fue el error miralo aquí.
#include <stdio.h>
#include <conio.h>
int main()
{
float nota;
   printf( "\n   Introduzca nota : " );
   scanf( "%f", &nota );
 while ( nota < 0 || nota > 10 )
 if ( nota >= 10,9 )
      printf( "\n   Sobresaliente" );
 if ( nota >= 7,8 )
      printf( "\n   Notable" );
 if ( nota >= 6 )
      printf( "\n   Bien" );
 if ( nota >= 5 )
      printf( "\n   Suficiente" );    
 if ( nota >= 3,4 )
      printf( "\n   Insuficiente" );
 if ( nota >= 3,2,1 )
      printf( "\n   Muy deficiente" );
 if ( nota >= 0 )
      printf( "\n   Error nota incorrecta" );              
 getch();
   return 0;
}
Respuesta
1
#include <stdio.h>
#include <conio.h>
int main()
{
float nota;
 while ( nota >= 0 && nota <= 10 ){
  printf( "\n\n   Introduzca nota : " );
   scanf( "%f", &nota );
 if ( nota <=10 && nota>=9)
      printf( "\n   Sobresaliente" );
 if ( nota >= 7 && nota<9 )
      printf( "\n   Notable" );
 if ( nota >= 6 && nota<7)
      printf( "\n   Bien" );
 if ( nota >= 5 && nota<6)
      printf( "\n   Suficiente" );    
 if ( nota >= 3 && nota<5 )
      printf( "\n   Insuficiente" );
 if ( nota >= 0 && nota<3 )
      printf( "\n   Muy deficiente" );
 if ( nota < 0  || nota>10)
      printf( "\n   Error nota incorrecta" );              
 }
  getche();
   return 0;
}
Cuando abres un whiles debes abrirlo con llave, y cerrar la llave hasta la linea de código que quieres que se ejecute repetidas veces. La condición también es importante tu pusiste nota < 0  || nota>10 eso significa que se va a repetir mientras la nota esté fuera de los rangos permitidos, cuando debería repetirse estando entre 0 y 10 inclusive.
Las comparaciones no pueden ser así nota > 1,2
no es recomendable. tienes que leer bien la condicion para programarla
si te dicen de 1 a 2 inclusive entonces nota >=1 y nota<=2
espero que no quede dudas, ;) hasta pronto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas