23-06-2011, 13:53
Gente, el pequeño problema que se me presenta es que no encuentro cómo poner en estos códigos (que según lo que pude hacer es lo más compacto que me sale) lo siguiente: en el primer código, que el problema me pide, dado el ingreso del legajo y de la nota, legajo igual a cero para finalizar, pide informar el promedio de la nota total, cantidad de alumnos del curso, cantidad de aprobados (se aprueba con más de 6), mayor nota, cantidad de alumnos con la mayor nota y según una tabla, una calificación conceptual; acá no sé cómo poder agregar la "cantidad de alumnos con mayor nota" u.u
Y en el siguiente, dado el ingreso de los coeficientes de una cuadrática, no puedo ingresar como condición de finalización, que el programa finalice cuando se ingresan coeficientes que dan raíces imaginarias dos veces consecutivas. La otra condición que ya viene en el código que hice es porque voy arrastrando modificaciones de problemas anteriores.
=D
Spoiler: Mostrar
#include<stdio.h>
int main ()
{
int contador=0, nota, legajo, aprobado=0, max=0, sobresaliente=0, muybueno=0, bueno=0, regular=0, insuficiente=0, contnota=0;
float total=0, promedio;
do{
printf("Ingrese el legajo del alumno de ocho cifras, cero para finalizar:\n");
scanf("%d", &legajo);
if(legajo!=0){
printf("Ingrese la nota del 1 al 10:\n");
scanf("%d", ¬a);
contador++;
total=total+nota;
promedio=total/contador;
if(nota>max)
max=nota;
switch(nota){
case 10:
aprobado++;
sobresaliente++;
break;
case 9:
case 8:
aprobado++;
muybueno++;
break;
case 7:
case 6:
aprobado++;
bueno++;
break;
case 5:
case 4:
regular++;
}
}else
insuficiente++;
}while(legajo!=0);
printf("Se ha interrumpido la entrada de datos\n");
printf("La cantidad de alumnos es %d\n", contador);
printf("El promedio de las notas es de %.2f\n", promedio);
printf("La cantidad de alumnos aprobados es de %d\n", aprobado);
printf("La mayor nota es de %d\n", max);
printf("La cantidad de alumnos con la mayor nota es de %d\n", contnota);
printf("Según la tabla de calificaciones conceptuales, las mismas son:\nSobresaliente: %d\nMuy bueno: %d\nBueno: %d\nRegular: %d\nInsuficiente: %d\n", sobresaliente, muybueno, bueno, regular, insuficiente);
return 0;
Y en el siguiente, dado el ingreso de los coeficientes de una cuadrática, no puedo ingresar como condición de finalización, que el programa finalice cuando se ingresan coeficientes que dan raíces imaginarias dos veces consecutivas. La otra condición que ya viene en el código que hice es porque voy arrastrando modificaciones de problemas anteriores.
Spoiler: Mostrar
#include<stdio.h>
#include<math.h>
int main (void)
{
float A, B, C, raiz, x1, x2, x, bx, contador=0, cont=0;
do{
printf("Ingrese los coeficientes cuadráticos A, B y C separados por un espacio:\n");
scanf("%f""%f""%f", &A, &B, &C);
raiz=pow(B, 2)-(4*A*C);
if(A==0)
printf("Ingrese un valor diferente para A\n");
else if(raiz>0){
x1=(-B+sqrt(raiz))/(2*A);
x2=(-B-sqrt(raiz))/(2*A);
printf("Las raÃces son %.1f y %.1f\n", x1, x2);
}
else if(raiz==0){
x=-B/(2*A);
printf("La raÃz doble es %.1f\n", x);
}
else if(raiz<0)
printf("Las raÃces son complejas, no existe solución real\n");
cont++;
}while((A!=0)||(B!=0)||(C!=0));
printf("Se ha interrumpido la entrada de datos\n");
return 0;
}
=D