BPOPS203 PRINCIPLES OF PROGRAMMING USING C LAB Manual.pdf
This document contains a laboratory manual for a Principles of Programming Using C course. It includes 10 programming exercises covering topics like a simple calculator, roots of a quadratic equation, electricity bill calculation, pattern printing, binary search, matrix multiplication, Taylor series approximation, bubble sort, string operations using functions, and storing and calculating student marks using structures. The exercises provide code snippets and expected output for each programming problem.
Introductory slides introducing programming principles in C at HKBK College by Dr. A. Syed Mustafa and Prof. Madhusudhana.
Slide 4 presents a simple calculator program that performs basic operations such as addition and subtraction. Slide 5-6 summarize the quadratic equation solution program and outputs.
Slide 7 outlines a program that calculates electricity bills based on user input of units consumed. Slide 8 includes a pyramid pattern generation program.
Slides present a binary search program that searches for an integer in an array. Slide 10 initiates matrix multiplication program setup.Slides continue the matrix multiplication program and display the resulting matrices.
Slide 12 details a program to compute sine using Taylor series and compares with built-in functions. Slide 13 introduces bubble sort algorithm for sorting arrays.
Slide 14 discusses a program implementing functions for string operations like compare and concatenate. Slide 15 demonstrates using those functions.
Slides introduce a program that manages student details, calculates average marks, and categorizes students based on average scores.
Slide 18 discusses using pointers to compute sum, mean, and standard deviation of real numbers. Slide 19 presents file copying functionality.
Slides cover additional programming tasks such as complex number operations, electricity bill computation, string manipulation, and palindrome checking.
Final slide summarizes a program to check if a string is a palindrome, rounding off the programming exercises presented throughout the lab.
BPOPS203 PRINCIPLES OF PROGRAMMING USING C LAB Manual.pdf
1.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 1 of 25 BPOPS Lab Programs PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203] by: Dr. A. Syed Mustafa Prof. Madhusudhana DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING
2.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 2 of 25 BPOPS Lab Programs HKBK COLLEGE OF E
3.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 3 of 25 BPOPS Lab Programs PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ]
4.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 4 of 25 BPOPS Lab Programs 1. Simulation of a Simple Calculator. /*Simulation of a Simple Calculator*/ #include <stdio.h> #include<conio.h> void main() { int a,b,c; char op; printf("Simple Calculatorn"); printf("Enter the Expressionn"); scanf("%d%c%d",&a,&op,&b); /* read input eg. 2+3 */ switch(op) { case '+': c=a+b; /*add 2 numbers*/ break; case '-': c=a-b; /*subtract 2 numbers*/ break; case '*': c=a*b; /*multiply 2 numbers*/ break; case '/': c=a/b; /*divide 2 numbers*/ break; case '%': c=a%b; /*find reminder of 2 numbers*/ break; default: printf("Invalid Expressionn"); } printf("%dn",c); /* display result*/ getch(); } OUTPUT:
5.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 5 of 25 BPOPS Lab Programs 2. Compute the roots of a quadratic equation by accepting the coefficients. Print appropriate messages. #include <stdio.h> #include<conio.h> void main() { int a,b,c,d; float r,r1,r2; printf("Enter the Coefficients a,b and cn"); scanf("%d%d%d",&a,&b,&c); /* read input - ax^2+bx+c */ if(a*b*c==0) { printf("Please enter non zero valuesn"); getch(); exit(0); } /*end if*/ d=b*b-4*a*c; r=2*a; if(d==0) { printf("Roots are Real and Equaln"); r1=r2=-b/r; printf("Root 1: %.2f, Root 2: %.2fn",r1,r2); } else if(d>0) { printf("Roots are Real and Distinctn"); r1=(-b+sqrt(d))/r; r2=(-b-sqrt(d))/r; printf("Root 1: %.2f, Root 2: %.2fn",r1,r2); } else { printf("Roots are Imaginaryn"); r1=-b/r; r2=sqrt(-d)/r; printf("Root 1: %.2f+i%.2f, Root 2: %.2f-i%.2fn",r1,r2,r1,r2); } /*end else*/ getch(); }/* end main*/
6.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 6 of 25 BPOPS Lab Programs OUTPUT:
7.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 7 of 25 BPOPS Lab Programs 3. An electricity board charges the following rates for the use of electricity: for the first 200 units 80 paise per unit: for the next 100 units 90 paise per unit: beyond 300 units Rs 1 per unit. All users are charged a minimum of Rs.100 as meter charge. If the total amount is more than Rs 400, then an additional surcharge of 15% of total amount is charged. Write a program to read the name of the user, number of units consumed and print out the charges. #include <stdio.h> #include<conio.h> void main() { int n,mc=100; float bill; char name[50]; printf("Enter the Name of the Usern"); scanf("%s",name); printf("Enter the number of units electricity consumedn"); scanf("%d",&n); if(n<=200) bill=n*0.8; else if(n<=300) bill=160+(n-200)*0.9; else if(n>300) bill=250+(n-300)*1; bill=bill+mc; /* meter charge added with bill*/ if(bill>400) bill=bill+bill*0.15; printf("Consumer Name: %sn",name); printf("No. of Units Consumed: %dn",n); printf("Total Bill Amount Rs. %.2fn",bill); getch(); } OUTPUT:
8.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 8 of 25 BPOPS Lab Programs 4. #include <stdio.h> #include<conio.h> void main() { int n,i,j,k,m; printf("nEnter the value of n:n"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) /*print spaces*/ printf(" "); for(k=1; k<=i ; k++) /*print increment numbers*/ printf("%d ",k); for(m=i-1; m>0; m--) /*print decrement numbers*/ printf("%d ",m); printf("n"); } /*end for*/ getch(); }/* end main*/ OUTPUT:
9.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 9 of 25 BPOPS Lab Programs 5. Implement Binary Search on Integers. #include <stdio.h> #include<conio.h> void main() { int a[100],n,s,e,mid,key,f=0,i; printf("nEnter the total no. of elements:n"); scanf("%d",&n); printf("nEnter the elements in ascending ordern"); for(i = 0 ; i < n ; i++) /*read all elements*/ scanf("%d",&a[i]); printf("nEnter the element to be searched:n"); scanf("%d",&key); s=0; /*start index*/ e=n-1; /*ending index*/ while(s<=e) { mid=(s+e)/2; /*middle index*/ if(key==a[mid]) /* comparing key value with middle value*/ { f=1; break; } if(key>a[mid]) s=mid+1; else e=mid-1; } /* end while*/ if(f) printf("Search Successfuln"); else printf("Search UnSuccessfuln"); getch(); }/* end main*/ OUTPUT:
10.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 10 of 25 BPOPS Lab Programs 6. Implement Matrix multiplication and validate the rules of multiplication. #include <stdio.h> #include<conio.h> void main() { int a[10][10],b[10][10],c[10][10]; int m,n,p,q,i,j,k; printf("nEnter the order of the matrix A:n"); scanf("%d%d",&m,&n); printf("nEnter the order of the matrix B :n"); scanf("%d%d",&p,&q); if(n!=p) /*comparing colmof Matrix A with row of Matrix B*/ { printf("Matrix Multiplication is not possiblen"); getch(); exit(0); } /* end if*/ printf("nEnter the elements of matrix An"); for(i = 0 ; i < m ; i++) for(j = 0 ; j < n ; j++) scanf("%d",&a[i][j]); printf("nEnter the elements of matrix Bn"); for(i = 0 ; i < p ; i++) for(j = 0 ; j < q ; j++) scanf("%d",&b[i][j]); for(i = 0 ; i < m ; i++) for(j = 0 ; j < q ; j++) { c[i][j]=0; for(k = 0 ; k < n ; k++) c[i][j]= c[i][j]+a[i][k]*b[k][j]; }/*end for j loop*/ printf("nMATRIX A n"); for(i = 0 ; i < m ; i++) { for(j = 0 ; j < n ; j++) printf("%dt", a[i][j]); printf("n"); }/*end for i loop*/ printf("nMATRIX B n");
11.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 11 of 25 BPOPS Lab Programs for(i = 0 ; i < p ; i++) { for(j = 0 ; j < q ; j++) printf("%dt", b[i][j]); printf("n"); }/*end for i loop*/ printf("nResultant MATRIXn"); for(i = 0 ; i < m ; i++) { for(j = 0 ; j < q ; j++) printf("%dt", c[i][j]); printf("n"); } /*end for i loop*/ getch(); }/* end main*/ OUTPUT:
12.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 12 of 25 BPOPS Lab Programs 7. Compute sin(x)/cos(x) using Taylor series approximation. Compare your result with the built-in library function. Print both the results with appropriate inferences. /*Program to compute Sin(x) using Taylor series approximation given by Sin(x) = x -(x3/3!) + (x5/5!) - (x7/7!) + ....... Compare the result with the built- in Library function and print both the results.*/ #include<stdio.h> #include<conio.h> #include<math.h> void main() { int i,degree; float x,sum=0,term,nume,deno; printf("Enter the value of degree:"); scanf("%d",°ree); x=degree*(3.142/180);/* converting degree to radian*/ nume=x; deno=1; i=2; do { term=nume/deno; nume=-nume*x*x; /*multiply by x twice*/ deno=deno*i*(i+1); /* multiply by next and next value*/ sum=sum+term; i=i+2; }while(fabs(term)>=0.00001); /*check float absolute to 0.00001*/ printf("the sine of %d is %.2fn",degree,sum); printf("the sine function of %d is %.2f:",degree,sin(x)); getch(); } OUTPUT:
13.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 13 of 25 BPOPS Lab Programs 8. Sort the given set of N numbers using Bubble sort. #include <stdio.h> #include<conio.h> void main() { int n,i,j,a[100],temp; printf("nEnter the total no. of elements:n"); scanf("%d",&n); printf("nEnter the elementsn"); for(i = 0 ; i < n ; i++) /*read all elements*/ scanf("%d",&a[i]); for(i = 0 ; i < n-1; i++) for(j = 0 ; j < n-i-1; j++) if(a[j] > a[j+1]) /*compare next 2 numbers*/ { temp = a[j]; /*swap 2 numbers*/ a[j] = a[j+1]; a[j+1] = temp; } printf("nThe Sorted elements aren"); for(i = 0 ; i < n ; i++) /* display all elements*/ printf("%dn",a[i]); getch(); }/* end main*/ OUTPUT:
14.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 14 of 25 BPOPS Lab Programs 9. Write functions to implement string operations such as compare, concatenate, and find string length. Use the parameter passing techniques. #include<stdio.h> /* string length, concate , compare*/ #include<conio.h> int slength(char s[]) { int i; for(i=0;s[i]!=0;i++); return (i); } /*end slength*/ void concat(char s1[100],char s2[100]) { int len,i; len=slength(s1); for(i=0;s2[i]!=0;i++) s1[len+i]=s2[i]; s1[len+i]=0; }/*end concate*/ void compare(char s1[100],char s2[100]) { int l1,l2,i; l1=slength(s1); l2=slength(s2); if(l1!=l2) printf("Strings are not equaln"); else { for(i=0;i<l1;i++) if(s1[i]>s2[i]) { printf("String %s is greater than string %s1n",s1,s2); return; }/*end if*/ else if(s1[i]<s2[i]) { printf("String %s is smaller than string %s1n",s1,s2); return; }/* else if*/ printf("String %s is equal with string %sn",s1,s2); }/* else*/ }/* end compare*/
15.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 15 of 25 BPOPS Lab Programs void main() { char s1[100],s2[100]; int len; printf("Enter the first stringn"); gets(s1); printf("Enter the second stringn"); gets(s2); len=slength(s1); printf("Length of '%s' is %dn",s1,len); compare(s1,s2); concat(s1,s2); printf("concatenated string is %sn", s1); getch(); } OUTPUT:
16.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 16 of 25 BPOPS Lab Programs 10. Implement structures to read, write and compute average- marks of the students, list the students scoring above and below the average marks for a class of N students. #include<stdio.h> typedef struct /* defining structure*/ { int rollno; char name[50]; float marks; }student; void main() { int n,i; float sum=0,avg; student s[50]; /* declaring 50 students*/ printf("Enter the total no of studentsn"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Enter the student: %d datails:n",i+1); printf("Enter the student Rollno:"); scanf("%d",&s[i].rollno); printf("Enter the student Name:"); scanf("%s",s[i].name); printf("Enter the marks:"); scanf("%f",&s[i].marks); sum=sum+s[i].marks; } avg=sum/n; printf("Student details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { printf("%dt",s[i].rollno); printf("%st",s[i].name); printf("%.2fn",s[i].marks); } printf("Average marks is %.2fn",avg); printf("Below average Students details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { if(s[i].marks<avg) { printf("%dt",s[i].rollno);
17.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 17 of 25 BPOPS Lab Programs printf("%st",s[i].name); printf("%.2fn",s[i].marks); } /* end if*/ } /* end for*/ printf("Above average Students details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { if(s[i].marks>avg) { printf("%dt",s[i].rollno); printf("%st",s[i].name); printf("%.2fn",s[i].marks); } /* end if*/ } /* end for*/ getch(); } /* end main*/ OUTPUT:
18.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 18 of 25 BPOPS Lab Programs 11. Develop a program using pointers to compute the sum, mean and standard deviation of all elements stored in an array of N real numbers. #include<stdio.h> #include<conio.h> #include<math.h> void main() { float a[10],*ptr,mean,std,sum=0,sumstd=0; int n,i; printf("Enter the total numbersn"); scanf("%d",&n); printf("Enter the real numbersn"); for(i=0;i<n;i++) scanf("%f",&a[i]); /* Reading Input Of N Numbers*/ ptr=a; /*assigning address of array to pointer variable*/ for(i=0;i<n;i++) sum=sum + *ptr++; /* adding real numbers stored in array through pointer*/ mean=sum/n; /* finding average or mean*/ ptr=a; /*assigning address of array to pointer variable*/ for(i=0;i<n;i++) { sumstd=sumstd+pow((*ptr-mean),2); /*finding standard deviation*/ ptr++; /* incrementing pointer to fetch next value*/ } std=sqrt(sumstd/n); /*finding standard deviation*/ printf("sum=%.2fn",sum); printf("Mean=%.2fn",mean); printf("standard deviation=%.2fn",std); getch( ); } OUTPUT:
19.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 19 of 25 BPOPS Lab Programs 12. Write a C program to copy a text file to another, read both the input file name and target file name. #include<stdio.h> #include<conio.h> void main() { char ch, fname1[50], fname2[50]; FILE *f1, *f2; printf("Enter the file name to copy its content(source file)n"); scanf("%s",fname1); printf("Enter the file name to write the copied content(target file)n"); scanf("%s",fname2); f1= fopen(fname1, "r"); if (fname1 == NULL) { printf("Can not read filen"); exit(0); } f2 = fopen(fname2, "w"); if (fname2== NULL) { fclose(f1); printf("Can not write to filen"); exit(0); } while ((ch = fgetc(f1)) != EOF) fputc(ch, f2); printf("File copied successfullyn"); fclose(f1); fclose(f2); getch( ); } OUTPUT:
20.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 20 of 25 BPOPS Lab Programs Additional Programs 1. Write a C program to compute addition, subtraction, multiplication and division on Complex Numbers. #include<stdio.h> struct complex { float rp; float ip; }; typedef struct complex COMP; COMP readcomplex() { COMP c; printf("Enter the details of Complex number:n"); scanf("%f%f",&c.rp,&c.ip); return(c); } COMP addcomplex(COMP c1,COMP c2) { COMP c3; c3.rp=c1.rp+c2.rp; c3.ip=c1.ip+c2.ip; return c3; } COMP subcomplex(COMP c1,COMP c2) { COMP c4; c4.rp=c1.rp-c2.rp; c4.ip=c1.ip-c2.ip; return c4; } COMP multicomplex(COMP c1,COMP c2) { COMP c5; c5.rp=c1.rp*c2.rp-c1.ip*c2.ip; c5.ip=c1.rp*c2.ip+c1.ip*c2.rp; return c5; }
21.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 21 of 25 BPOPS Lab Programs COMP dividecomplex(COMP c1,COMP c2) { COMP c6; c6.rp=(c1.rp*c2.rp+c1.ip*c2.ip)/(c2.rp*c2.rp+c2.ip*c2.ip); c6.ip=(c2.rp*c1.ip-c2.ip*c1.rp)/(c2.rp*c2.rp+c2.ip*c2.ip); return c6; } void displaycomplex(COMP c) { if(c.ip<0) printf("%.2f%.2fin",c.rp,c.ip); else printf("%.2f+%.2fin",c.rp,c.ip); } int main() { struct complex c1,c2,c3,c4,c5,c6; c1=readcomplex(); c2=readcomplex(); c3=addcomplex(c1,c2); c4=subcomplex(c1,c2); c5=multicomplex(c1,c2); c6=dividecomplex(c1,c2); printf("Complex number 1 is:n"); displaycomplex(c1); printf("Complex number 2 is:n"); displaycomplex(c2); printf("Complex number addition is:n"); displaycomplex(c3); printf("Complex number subtraction is:n"); displaycomplex(c4); printf("Complex number multiplication is:n"); displaycomplex(c5); printf("Complex number division is:n"); displaycomplex(c6); return(0); }
22.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 22 of 25 BPOPS Lab Programs OUTPUT:
23.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 23 of 25 BPOPS Lab Programs 2. Write a C program to compute Electricity Bill #include<stdio.h> typedef struct { long telno; char cname[50]; int units; float bill; }Tbill; int main() { Tbill t1; int fc=250; printf("Enter the Telephone numbern"); scanf("%d",&t1.telno); printf("Enter the consumer namen"); scanf("%s",t1.cname); printf("Enter the no of units usedn"); scanf("%d",&t1.units); if(t1.units<=50) t1.bill=t1.units*1; else t1.bill=t1.units*1.5; t1.bill=fc+t1.bill; printf("Telephone Bill Details:n"); printf("Telephone no: %ldn",t1.telno); printf("conusmer Name: %sn",t1.cname); printf("No of units used: %dn",t1.units); printf("Bill Amount: %.2fn",t1.bill); return 0; } OUTPUT:
24.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 24 of 25 BPOPS Lab Programs 3. Write a C program to convert a string of characters to upper case/lower case. #include<stdio.h> #include<string.h> void main() { char s1[100],s2[100]; int len,i; printf("Enter the first stringn"); gets(s1); for(i=0;s1[i]!=0;i++) /* getting each char from s1*/ if(s1[i]>='A' && s1[i]<='Z') s2[i]=s1[i]+32; /* convering to lowercase*/ else if(s1[i]>='a' && s1[i]<='z') s2[i]=s1[i]-32; /* convering to uppercase*/ else s2[i]=s1[i]; /*copying other than alpha character to s1 at last*/ s2[i]=0; /* adding null value to string*/ printf("string in upper lower case is %sn",s2); getch(); } OUTPUT:
25.
` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 25 of 25 BPOPS Lab Programs 4. Write a C program to check whether a string is palindrome or not. #include<stdio.h> /* srtring palindrome*/ void main() { char s[100]; int len,i,p=1; printf("Enter the stringn"); scanf("%s",s); for(i=0;s[i]!=0;i++); len=i; for(i=0;i<len/2;i++) if(s[i]!=s[len-1-i]) { p=0; break; } if(p) printf("string %s is palaindromen",s); else printf("string %s is not a palaindromen",s); getch(); } OUTPUT: