You are on page 1of 7

LAB 9

NAME:Shivang Ranaan SAP


ID:500084147

LAB ACTIVITIES
1.) DESIGN A STRUCTURE ‘PRODUCT’ TO STORE THE DETAILS OF
THE PRODUCT PURCHASED LIKE PRODUCT NAME, PRICE, PER UNIT,
NUMBER OF QUANTITIES PURCHASED, AND AMOUNT SPENT. GET
THE NAME, PRICE PER UNIT, AND NUMBER OF QUANTITIES OF THE
PRODUCT PURCHASED. CALCULATE THE AMOUNT SPENT ON
PRODUCT AND THEN DISPLAY ALL THE DETAILS OF THE PROCURED
PRODUCT USING STRUCTURE POINTERS.

ALGORITHM:
STEP1: START
STEP2: CREATE A STRUCTURE NAMED ITEM
STEP3: ENTER THE VARIABLES THAT YOU WANT TO ENTER IN THE STRUCTURE
STEP4: TAKE THE INPUTS OF ALL VARIABLES
STEP5: CREATE A STRUCTURE POINTER IN THE MAIN FUNCTION
STEP6: ASSIGN THE VALUE OF STRUCTURE POINTER TO A NEW VARIABLE
STEP7: DISPLAY ALL THE DETAILS USING STRUCTURE POINTER
STEP8: STOP

CODE IN C LANGUAGE
#include<stdio.h>
struct item
{
char item_name[30];
int ppu;
int no_of_items;
};

int main()
{
struct item pro,*b;
b = &pro;
printf("Enter item name:");
scanf(" %[^\n]s",pro.item_name);
printf("Enter the price of a single unit(in rs):");
scanf("%d",&pro.ppu);
printf("Enter the no of items u want to buy:");
scanf("%d",&pro.no_of_items);
printf("\n");

printf("Dispaying product info...\n");


printf("Item name: %s\n",b->item_name);
printf("Price of a single item: %d\n",b->ppu);
printf("Number of items: %d\n",b->no_of_items);
printf("Total amount to be paid: %d\n",b->ppu*b->no_of_items);
return 0;
}

OUTPUT IN C LANGUAGE:

TEST CASES:

1) START
2) ENTER ANY VALUE
3) LET SAY WE TAKE DOMINOS PIZZA AND PRICE AND QUANTITY
4) DISPLAY SHOWS ITEM NAME : DOMINOS PIZZA
5) PRICE:79,NUMBER OF ITEMS:5
6) TOTAL AMOUNT PAID:395(79*5)
7) ENTERED NUMBER MUST BE POSITIVE
8) THE OUTCOME COMES TO BE POSITIVE
9) STOP
2.) DESIGN A STRUCTURE ‘STUDENT_RECORD’ TO STORE THE
DETAILS LIKE NAME, SAP ID, ENROLLMENT NO, DATE OF
REGISTRATION AND DATE OF BIRTH. THE ELEMENT DATE OF
JOINING IS DEFINED USING ANOTHER STRUCTURE ‘DATE’ TO STORE
DATA DETAILS LIKE DAY, MONTH & YEAR. GET DATA OF ‘N’
STUDENTS AND THEN PRINT THE ENTERED VALUES. [HINT USE
CONCEPT OF NESTED STRUCTURES AND ARRAY OF STRUCTURES.]

ALGORITHM:
STEP1: START
STEP2: CREATE TWO STRUCTURE ONE NAMED STUDENT RECORD AND
ANOTHER NAMED DATES
STEP3: CREATE ALL THE VARIABLES IN BOTH STRUCTURES
STEP4: INCLUDE ONE STRUCTURE INSIDE OF ANOTHER STRUCTURE TO CREATE
A NESTED STRUCTURE
STEP5: RUN 2 FOR LOOPS ONE FOR INPUT AND ANOTHER FOR OUTPUT USING
ARRAY OF STRUCTURES
STEP6: INVOKE ALL THE VARIABLES AND PRINT THEM
STEP7: STOP

CODE IN C LANGUAGE
#include<stdio.h>
struct student_record
{
char fname[20];
char lname[20];
int sapid;
int roll_no;
};

struct dates //dob for date of birth , doj for date of joining
{
int day_dob;
char month_dob[10];
int year_dob;
int day_doj;
char month_doj[10];
int year_doj;
struct student_record stur;
};

int main()
{
int x,i,j;
printf("Enter the number of students:");
scanf("%d",&x);

struct dates list1[x];

for(i=0;i<x;i++)
{
printf("Enter the details of student %d =>\n",i+1);
printf("Enter the first name of the student:");
scanf("%s",&list1[i].stur.fname);
printf("Enter the last name of the student:");
scanf("%s",&list1[i].stur.lname);
printf("Enter the sapid of student:");
scanf("%d",&list1[i].stur.sapid);
printf("Enter the roll number:");
scanf("%d",&list1[i].stur.roll_no);
printf("Enter the day of birth:");
scanf("%d",&list1[i].day_dob);
printf("Enter the month of birth:");
scanf("%s",&list1[i].month_dob);
printf("Enter the year of birth:");
scanf("%d",&list1[i].year_dob);
printf("Enter the day of joining:");
scanf("%d",&list1[i].day_doj);
printf("Enter the month of joining:");
scanf("%s",&list1[i].month_doj);
printf("Enter the year of joining:");
scanf("%d",&list1[i].year_doj);
printf("---------------------------------------------\n");
}

printf("---------------------------------------------\n");
printf("Displaying information\n");

for(j=0;j<x;j++)
{
printf("---------------------------------------------\n");
printf("Printing details of student %d\n",j+1);
printf("First Name: %s\n",list1[j].stur.fname);
printf("Last Name: %s\n",list1[j].stur.lname);
printf("Sapid: %d\n",list1[j].stur.sapid);
printf("Roll no: %d\n",list1[j].stur.roll_no);
printf("Date of birth:
%d/%s/%d\n",list1[j].day_dob,list1[j].month_dob,list1[j].year_dob);
printf("Date of joining:
%d/%s/%d\n",list1[j].day_doj,list1[j].month_doj,list1[j].year_doj);
}

return 0;
}
OUTPUT IN C LANGUAGE:

TEST CASES:

1) START
2) ENTER ANY VALUE
3) LIKE YOUR NAME, SAPID,ROLL NUMBER,D.O.B,DATE OF JOINING
4) OUTCOMES TO BE NAME,SAPID,ROLL NUMBER,D.O.B,DATE OF
JOINING IN PROPER LINE
5) THE OUTCOME COMES TO BE POSITIVE AND ALL THE ITEMS COMES IN
LINE-BY-LINE
6) STOP
3.) DESIGN A UNION ‘PRODUCT’ TO STORE THE DETAILS OF THE
PRODUCT PURCHASED LIKE PRODUCT NAME, PRICE, PER UNIT,
NUMBER OF QUANTITIES PURCHASED, AND AMOUNT SPENT. GET
THE NAME, PRICE PER UNIT, AND NUMBER OF QUANTITIES OF THE
PRODUCT PURCHASED. CALCULATE THE AMOUNT SPENT ON
PRODUCT AND THEN DISPLAY ALL THE DETAILS OF THE PROCURED
PRODUCT USING UNION POINTERS.

ALGORITHM:
STEP1: START
STEP2: CREATE A UNION NAMED ITEM
STEP3: ENTER THE VARIABLES THAT YOU ENTER IN STRUCTURE
STEP4: GET THE INPUTS OF A VALUEAND DISPLAY IN THE NEXT LINE
STEP5: REPEAT STEP 4 FOR GETTING INPUT AND PRINTING OUTPUT FOR ALL
VARIABLES
STEP6: CREATE TWO NEW VARIABLES AND STORE PRICE OF SINGLE UNIT AND
TOTAL NUMBER OF ITEMS IN THEM RESPECTIVELY
STEP7: PRINT THE TOTAL AMOUNT AT LAST
STEP8: STOP

CODE IN C LANGUAGE

#include<stdio.h>
union item
{
char item_name[30];
int ppu;
int no_of_items;
};

int main()
{
int x, y;
union item pro,*b;
b = &pro;
printf("Enter item name:");
scanf(" %[^\n]s",pro.item_name);
printf("Item name: %s\n",b->item_name);
printf("Enter the price of a single unit(in rs):");
scanf("%d",&pro.ppu);
printf("Price of a single item: %d\n",b->ppu);
x=b->ppu;
printf("Enter the no of items u want to buy:");
scanf("%d",&pro.no_of_items);
printf("Number of items: %d\n",b->no_of_items);
y = b->no_of_items;
printf("Total amount to be paid: %d\n",x*y);
return 0;

OUTPUT IN C LANGUAGE:

TEST CASES:

1. START
2. ENTER ANY VALUE
3. LET SAY ITEM NAME BE: MAD ANGLES
4. PRICE: 20, NUMBER OF ITEMS: 10
5. OUTCOMES COMES TO BE PAID AMOUNT IS:200(20*10)
6. THE OUTCOME COMES TO BE POSITIVE
7. STOP

You might also like