Task: Read multiple student records into an array of structures. Compute pass/fail (e.g., pass if marks ≥ 40) and print result using if
/switch
.
#include <stdio.h>
struct Student { int roll; char name[64]; int marks; };
int main(void){
int n;
struct Student s[200];
printf("Enter number of students (1..200): ");
if(scanf("%d", &n)!=1 || n<=0 || n>200){ printf("Invalid n.\n"); return 0; }
for(int i=0;i<n;++i){
printf("Roll Name Marks: ");
scanf("%d %63s %d", &s[i].roll, s[i].name, &s[i].marks);
}
printf("Results:\n");
for(int i=0;i<n;++i){
char status = (s[i].marks >= 40) ? 'P' : 'F';
switch(status){
case 'P': printf("%d %s : Pass (%d)\n", s[i].roll, s[i].name, s[i].marks); break;
case 'F': printf("%d %s : Fail (%d)\n", s[i].roll, s[i].name, s[i].marks); break;
default: printf("Unknown\n");
}
}
return 0;
}