Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

C File

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 37

GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY

LAB PRACTICAL FILE


Programming For Problem Solving using C Lab
BCA-101P

Submitted To: Submitted By:


Ms. Priya tripathi Name: Bhavya Vij
Assistant Professor Enrolment no: 08224402024
Class: BCA E2

Department of Computer Science


Institute of Innovation in Technology & Management
D-27, 28, Institutional Area, Janakpuri, New Delhi-110058
Practical 01.
Write a program to convert temperature from celsius to Fahrenheit by taking
input from the user.
Code:
#include <stdio.h>
#include<conio.h>
int main() {
float celsius, fahrenheit;
printf("Enter temperature in Celsius: ");
scanf("%f", &celsius);
fahrenheit = (celsius * 9/5) + 32;
printf("%.2f°C is equal to %.2f°F\n", celsius, fahrenheit);
getch();
return 0;
}

Output:-
Practical 02.
Write a program to find the greatest number among 3 numbers given by the
user.
Code:
#include <stdio.h>
#include<conio.h>
int main() {
int a,b,c;
printf("Enter three numbers\n");
scanf("%d %d %d",&a, &b, &c);
if(a>b && a>c){
printf("a is the greatest number");
}
else if (b>a && b>c){
printf("b is the greatest number");
}
else{
printf("c is the greatest number");
}
getch();
return 0;
}
Output:-
Practical 03.
Write a program to check if a given number is a prime number or not.
Code:
#include <stdio.h>
#include<conio.h>
int main() {
float n,i,result;
printf("Enter a number\n");
scanf("%f",&n);
result=n/i;
for(i=2;i<=n/2;i++){
if(result!=0){
printf("It is a prime number");
}
else{
printf("It is NOT a Prime number");
}
}
getch();
return 0;
}

Output:-
Practical 04.
Write a program to display the following pattern upto N rows, taking the
value of N from the user.
1
23
456
7 8 9 10
Code:
#include <stdio.h>
#include<conio.h>
int main() {
int n, i, j, num = 1;
printf("Enter the number of lines: ");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++) {
printf("%d ", num);
num++;
}
printf("\n");
}
getch();
return 0;
}
Output:-
Practical 05.
Write a program to input marks for 50 students using an array and display
the average marks of the class.
Code:
#include <stdio.h>
#include<conio.h>
int main() {
int marks[50];
int i;
float sum = 0.0, average;
for (i = 0; i < 50; i++) {
printf("Enter marks for student %d: ", i + 1);
scanf("%d", &marks[i]);
sum += marks[i];
}
average = sum / 50.0;
printf("The average marks of the class is: %.2f\n", average);
getch();
return 0;
}
Output:-
Practical 06.
Write a program to search for a number entered by the user in a given
array and display the array in ascending order.
Code:
#include <stdio.h>
#include<conio.h>
void sortArray(int arr[], int size) {

for (int i = 0; i < size - 1; i++) {


for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[50], size, searchNum, found = 0;
printf("Enter the number of elements in the array (up to 50): ");
scanf("%d", &size);
printf("Enter %d elements:\n", size);
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
printf("Enter the number to search: ");
scanf("%d", &searchNum);
for (int i = 0; i < size; i++) {
if (arr[i] == searchNum) {
found = 1;
break;
}
}
sortArray(arr, size);
if (found) {
printf("%d is found in the array.\n", searchNum);
} else {
printf("%d is not found in the array.\n", searchNum);
}
printf("The array in ascending order is:\n");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
getch();
return 0;
}
Output:-
Practical 07.
Write a program to check if a string is palindrome or not.
Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main() {
char str[100];
int i,length,flag = 0;
printf("Enter a string: ");
scanf("%s",str);
length = strlen(str);
for(i = 0; i < length / 2; i++)
{
if(str[i] != str[length - i - 1]){
flag = 1;
break;
}
}
if(flag){
printf("%s is not a palindrome\n",str);
}
else{
printf("%s is a palindrome\n",str);
}
getch();
return 0;
}
Output:-
Practical 08.
Write a program to add, subtract, mulƟply and divide two numbers
using pointers.
Code:
#include <stdio.h>
#include<conio.h>
void add(float *a, float *b, float *result) {
*result = *a + *b;
}
void subtract(float *a, float *b, float *result) {
*result = *a - *b;
}
void multiply(float *a, float *b, float *result) {
*result = *a * *b;
}
void divide(float *a, float *b, float *result) {
if (*b != 0) {
*result = *a / *b;
} else {
printf("Error: Division by zero is not allowed.\n");
}
}
int main() {
float num1, num2;
float result;
printf("Enter two numbers:\n");
printf("Number 1: ");
scanf("%f", &num1);
printf("Number 2: ");
scanf("%f", &num2);
add(&num1, &num2, &result);
printf("Addition: %.2f + %.2f = %.2f\n", num1, num2, result);
subtract(&num1, &num2, &result);
printf("Subtraction: %.2f - %.2f = %.2f\n", num1, num2, result);
multiply(&num1, &num2, &result);
printf("Multiplication: %.2f * %.2f = %.2f\n", num1, num2, result);
divide(&num1, &num2, &result);
if (num2 != 0) {
printf("Division: %.2f / %.2f = %.2f\n", num1, num2, result);
}
getch();
return 0;
}

Output:-
Practical 09.

Write a program to create a structure for employees containing the


following data members: Employee ID, Employee Name, Age, Address,
Department and Salary. Input data for 10 employees and display the
details of the employee from the employee ID given by the user.

Code:
#include <stdio.h>
#include<conio.h>
#include <string.h>
#define NUM_EMPLOYEES 10
struct Employee {
int id;
char name[50];
int age;
char address[100];
char department[30];
float salary;
};
void inputEmployeeData(struct Employee employees[], int count) {
for (int i = 0; i < count; i++) {
printf("Enter details for Employee %d:\n", i + 1);
printf("Employee ID: ");
scanf("%d", &employees[i].id);
printf("Name: ");
scanf(" %[^\n]", employees[i].name);
printf("Age: ");
scanf("%d", &employees[i].age);
printf("Address: ");
scanf(" %[^\n]", employees[i].address);
printf("Department: ");
scanf(" %[^\n]", employees[i].department);
printf("Salary: ");
scanf("%f", &employees[i].salary);
printf("\n");
}
}
void displayEmployeeByID(struct Employee employees[], int count, int id) {
for (int i = 0; i < count; i++) {
if (employees[i].id == id) {
printf("\nEmployee Details:\n");
printf("ID: %d\n", employees[i].id);
printf("Name: %s\n", employees[i].name);
printf("Age: %d\n", employees[i].age);
printf("Address: %s\n", employees[i].address);
printf("Department: %s\n", employees[i].department);
printf("Salary: %.2f\n", employees[i].salary);
return;
}
}
printf("Employee with ID %d not found.\n", id);
}
int main() {
struct Employee employees[NUM_EMPLOYEES];
int id;
inputEmployeeData(employees, NUM_EMPLOYEES);
printf("Enter Employee ID to display details: ");
scanf("%d", &id);
displayEmployeeByID(employees, NUM_EMPLOYEES, id);
getch();
return 0;
}
Output:-
Practical 10.
Write a program to create two files with names EvenFile and OddFile. Input
20 numbers from the user and save even numbers in EvenFile and odd
numbers in OddFile.

Code:
#include <stdio.h>
#include<conio.h>

int main() {
int numbers[20];
FILE *evenFile, *oddFile;
evenFile = fopen("EvenFile.txt", "w");
if (evenFile == NULL) {
printf("Error opening EvenFile.txt\n");
return 1;
}
oddFile = fopen("OddFile.txt", "w");
if (oddFile == NULL) {
printf("Error opening OddFile.txt\n");
return 1;
}
printf("Enter 20 numbers:\n");
for (int i = 0; i < 20; i++) {
printf("Number %d: ", i + 1);
scanf("%d", &numbers[i]);
if (numbers[i] % 2 == 0) {
fprintf(evenFile, "%d\n", numbers[i]);
} else {
fprintf(oddFile, "%d\n", numbers[i]);
}
}
fclose(evenFile);
fclose(oddFile);
printf("Even numbers have been written to EvenFile.txt\n");
printf("Odd numbers have been written to OddFile.txt\n");
getch();
return 0;
}
Output:
Practical 11.
Write a menu driven program to construct a calculator for following
arithmetic operations: addition, subtraction, multiplication, division, average,
and percentage.
Code.
#include <stdio.h>
#include<conio.h>
int main() {
char op;
double a,b;
printf("Enter an operator(+,-,*,/,a,p):");
scanf("%c",&op);
printf("Enter 2 operands:");
scanf("%lf %lf",&a,&b);
switch(op){
case '+':
printf("%.1lf+%.1lf=%.1lf",a,b,a+b);
break;
case '-':
printf("%.1lf-%.1lf=%.1lf",a,b,a-b);
break;
case'*':
printf("%.1lf*%.1lf=%.1lf",a,b,a*b);
break;
case'/':
printf("%.1lf/%.1lf=%.1lf",a,b,a/b);
break;
case'a':
printf("%.1lfa%.1lf=%.1lf",a,b,(a+b)/2);
break;
case'p':
printf("%.1lfp%.1lf=%.1lf",a,b,(a+b)/100);
break;
default:
printf("Entered Operator is NOT correct");
}
getch();
return 0;
}

Output:-
Practical 12.
Write a menu driven program to perform the following operations:
1. Print armstrong numbers upto N
2. Display prime numbers between 1 to N
3. Reverse of an integer
Code:
#include<stdio.h>
#include<conio.h>
int main(){
int choice, n;
printf("\nMenu:\n");
printf("1. Print Armstrong numbers up to N\n");
printf("2. Display Prime numbers between 1 to N\n");
printf("3. Reverse of an integer\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Enter a number: ");
scanf("%d", &n);
printf("Armstrong numbers up to %d: ", n);
for (int i = 1; i <= n; i++) {
if (armstrong(i)) printf("%d ", i);
}
printf("\n");
break;
case 2:
printf("Enter a number: ");
scanf("%d", &n);
printf("Prime numbers between 1 to %d: ", n);
for (int i = 1; i <= n; i++) {
if (prime(i)) printf("%d ", i);
}
printf("\n");
break;
case 3:
printf("Enter a number: ");
scanf("%d", &n);
printf("Reverse of %d: %d\n", n, reverse(n));
break;
default:
printf("Invalid choice. Please choose again.\n");
}
getch();
return 0;
}
Output:
Practical 13.
Write a program to calculate factorial of a number and display Fibonacci
series upto N terms using recursive functions.
Code:
#include <stdio.h>
#include <conio.h>
int fibonacci (int n){
if (n==0)
return 0;
else if (n==1)
return 1;
else
return fibonacci (n-1)+fibonacci(n-2);
}
int main(){
int n,i;
clrscr();
printf(“Enter the number of terms:”);
scanf(“%d”,&n);
printf(“Fibonacci series:”);
for(i=0; i<n;i++){
printf (“%d”,fibonacci(i));
}
getch();
return 0;
}
Output:
Practical 14.
WAP to perform I/O and make use of file positioning functions on Binary
files. (using fseek, tell, rewind functions)

Code:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *file;
int numbers[] = {10, 20, 30, 40, 50};
int num, position;
file = fopen("data.bin", "wb");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
fwrite(numbers, sizeof(int), 5, file);
fclose(file);
file = fopen("data.bin", "rb");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
fseek(file, 2 * sizeof(int), SEEK_SET);
fread(&num, sizeof(int), 1, file);
printf("Third number in file (using fseek): %d\n", num);
position = ftell(file);
printf("Current file position (after reading third number): %d\n", position);
rewind(file);
printf("File position after rewind: %d\n", ftell(file));
fread(&num, sizeof(int), 1, file);
printf("First number in file (after rewind): %d\n", num);
fclose(file);
getch();
return 0;
}
Output:
Practical 15.
Write a menu driven program to implement the following string
operations:
(i) Calculate length of a string
(ii) Concatenate at the end of a given
(iii) Copy one string to another
(iv) Compare contents of two strings
(v) Copy nth character string to another
Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void calculate_length(char str[]){
printf("length of string: %lu\n", strlen(str));
}
void concatenate_strings(char str1[], char str2[]){
strcat(str1,str2);
printf("concatenated strings: %s\n", str1);
}
void copy_string(char source[], char destination[]) {
strcpy(destination, source);
printf("Copied string: %s\n", destination);
}
void compare_strings(char str1[], char str2[]){
int result= strcmp(str1, str2);
if (result == 0) {
printf("Strings are equal\n");
} else {
printf("Strings are not equal\n");
}
}
void copy_nth_character(char str[], int n) {
if (n > 0 && n <= strlen(str)) {
printf("Nth character: %c\n", str[n-1]);
} else {
printf("Index out of range\n");
}
}
int main() {
char str1[100], str2[100], destination[100];
int choice, n;
while(1){
printf("Menu:\n");
printf("1. Calculate length of a string\n");
printf("2. Concatenate at the end of a given string\n");
printf("3. Copy one string to another\n");
printf("4. Compare contents of two strings\n");
printf("5. Copy nth character string\n");
printf("6. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Enter a string: ");
scanf("%s", str1);
calculate_length(str1);
break;
case 2:
printf("Enter first string: ");
scanf("%s", str1);
printf("Enter second string: ");
scanf("%s", str2);
concatenate_strings(str1, str2);
break;
case 3:
printf("Enter a string to copy: ");
scanf("%s", str1);
copy_string(str1, destination);
break;
case 4:
printf("Enter first string: ");
scanf("%s", str1);
printf("Enter second string: ");
scanf("%s", str2);
compare_strings(str1, str2);
break;
case 5:
printf("Enter a string: ");
scanf("%s", str1);
printf("Enter the position: ");
scanf("%d", &n);
copy_nth_character(str1, n);
break;
case 6:
printf("Exiting...\n");
return 0;
default:
printf("Invalid choice! Please try again.\n");
}
}
getch();
return 0;
}

Output:-

You might also like