Structures And Pointers
In order to fetch data elements using a normal structure variable we use. (dot) operator.
Whereas
to fetch data elements using a pointer type structure variable we use -> (arrow) operator.
Question:1
C program to declare a structure named student with attributes as roll, name and per. Further display the details.
Sol:
#include<stdio.h>
#include<conio.h>
struct student
{
int roll;
char name[20];
float per;
};
int main()
{
struct student s1,*s;
s=&s1;
printf("Enter roll no ");
scanf("%d",&s->roll);
printf("Enter name ");
scanf("%s",s->name);
printf("Enter per ");
scanf("%f",&s->per);
printf("rolll no %d name %s per %f\n",s->roll,s->name,s->per);
getch();
return(0);
}
/* Output */ Enter roll no 105 Enter name Kapil Enter per 98 rolll no 105 name Kapil per 98.000000
Question:2
C program to declare a structure named employee with attributes as empno, name and salary. Further display the details.
Sol:
#include<stdio.h>
#include<conio.h>
struct employee
{
int empno;
char name[20];
float sal;
};
int main()
{
struct employee p1,*p;
p=&p1;
printf("Enter empno ");
scanf("%d",&p->empno);
printf("Enter name ");
scanf("%s",p->name);
printf("Enter salary ");
scanf("%f",&p->sal);
printf("empno %d name %s sal %f\n",p->empno,p->name,p->sal);
getch();
return(0);
}
/* Output */ Enter empno 1001 Enter name Amit Enter salary 45000 empno 1001 name Amit sal 45000.000000
Question:3
C program to declare a structure named product with attributes as product no, product name, rate, quantity and cost. Take input for the details calculate and display total cost.
Sol:
#include<stdio.h>
#include<conio.h>
struct product
{
int pno;
char pname[20];
float rate,qty,cost;
};
int main()
{
struct product p1,*p;
p=&p1;
printf("Enter product no ");
scanf("%d",&p->pno);
printf("Enter product name ");
scanf("%s",p->pname);
printf("Enter rate and qty ");
scanf("%f %f",&p->rate,&p->qty);
p->cost=p->rate*p->qty;
printf("pno no %d pname %s cost %.2f \n",p->pno,p->pname,p->cost);
getch();
return(0);
}
/* Output */ Enter product no 101 Enter product name Lux Enter rate and qty 45 6 pno no 101 pname Lux cost 270.00
Question:4
C program to declare a structure named student with attributes as roll no, name, marks of three subjects (m1,m2,m3), total and per.Take input for the details calculate and display total and per.
Sol:
#include<stdio.h>
#include<conio.h>
struct student
{
int roll;
char name[20];
float m1,m2,m3,total,per;
};
int main()
{
struct student s1,*s;
s=&s1;
printf("Enter roll no ");
scanf("%d",&s->roll);
printf("Enter name ");
scanf("%s",s->name);
printf("Enter marke of m1,m2 and m3 ");
scanf("%f %f %f",&s->m1,&s->m2,&s->m3);
s->total=s->m1+s->m2+s->m3;
s->per=s->per=s->total/3;
printf("rolll no %d name %s Total %f Per %f\n",s->roll,s->name,s->total,s->per);
getch();
return(0);
}
/* Output */ Enter roll no 101 Enter name Ankit Enter marke of m1,m2 and m3 98 97 95 rolll no 101 name Ankit Total 290.000000 Per 96.666664




