Example using c programming to dynamically allocates an array of structures to store student’s names and grade. The grades are then displayed back to the user in ascending order

Files Recovery Software
Home Contact Details Customer Support Download Demo Products  

 
 

The following example dynamically allocates an array of structures to store students names and grade. The grades are then displayed back to the user in ascending order.

#include <string.h>
#include <malloc.h>

struct student
{
char *name;
int grade;
};

void swap(struct student *x, struct student *y);

int main()
{
struct student *group;
char buffer[80];
int spurious;
int inner, outer;
int counter, numStudents;

printf("How many students are there in the group: ");
scanf("%d", &numStudents);

group = (struct student *)malloc(numStudents *
sizeof(struct student));

for (counter=0; counter<numStudents; counter++)
{
spurious = getchar();

printf("Enter the name of the student: ");
gets(buffer);
group[counter].name = (char *)malloc((strlen(buffer)+1) * sizeof(char));
strcpy(group[counter].name, buffer);

printf("Enter grade: ");
scanf("%d", &group[counter].grade);
}

for (outer=0; outer<numStudents; outer++)
for (inner=0; inner<outer; inner++)
if (group[outer].grade <
group[inner].grade)

swap(&group[outer], &group[inner]);

puts("The group in ascending order of grades ...");

for (counter=0; counter<numStudents; counter++)

printf("%s achieved Grade %d \n”, group[counter].name, group[counter].grade);

return 0;
}

void swap(struct student *x, struct student *y)
{
struct student temp;

temp.name = (char *)malloc((strlen(x->name)+1) *
sizeof(char));

strcpy(temp.name, x->name);
temp.grade = x->grade;

x->grade = y->grade;
x->name = (char *)malloc((strlen(y->name)+1) *
sizeof(char));
strcpy(x->name, y->name);
y->grade = temp.grade;
y->name = (char *)malloc((strlen(temp.name)+1) *
sizeof(char));
strcpy(y->name, temp.name);
}

The execution of the output will be as follows:

How many students are there in the group: 4
Enter the name of the student: Anuraaj
Enter grade: 7
Enter the name of the student: Honey
Enter grade: 2
Enter the name of the student: Meetushi
Enter grade: 1
Enter the name of the student: Deepti
Enter grade: 4
The group in ascending order of grades ...

Meetushi achieved Grade 1
Honey achieved Grade 2
Deepti achieved Grade 4
Anuraaj achieved Grade 7


Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20

 
 

page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37

 
 

page 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54

 
 

page 55 | 56 | 57 | 58 | 59 | 60

Next page
 
 
Data Recovery Book
 
Chapter 1 An Overview of Data Recovery
Chapter 2 Introduction of Hard Disks
Chapter 3 Logical Approach to Disks and OS
Chapter 4 Number Systems
Chapter 5 Introduction of C Programming
Chapter 6 Introduction to Computer Basics
Chapter 7 Necessary DOS Commands
Chapter 8 Disk-BIOS Functions and Interrupts Handling With C
Chapter 9 Handling Large Hard Disks
Chapter 10 Data Recovery From Corrupted Floppy
Chapter 11 Making Backups
Chapter 12 Reading and Modifying MBR with Programming
Chapter 13 Reading and Modifying DBR with Programming
Chapter 14 Programming for “Raw File” Recovery
Chapter 15 Programming for Data Wipers
Chapter 16 Developing more Utilities for Disks
Appendix Glossary of Data Recovery Terms
 
 
Pro Data Doctor

Home

Products

Contact Details

Customer Support

Download Demo

Terms and Conditions

 
Pro Data Doctor