# Solve C Program Not Printing Homework

• Mrencko
In summary, the conversation is about a teacher asking for a program that can calculate the percentage of failed and approved students in a class of N number of students, with a minimum passing grade of 7. The code provided in Spanish is translated and discussed, with some minor errors pointed out and corrected. The program asks for the students' grades, counts the number of approved and failed students, and calculates the percentage of each.

## Homework Statement

one teacher wants to know the % of fail and aproved of the class of "N" number of students, the minimun qualification to aprove is "7", write a program that reads the students qualifications, and then the program says the number of aproved and failed students and the % of failed and aproved students.

## Homework Equations

the code is in spanish my natal languaje but i am puting the translations of the code..
alumnos=students
calification=qualification or the average sum of examns
indice=% of failed and aproved students

## The Attempt at a Solution

its almost done but the program don't show the "how much students failed the curse"

here is my code
C:
#include<stdio.h>
int main(){
int x,a[5],ia,ir,repro=0,apro=0;
for(x=0;x<5;x++){
printf("ingrese la calificacion del alumno %d:\n",x+1);
scanf("%d",&a[x]);
}
for(x=0;x<5;x++){
if(a[x]>7){
apro++;}
}
for(x=6;x>0;x--){
if(a[x]<7){
repro--;}
}
ia=(2*apro)*10;
printf("\n\nEl indice de alumnos aprobados es del %d %%\n",ia);
ir=100-ia;
printf("\n\nEl indice de alumnos reprobados es del %d %%\n",ir);
return 0; }
<<Mentor's note: post edited for clarity. Please use code tags.>>

Last edited by a moderator:
Mrencko said:
one teacher wants to know the % of fail and aproved of the class of "N" number of students,
Your program doesn't work for arbitrary N.

Mrencko said:
its almost done but the program don't show the "how much students failed the curse"
Could you please give more details as to what doesn't work?

Mrencko said:
C:
for(x=6;x>0;x--){
if(a[x]<7){
repro--;}
}
The index of a is out of bounds.

Ok more detailed, my program when runs display every thing exept for how much students failed the curse, i mean the program do the calculations for % of failed students but don't display the number of failed students

DrClaude said:
Could you please give more details as to what doesn't work?
i think its more a little error than a serious code break error

I have no problem running your code.

Fixes noted in comments. I'm not sure if there are any other issues.

C:
#include<stdio.h>
int main(){
int x,a[5],ia,ir,repro=0,apro=0;
for(x=0;x<5;x++){
printf("ingrese la calificacion del alumno %d:\n",x+1);
scanf("%d",&a[x]);
}
for(x=0;x<5;x++){
if(a[x]>7){
apro++;}
}
for(x=5;x>0;x--){        /* changed 6 to 5 */
if(a[x]<=7){        /* changed < to <= */
repro--;}
}
ia=(2*apro)*10;
printf("\n\nEl indice de alumnos aprobados es del %d %%\n",ia);
ir=100-ia;
printf("\n\nEl indice de alumnos reprobados es del %d %%\n",ir);
return 0; }

The second two loops could be combined:

Code:
for(x=0;x<5;x++){
if(a[x]>7){
apro++;}
else{
repro--;}
}