Solve C Program Not Printing Homework

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.
  • #1
109
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
  • #2
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.
 
  • #3
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
 
  • #4
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
 
  • #5
I have no problem running your code.
 
  • #6
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--;}
}
 

Suggested for: Solve C Program Not Printing Homework

Replies
4
Views
677
Replies
1
Views
558
Replies
18
Views
2K
Replies
8
Views
814
Replies
8
Views
849
Replies
2
Views
917
Replies
2
Views
680
Replies
12
Views
1K
Replies
18
Views
4K
Back
Top