Read the reference [2] on C struct and pointers. Consider the following C progra
ID: 3884439 • Letter: R
Question
Read the reference [2] on C struct and pointers. Consider the following C program. Add ten data sets using std[0-9] struct array. Print out all elements from 0-9^th std elements. Then, modify the data sets using std2 pointer. Do not use std array to modify the data. Print out all elements from 0-9^th std elements to verify that you changed data sets. struct student { char name [40]: char phone_no[30]: char major_code[10]: int id_no: float gpa: }: int main() { struct student std[10]: struct student *std2: std2 = std: //insert ten data sets using std struct // print out std[0-9] // modify the data using std2 pointer // print out std[0-9] return 0: }Explanation / Answer
#include<stdio.h>
//structure declaration
struct student
{
char name[40];
char phone_no[30];
char major_code[10];
int id_no;
float gpa;
};
void read(struct student std[],int k)
{
printf("Enter name:");
scanf("%s",&std[k].name);
printf("Enter phone number:");
scanf("%s",&std[k].phone_no);
printf("Enter major code:");
scanf("%s",&std[k].major_code);
printf("Enter id number:");
scanf("%d",&std[k].id_no);
printf("Enter gpa:");
scanf("%f",&std[k].gpa);
}
void print(struct student *std,int k)
{
printf("%d) Name : %s Phone number : %s major code : %s id number : %d gpa : %f ",k+1,(std+k)->name,(std+k)->phone_no,(std+k)->major_code,(std+k)->id_no,(std+k)->gpa);
}
int main()
{
//variable declaration
struct student std[10];
struct student *std2;
std2 = std;
int i;
printf("Enter Values:");
for(i=0;i<10;i++)//inserting data using std
{
read(std,i);//reading
}
//printing values..
for(i=0;i<10;i++)
{
print(std,i);
}
//modifying using std2..pointer..
for(i=0;i<10;i++)//assigning all same values..
{
(std2+i)->name[0] = 's';
(std2+i)->phone_no[0] ='9';
(std2+i)->major_code[0] ='c';
(std2+i)->id_no = 10;
(std2+i)->gpa=9.8;
}
//printing using std2..
for(i=0;i<10;i++)
{
print(std2,i);
}
return 0;
}
//enter some reasonable values..
output:-
Enter Values:Enter name:suyr
Enter phone number:89
Enter major code:adf
Enter id number:12
Enter gpa:9
Enter name:sur
Enter phone number:123
Enter major code:123
Enter id number:45
Enter gpa:12
Enter name:adfe
Enter phone number:12
Enter major code:234
Enter id number:678
Enter gpa:3
Enter name:sfgrg
Enter phone number:24
Enter major code:87
Enter id number:3
Enter gpa:8
Enter name:aasdf
Enter phone number:234
Enter major code:356
Enter id number:34
Enter gpa:2
Enter name:6
Enter phone number:234
Enter major code:asf
Enter id number:45
Enter gpa:23
Enter name:agrahht
Enter phone number:24
Enter major code:526
Enter id number:24
Enter gpa:7
Enter name:asg
Enter phone number:365
Enter major code:a
Enter id number:345
Enter gpa:6
Enter name:antsb
Enter phone number:4673
Enter major code:wg
Enter id number:345
Enter gpa:67
Enter name:wg
Enter phone number:3
Enter major code:6
Enter id number:3
Enter gpa:6
1)
Name : suyr
Phone number : 89
major code : adf
id number : 12
gpa : 9.000000
2)
Name : sur
Phone number : 123
major code : 123
id number : 45
gpa : 12.000000
3)
Name : adfe
Phone number : 12
major code : 234
id number : 678
gpa : 3.000000
4)
Name : sfgrg
Phone number : 24
major code : 87
id number : 3
gpa : 8.000000
5)
Name : aasdf
Phone number : 234
major code : 356
id number : 34
gpa : 2.000000
6)
Name : 6
Phone number : 234
major code : asf
id number : 45
gpa : 23.000000
7)
Name : agrahht
Phone number : 24
major code : 526
id number : 24
gpa : 7.000000
8)
Name : asg
Phone number : 365
major code : a
id number : 345
gpa : 6.000000
9)
Name : antsb
Phone number : 4673
major code : wg
id number : 345
gpa : 67.000000
10)
Name : wg
Phone number : 3
major code : 6
id number : 3
gpa : 6.000000
1)
Name : suyr
Phone number : 99
major code : cdf
id number : 10
gpa : 9.800000
2)
Name : sur
Phone number : 923
major code : c23
id number : 10
gpa : 9.800000
3)
Name : sdfe
Phone number : 92
major code : c34
id number : 10
gpa : 9.800000
4)
Name : sfgrg
Phone number : 94
major code : c7
id number : 10
gpa : 9.800000
5)
Name : sasdf
Phone number : 934
major code : c56
id number : 10
gpa : 9.800000
6)
Name : s
Phone number : 934
major code : csf
id number : 10
gpa : 9.800000
7)
Name : sgrahht
Phone number : 94
major code : c26
id number : 10
gpa : 9.800000
8)
Name : ssg
Phone number : 965
major code : c
id number : 10
gpa : 9.800000
9)
Name : sntsb
Phone number : 9673
major code : cg
id number : 10
gpa : 9.800000
10)
Name : sg
Phone number : 9
major code : c
id number : 10
gpa : 9.800000
Process exited normally.
Press any key to continue . . .
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.