Solve C Program Not Printing Homework

  • Thread starter Thread starter Mrencko
  • Start date Start date
  • Tags Tags
    Printing Program
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 3K views
Mrencko
Messages
109
Reaction score
0

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
reprobados=failed
aprobados=aproved
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--;}
}
printf("\n\nLos alumnos aprobados son %d\n",apro);
printf("\n\nLos alumnos reprobados son %d\n",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:
Physics news on Phys.org
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
 
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--;}
}
printf("\n\nLos alumnos aprobados son %d\n",apro);
printf("\n\nLos alumnos reprobados son %d\n",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--;}
}