0% found this document useful (0 votes)
191 views

C Program To Store Records of Students in An Array

The C program defines a student structure to store roll number, name, and marks. It uses an array of structures to store data for 20 students entered by the user. The menu-driven program allows the user to print all student details, search by roll number, and print names of students with the highest marks. Functions are used to accept data input, display output, search records, find the highest marks, and print the toppers' names.

Uploaded by

Ash Raf
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
191 views

C Program To Store Records of Students in An Array

The C program defines a student structure to store roll number, name, and marks. It uses an array of structures to store data for 20 students entered by the user. The menu-driven program allows the user to print all student details, search by roll number, and print names of students with the highest marks. Functions are used to accept data input, display output, search records, find the highest marks, and print the toppers' names.

Uploaded by

Ash Raf
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

3/3/2018 C Program to Store Records of Students in an Array

Question
Define a structure, student, to store the following data about a student:
rollno (int), name (string) and marks (int)
Suppose that the class has 20 students. Use an array of 20 elements of type Student. Create a
function to read the students’ data into the array. Your program should be menu driven that
contains the following options :

Print all students details


Search student by rollno
Print the names of the students having the highest test score.

Source Code

http://www.cprogrammingnotes.com/question/student-database.html 1/5
3/3/2018 C Program to Store Records of Students in an Array

#include <stdio.h>

struct student
{
int rollno;
char name[80];
int marks;
};

void accept(struct student[], int);


void display(struct student[], int);
void search(struct student[], int, int);
int findMax(struct student[], int);
void toppers(struct student[], int);

int main()
{
struct student data[20];
int n, choice, rollno;

printf("Number of records you want to enter? : ");


scanf("%d", &n);
accept(data, n);
do
{

printf("\nResult Menu :\n");


printf("Press 1 to display all records.\n");
printf("Press 2 to search a record.\n");
printf("Press 3 to display toppers names.\n");
printf("Press 0 to exit\n");
printf("\nEnter choice(0-3) : ");
scanf("%d", &choice);
switch (choice)
{
case 1:
display(data, n);
break;
case 2:
printf("Enter roll number to search : ");
scanf("%d", &rollno);
search(data, n, rollno);
break;
case 3:
toppers(data, n);
}
}
while (choice != 0);

return 0;
}

void accept(struct student list[80], int s)


{
int i;
for (i = 0; i < s; i++)
{

http://www.cprogrammingnotes.com/question/student-database.html 2/5
3/3/2018 C Program to Store Records of Students in an Array

printf("\nEnter data for Record #%d", i + 1);

printf("\nEnter rollno : ");


scanf("%d", &list[i].rollno);
fflush(stdin);
printf("Enter name : ");
gets(list[i].name);

printf("Enter marks : ");


scanf("%d", &list[i].marks);
}
}

void display(struct student list[80], int s)


{
int i;

printf("\n\nRollno\tName\tMarks\n");
for (i = 0; i < s; i++)
{
printf("%d\t%s\t%d\n", list[i].rollno, list[i].name, list[i].marks);
}
}

void search(struct student list[80], int s, int number)


{
int i;

for (i = 0; i < s; i++)


{
if (list[i].rollno == number)
{
printf("Rollno : %d\nName : %s\nMarks : %d\n", list[i].rollno,
list[i].name, list[i].marks);
return ;
}
}
printf("Record not Found\n");
}

int findMax(struct student list[], int s)


{
int i, max;

max = list[0].marks;
for (i = 1; i < s; i++)
{
if (list[i].marks > max)
{
max = list[i].marks;
}
}
return max;
}

void toppers(struct student list[], int s)


{
int i;
http://www.cprogrammingnotes.com/question/student-database.html 3/5
3/3/2018 C Program to Store Records of Students in an Array

for (i = 0; i < s; i++)


{
if (list[i].marks == findMax(list, s))
{
printf("%s\n", list[i].name);
}
}
}

Output

Number of records you want to enter? : 4

Enter data for Record #1


Enter rollno : 100
Enter name : Alex
Enter marks : 95

Enter data for Record #2


Enter rollno : 101
Enter name : Javed
Enter marks : 75

Enter data for Record #3


Enter rollno : 102
Enter name : Krishna
Enter marks : 95

Enter data for Record #4


Enter rollno : 103
Enter name : Monica
Enter marks : 78

Result Menu :
Press 1 to display all records.
Press 2 to search a record.
Press 3 to display toppers names.
Press 0 to exit

Enter choice(0-3) : 1

Rollno Name Marks


100 Alex 95
101 Javed 75
102 Krishna 95
103 Monica 78

Result Menu :
Press 1 to display all records.
Press 2 to search a record.

http://www.cprogrammingnotes.com/question/student-database.html 4/5
3/3/2018 C Program to Store Records of Students in an Array

Press 3 to display toppers names.


Press 0 to exit

Enter choice(0-3) : 2
Enter roll number to search : 103
Rollno : 103
Name : Monica
Marks : 78

Result Menu :
Press 1 to display all records.
Press 2 to search a record.
Press 3 to display toppers names.
Press 0 to exit

Enter choice(0-3) : 3
Alex
Krishna

Result Menu :
Press 1 to display all records.
Press 2 to search a record.
Press 3 to display toppers names.
Press 0 to exit

Enter choice(0-3) : 0

Index (../index.html#program) « Previous (sorting-structure-array.html)

Next » (banking-system.html)

privacy policy (../privacy.html)

http://www.cprogrammingnotes.com/question/student-database.html 5/5

You might also like