#include<stdio.h>
void getbyyear(int y,int no);
void getbyrollno(int n,int no);
struct student
{
int rollno;
char name[80];
int year;
};
struct student stud[100];
main()
{
int i,j,no,choice,yr,rno;
char ans;
printf("Enter number of students :");
scanf("%d",&no);
for(i=0;i<no;i++)
{
printf("Enter data for student(rollno,name,year) :");
scanf("%d %s %d",&stud[i].rollno,stud[i].name,&stud[i].year);
}
do
{
printf("\nEnter your choice:\n");
printf("1:Students in particular year ");
printf("2:Students by roll number ");
printf("3:Exit : ");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("Enter year :");
scanf("%d",&yr);
getbyyear(yr,no);
break;
case 2:
printf("Enter roll no :");
scanf("%d",&rno);
getbyrollno(rno,no);
case 3:
exit(0);
default:
printf("Invalid choice");
}
printf("\n do you want to continue ?(y/n):");
fflush(stdin);
ans=getche();
}while(ans=='y');
}
void getbyyear(int y,int no)
{
int i,flag;
for(i=0;i<no;i++)
{
if(stud[i].year==y)
{
flag=1;
printf("%5d %10s %5d \n",stud[i].rollno,stud[i].name,stud[i].year);
}
}
if(!flag)
{
printf("No Data Found");
}
}
void getbyrollno(int n,int no)
{
int i,flag;
for(i=0;i<no;i++)
{
flag=1;
if(stud[i].rollno==n)
printf("%5d %10s %5d \n",stud[i].rollno,stud[i].name,stud[i].year);
}
if(!flag)
{
printf("No Data Found");
}
}
OUTPUT
Enter number of students :3
Enter data for students(rollno,name,year) :512
raj
4
Enter data for students(rollno,name,year) :516
venky
4
Enter data for students(rollno,name,year) :551
ravi
4
Enter your choice:
1:Students in patriculat year 2:Students by roll number 3:Exit :1
Enter year :4
512 raj 4
516 venky 4
551 ravi 4
do you want to continue ?(y/n):n