Home Python C Language C ++ HTML 5 CSS Javascript Java Kotlin SQL DJango Bootstrap React.js R C# PHP ASP.Net Numpy Dart Pandas Digital Marketing

C Programming Projects


1. Basic Syntax and Data Types


Project 1: Calculator

Implement basic arithmetic operations (+, -, *, /).



Project 2: Temperature Converter

Convert temperatures between Celsius and Fahrenheit.


              #include 

                int main() {
                    double temp, converted_temp;
                    char unit;
                
                    printf("Enter temperature followed by unit (C/F): ");
                    scanf("%lf %c", &temp, &unit);
                
                    if (unit == 'C' || unit == 'c') {
                        converted_temp = (temp * 9/5) + 32;
                        printf("%.2lf Celsius = %.2lf Fahrenheit\n", temp, converted_temp);
                    } else if (unit == 'F' || unit == 'f') {
                        converted_temp = (temp - 32) * 5/9;
                        printf("%.2lf Fahrenheit = %.2lf Celsius\n", temp, converted_temp);
                    } else {
                        printf("Invalid unit\n");
                    }
                
                    return 0;
                }
                
            

Project 3: Student Grades

Calculate and print the average of student grades.


              #include 

                int main() {
                    int n, i;
                    float grade, sum = 0.0, average;
                
                    printf("Enter the number of students: ");
                    scanf("%d", &n);
                
                    for (i = 1; i <= n; ++i) {
                        printf("Enter grade for student %d: ", i);
                        scanf("%f", &grade);
                        sum += grade;
                    }
                
                    average =

                    sum / n;
                    printf("Average grade = %.2f\n", average);
                
                    return 0;
                }
                
            

Project 4: Even or Odd

Determine if a number is even or odd.


              #include 

                int main() {
                    int num;
                
                    printf("Enter an integer: ");
                    scanf("%d", &num);
                
                    if (num % 2 == 0) {
                        printf("%d is even.\n", num);
                    } else {
                        printf("%d is odd.\n", num);
                    }
                
                    return 0;
                }
                
            

Project 5: Simple Interest Calculator

Calculate simple interest given principal, rate, and time.


              #include 

                int main() {
                    float principal, rate, time, interest;
                
                    printf("Enter principal amount: ");
                    scanf("%f", &principal);
                
                    printf("Enter rate of interest: ");
                    scanf("%f", &rate);
                
                    printf("Enter time period in years: ");
                    scanf("%f", &time);
                
                    interest = (principal * rate * time) / 100;
                
                    printf("Simple interest = %.2f\n", interest);
                
                    return 0;
                }
                
            



2. Control Statements


Project 1: Number Guessing Game

User has to guess a number chosen by the program.


              #include 
                #include 
                #include 
                
                int main() {
                    int number, guess, attempts = 0;
                
                    // Initialize random number generator
                    srand(time(0));
                    number = rand() % 100 + 1; // Random number between 1 and 100
                
                    printf("Guess the number between 1 and 100:\n");
                
                    do {
                        printf("Enter your guess: ");
                        scanf("%d", &guess);
                        attempts++;
                
                        if (guess > number) {
                            printf("Lower number please!\n");
                        } else if (guess < number) {
                            printf("Higher number please!\n");
                        } else {
                            printf("Congratulations! You guessed the number in %d attempts.\n", attempts);
                        }
                    } while (guess != number);
                
                    return 0;
                }
                
            

Project 2: Print Prime Numbers

Print all prime numbers up to a given number.


              #include 

                int isPrime(int num) {
                    if (num <= 1) return 0;
                    for (int i = 2; i <= num / 2; i++) {
                        if (num % i == 0) return 0;
                    }
                    return 1;
                }
                
                int main() {
                    int limit;
                
                    printf("Enter the limit: ");
                    scanf("%d", &limit);
                
                    printf("Prime numbers up to %d are:\n", limit);
                    for (int i = 2; i <= limit; i++) {
                        if (isPrime(i)) {
                            printf("%d ", i);
                        }
                    }
                    printf("\n");
                
                    return 0;
                }
                
            

Project 3: Fibonacci Series

Print the Fibonacci series up to a certain number.


              #include 

                int main() {
                    int limit, t1 = 0, t2 = 1, nextTerm = 0;
                
                    printf("Enter the limit: ");
                    scanf("%d", &limit);
                
                    printf("Fibonacci Series: %d, %d, ", t1, t2);
                    nextTerm = t1 + t2;
                
                    while (nextTerm <= limit) {
                        printf("%d, ", nextTerm);
                        t1 = t2;
                        t2 = nextTerm;
                        nextTerm = t1 + t2;
                    }
                    printf("\n");
                
                    return 0;
                }
                
            

Project 4: Factorial Calculator

Calculate the factorial of a given number.


              #include 

                int main() {
                    int num, i;
                    unsigned long long factorial = 1;
                
                    printf("Enter an integer: ");
                    scanf("%d", &num);
                
                    if (num < 0) {
                        printf("Factorial of a negative number doesn't exist.\n");
                    } else {
                        for (i = 1; i <= num; ++i) {
                            factorial *= i;
                        }
                        printf("Factorial of %d = %llu\n", num, factorial);
                    }
                
                    return 0;
                }
                
            

Project 5: Multiplication Table

Print the multiplication table of a given number.


              #include 

                int main() {
                    int num;
                
                    printf("Enter a number: ");
                    scanf("%d", &num);
                
                    printf("Multiplication Table of %d:\n", num);
                    for (int i = 1; i <= 10; ++i) {
                        printf("%d x %d = %d\n", num, i, num * i);
                    }
                
                    return 0;
                }
                
            

3. Functions


Project 1: Area and Perimeter

Functions to calculate the area and perimeter of different shapes.


              #include 

                float areaCircle(float radius) {
                    return 3.14159 * radius * radius;
                }
                
                float perimeterCircle(float radius) {
                    return 2 * 3.14159 * radius;
                }
                
                float areaRectangle(float length, float width) {
                    return length * width;
                }
                
                float perimeterRectangle(float length, float width) {
                    return 2 * (length + width);
                }
                
                int main() {
                    float radius, length, width;
                
                    printf("Enter radius of the circle: ");
                    scanf("%f", &radius);
                    printf("Area of Circle: %.2f\n", areaCircle(radius));
                    printf("Perimeter of Circle: %.2f\n", perimeterCircle(radius));
                
                    printf("Enter length and width of the rectangle: ");
                    scanf("%f %f", &length, &width);
                    printf("Area of Rectangle: %.2f\n", areaRectangle(length, width));
                    printf("Perimeter of Rectangle: %.2f\n", perimeterRectangle(length, width));
                
                    return 0;
                }
                
            

Project 2: Palindrome Checker

Check if a string or number is a palindrome.


              #include 
                #include 
                #include 
                
                int isPalindrome(char str[]) {
                    int len = strlen(str);
                    for (int i = 0; i < len / 2; i++) {
                        if (str[i] != str[len - i - 1]) {
                            return 0;
                        }
                    }
                    return 1;
                }
                
                int main() {
                    char str[100];
                
                    printf("Enter a string: ");
                    scanf("%s", str);
                
                    for (int i = 0; i < strlen(str); i++) {
                        str[i] = tolower(str[i]);
                    }
                
                    if (isPalindrome(str)) {
                        printf("%s is a palindrome.\n", str);
                    } else {
                        printf("%s is not a palindrome.\n", str);
                    }
                
                    return 0;
                }
                
            

Project 3: GCD and LCM Calculator

Find the greatest common divisor and least common multiple.


              #include 

                int gcd(int a, int b) {
                    if (b == 0)
                        return a;
                    return gcd(b, a % b);
                }
                
                int lcm(int a, int b) {
                    return (a * b) / gcd(a, b);
                }
                
                int main() {
                    int num1, num2;
                
                    printf("Enter two integers: ");
                    scanf("%d %d", &num1, &num2);
                
                    printf("GCD of %d and %d is %d\n", num1, num2, gcd(num1, num2));
                    printf("LCM of %d and %d is %d\n", num1, num2, lcm(num1, num2));
                
                    return 0;
                }
                
            

Project 4: Matrix Operations

Functions to add, subtract, and multiply matrices.


              #include 

                void addMatrices(int rows, int cols, int a[rows][cols], int b[rows][cols], int result[rows][cols]) {
                    for (int i = 0; i < rows; i++) {
                        for (int j = 0; j < cols; j++) {
                            result[i][j] = a[i][j] + b[i][j];
                        }
                    }
                }
                
                void subtractMatrices(int rows, int cols, int a[rows][cols], int b[rows][cols], int result[rows][cols]) {
                    for (int i = 0; i < rows; i++) {
                        for (int j = 0; j < cols; j++) {
                            result[i][j] = a[i][j] - b[i][j];
                        }
                    }
                }
                
                void multiplyMatrices(int r1, int c1, int a[r1][c1], int r2, int c2, int b[r2][c2], int result[r1][c2]) {
                    for (int i = 0; i < r1; i++) {
                        for (int j = 0; j < c2; j++) {
                            result[i][j] = 0;
                            for (int k = 0; k < c1; k++) {
                                result[i][j] += a[i][k] * b[k][j];
                            }
                        }
                    }
                }
                
                void printMatrix(int rows, int cols, int matrix[rows][cols]) {
                    for (int i = 0; i < rows; i++) {
                        for (int j = 0; j < cols; j++) {
                            printf("%d ", matrix[i][j]);
                        }
                        printf("\n");
                    }
                }
                
                int main() {
                    int rows = 2, cols = 2;
                    int a[2][2] = { {1, 2}, {3, 4} };
                    int b[2][2] = { {5, 6}, {7, 8} };
                    int result[2][2];
                
                    printf("Matrix A:\n");
                    printMatrix(rows, cols, a);
                
                    printf("Matrix B:\n");
                    printMatrix(rows, cols, b);
                
                    addMatrices(rows, cols, a, b, result);
                    printf("Sum of matrices:\n");
                    printMatrix(rows, cols, result);
                
                    subtractMatrices(rows, cols, a, b, result);
                    printf("Difference of matrices:\n");
                    printMatrix(rows, cols, result);
                
                    multiplyMatrices(rows, cols, a, rows, cols, b, result);
                    printf("Product of matrices:\n");
                    printMatrix(rows, cols, result);
                
                    return 0;
                }
                
            

Project 5: Sorting Algorithms

mplement bubble sort, insertion sort, and selection sort.


              #include 

                void bubbleSort(int arr[], int n) {
                    for (int i = 0; i < n - 1; i++) {
                        for (int j = 0; j < n - i - 1; j++) {
                            if (arr[j] > arr[j + 1]) {
                                int temp = arr[j];
                                arr[j] = arr[j + 1];
                                arr[j + 1] = temp;
                            }
                        }
                    }
                }
                
                void insertionSort(int arr[], int n) {
                    for (int i = 1; i < n; i++) {
                        int key = arr[i];
                        int j = i - 1;
                        while (j >= 0 && arr[j] > key) {
                            arr[j + 1] = arr[j];
                            j--;
                        }
                        arr[j + 1] = key;
                    }
                }
                
                void selectionSort(int arr[], int n) {
                    for (int i = 0; i < n - 1; i++) {
                        int minIdx = i;
                        for (int j = i + 1; j < n; j++) {
                            if (arr[j] < arr[minIdx]) {
                                minIdx = j;
                            }
                        }
                        int temp = arr[minIdx];
                        arr[minIdx] = arr[i];
                        arr[i] = temp;
                    }
                }
                
                void printArray(int arr[], int size) {
                    for (int i = 0; i < size; i++) {
                        printf("%d ", arr[i]);
                    }
                    printf("\n");
                }
                
                int main() {
                    int arr1[] = {64, 25, 12, 22, 11};
                    int n = sizeof(arr1) / sizeof(arr1[0]);
                
                    printf("Original array:\n");
                    printArray(arr1, n);
                
                    bubbleSort(arr1, n);
                    printf("Sorted array with Bubble Sort:\n");
                    printArray(arr1, n);
                
                    int arr2[] = {64, 25, 12, 22, 11};
                    insertionSort(arr2, n);
                    printf("Sorted array with Insertion Sort:\n");
                    printArray(arr2, n);
                
                    int arr3[] = {64, 25, 12, 22, 11};
                    selectionSort(arr3, n);
                    printf("Sorted array with Selection Sort:\n");
                    printArray(arr3, n);
                
                    return 0;
                }
                
            

4. Arrays and Strings



Project 1: Reverse an Array

Reverse the elements of an array.


              #include 

                void reverseArray(int arr[], int start, int end) {
                    int temp;
                    while (start < end) {
                        temp = arr[start];
                        arr[start] = arr[end];
                        arr[end] = temp;
                        start++;
                        end--;
                    }
                }
                
                void printArray(int arr[], int size) {
                    for (int i = 0; i < size; i++) {
                        printf("%d ", arr[i]);
                    }
                    printf("\n");
                }
                
                int main() {
                    int arr[] = {1, 2, 3, 4, 5, 6};
                    int n = sizeof(arr) / sizeof(arr[0]);
                
                    printf("Original array: ");
                    printArray(arr, n);
                
                    reverseArray(arr, 0, n - 1);
                
                    printf("Reversed array: ");
                    printArray(arr, n);
                
                    return 0;
                }
                
            

Project 2: Find the Largest Element in an Array

Find the largest element in a given array.


              #include 

                int findLargest(int arr[], int n) {
                    int largest = arr[0];
                    for (int i = 1; i < n; i++) {
                        if (arr[i] > largest) {
                            largest = arr[i];
                        }
                    }
                    return largest;
                }
                
                int main() {
                    int arr[] = {12, 34, 56, 78, 99, 23, 45};
                    int n = sizeof(arr) / sizeof(arr[0]);
                
                    printf("The largest element in the array is %d\n", findLargest(arr, n));
                
                    return 0;
                }
                
            

Project 3: Count the Number of Vowels in a String

Count the number of vowels in a given string.


              #include 
                #include 
                #include 
                
                int countVowels(char str[]) {
                    int count = 0;
                    for (int i = 0; i < strlen(str); i++) {
                        char c = tolower(str[i]);
                        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
                            count++;
                        }
                    }
                    return count;
                }
                
                int main() {
                    char str[100];
                
                    printf("Enter a string: ");
                    gets(str);
                
                    printf("Number of vowels in the string: %d\n", countVowels(str));
                
                    return 0;
                }
                
            

Project 4: Concatenate Two Strings

Concatenate two given strings.


              #include 
                #include 
                
                void concatenate(char result[], char str1[], char str2[]) {
                    int i = 0, j = 0;
                
                    // Copy first string
                    while (str1[i] != '\0') {
                        result[i] = str1[i];
                        i++;
                    }
                
                    // Copy second string
                    while (str2[j] != '\0') {
                        result[i] = str2[j];
                        i++;
                        j++;
                    }
                
                    result[i] = '\0'; // Null-terminate the result
                }
                
                int main() {
                    char str1[100], str2[100], result[200];
                
                    printf("Enter the first string: ");
                    gets(str1);
                
                    printf("Enter the second string: ");
                    gets(str2);
                
                    concatenate(result, str1, str2);
                
                    printf("Concatenated string: %s\n", result);
                
                    return 0;
                }
                
            

Project 5: Sorting Strings Alphabetically

Sort an array of strings alphabetically.


              #include 
                #include 
                
                void sortStrings(char arr[][100], int n) {
                    char temp[100];
                
                    for (int i = 0; i < n - 1; i++) {
                        for (int j = i + 1; j < n; j++) {
                            if (strcmp(arr[i], arr[j]) > 0) {
                                strcpy(temp, arr[i]);
                                strcpy(arr[i], arr[j]);
                                strcpy(arr[j], temp);
                            }
                        }
                    }
                }
                
                void printStrings(char arr[][100], int n) {
                    for (int i = 0; i < n; i++) {
                        printf("%s\n", arr[i]);
                    }
                }
                
                int main() {
                    int n;
                    printf("Enter number of strings: ");
                    scanf("%d", &n);
                    getchar(); // To consume the newline character after entering the number
                
                    char arr[n][100];
                
                    printf("Enter the strings one by one:\n");
                    for (int i = 0; i < n; i++) {
                        gets(arr[i]);
                    }
                
                    sortStrings(arr, n);
                
                    printf("Strings in alphabetical order:\n");
                    printStrings(arr, n);
                
                    return 0;
                }
                
            

5. Pointers and Dynamic Memory



Project 1: Swap Two Numbers Using Pointers

Swap the values of two integers using pointers.


              #include 

                void swap(int *a, int *b) {
                    int temp = *a;
                    *a = *b;
                    *b = temp;
                }
                
                int main() {
                    int x, y;
                    printf("Enter two integers: ");
                    scanf("%d %d", &x, &y);
                
                    printf("Before swapping: x = %d, y = %d\n", x, y);
                    swap(&x, &y);
                    printf("After swapping: x = %d, y = %d\n", x, y);
                
                    return 0;
                }
                
            

Project 2: Dynamic Memory Allocation for an Array

Dynamically allocate memory for an array and find its sum.


              #include 
                #include 
                
                int main() {
                    int n, *arr, sum = 0;
                    printf("Enter the number of elements: ");
                    scanf("%d", &n);
                
                    arr = (int *)malloc(n * sizeof(int));
                    if (arr == NULL) {
                        printf("Memory not allocated.\n");
                        return 1;
                    }
                
                    printf("Enter the elements:\n");
                    for (int i = 0; i < n; i++) {
                        scanf("%d", &arr[i]);
                    }
                
                    for (int i = 0; i < n; i++) {
                        sum += arr[i];
                    }
                
                    printf("Sum of elements: %d\n", sum);
                
                    free(arr);
                    return 0;
                }
                
            

Project 3: Pointer to Structure

Define a structure for a student and use a pointer to access and modify its members.


              #include 

                struct Student {
                    char name[50];
                    int age;
                    float gpa;
                };
                
                void printStudent(struct Student *s) {
                    printf("Name: %s\n", s->name);
                    printf("Age: %d\n", s->age);
                    printf("GPA: %.2f\n", s->gpa);
                }
                
                int main() {
                    struct Student s;
                    struct Student *ptr = &s;
                
                    printf("Enter name: ");
                    scanf("%s", ptr->name);
                    printf("Enter age: ");
                    scanf("%d", &ptr->age);
                    printf("Enter GPA: ");
                    scanf("%f", &ptr->gpa);
                
                    printStudent(ptr);
                
                    return 0;
                }
                
            

Project 4: Dynamic 2D Array

Dynamically allocate memory for a 2D array and perform matrix addition.


              #include 
                #include 
                
                int main() {
                    int rows, cols;
                    printf("Enter the number of rows and columns: ");
                    scanf("%d %d", &rows, &cols);
                
                    int **matrix1 = (int **)malloc(rows * sizeof(int *));
                    int **matrix2 = (int **)malloc(rows * sizeof(int *));
                    int **result = (int **)malloc(rows * sizeof(int *));
                
                    for (int i = 0; i < rows; i++) {
                        matrix1[i] = (int *)malloc(cols * sizeof(int));
                        matrix2[i] = (int *)malloc(cols * sizeof(int));
                        result[i] = (int *)malloc(cols * sizeof(int));
                    }
                
                    printf("Enter elements of the first matrix:\n");
                    for (int i = 0; i < rows; i++) {
                        for (int j = 0; j < cols; j++) {
                            scanf("%d", &matrix1[i][j]);
                        }
                    }
                
                    printf("Enter elements of the second matrix:\n");
                    for (int i = 0; i < rows; i++) {
                        for (int j = 0; j < cols; j++) {
                            scanf("%d", &matrix2[i][j]);
                        }
                    }
                
                    for (int i = 0; i < rows; i++) {
                        for (int j = 0; j < cols; j++) {
                            result[i][j] = matrix1[i][j] + matrix2[i][j];
                        }
                    }
                
                    printf("Resultant matrix:\n");
                    for (int i = 0; i < rows; i++) {
                        for (int j = 0; j < cols; j++) {
                            printf("%d ", result[i][j]);
                        }
                        printf("\n");
                    }
                
                    for (int i = 0; i < rows; i++) {
                        free(matrix1[i]);
                        free(matrix2[i]);
                        free(result[i]);
                    }
                    free(matrix1);
                    free(matrix2);
                    free(result);
                
                    return 0;
                }
                
            

Project 5: String Manipulation Using Pointers

Implement a function to find the length of a string and reverse a string using pointers.


              #include 

                int stringLength(char *str) {
                    int length = 0;
                    while (*str != '\0') {
                        length++;
                        str++;
                    }
                    return length;
                }
                
                void reverseString(char *str) {
                    char *end = str + stringLength(str) - 1;
                    char temp;
                    while (str < end) {
                        temp = *str;
                        *str = *end;
                        *end = temp;
                        str++;
                        end--;
                    }
                }
                
                int main() {
                    char str[100];
                
                    printf("Enter a string: ");
                    scanf("%s", str);
                
                    printf("Original string: %s\n", str);
                    reverseString(str);
                    printf("Reversed string: %s\n", str);
                
                    return 0;
                }
                
            

6. Structures and File I/O



Project 1: Store Student Records Using Structures

Define a structure for a student and store multiple student records in an array.


              #include 

                struct Student {
                    char name[50];
                    int roll;
                    float marks;
                };
                
                void printStudent(struct Student s) {
                    printf("Name: %s\n", s.name);
                    printf("Roll Number: %d\n", s.roll);
                    printf("Marks: %.2f\n", s.marks);
                }
                
                int main() {
                    int n;
                    printf("Enter number of students: ");
                    scanf("%d", &n);
                
                    struct Student students[n];
                
                    for (int i = 0; i < n; i++) {
                        printf("Enter details of student %d\n", i + 1);
                        printf("Name: ");
                        scanf("%s", students[i].name);
                        printf("Roll Number: ");
                        scanf("%d", &students[i].roll);
                        printf("Marks: ");
                        scanf("%f", &students[i].marks);
                    }
                
                    printf("\nStudent Details:\n");
                    for (int i = 0; i < n; i++) {
                        printStudent(students[i]);
                    }
                
                    return 0;
                }
                
            

Project 2: Write and Read a Structure to/from a File

Write student records to a file and then read them back.


              #include 

                struct Student {
                    char name[50];
                    int roll;
                    float marks;
                };
                
                int main() {
                    FILE *file;
                    struct Student s;
                
                    // Writing to file
                    file = fopen("students.dat", "wb");
                    if (file == NULL) {
                        printf("Unable to open file for writing.\n");
                        return 1;
                    }
                
                    printf("Enter details of the student to write to file\n");
                    printf("Name: ");
                    scanf("%s", s.name);
                    printf("Roll Number: ");
                    scanf("%d", &s.roll);
                    printf("Marks: ");
                    scanf("%f", &s.marks);
                
                    fwrite(&s, sizeof(struct Student), 1, file);
                    fclose(file);
                
                    // Reading from file
                    file = fopen("students.dat", "rb");
                    if (file == NULL) {
                        printf("Unable to open file for reading.\n");
                        return 1;
                    }
                
                    fread(&s, sizeof(struct Student), 1, file);
                    printf("\nStudent Details from file:\n");
                    printf("Name: %s\n", s.name);
                    printf("Roll Number: %d\n", s.roll);
                    printf("Marks: %.2f\n", s.marks);
                
                    fclose(file);
                    return 0;
                }
                
            

Project 3: Append a Record to a File

Append a student record to an existing file and display all records.


              #include 

                struct Student {
                    char name[50];
                    int roll;
                    float marks;
                };
                
                int main() {
                    FILE *file;
                    struct Student s;
                
                    // Appending to file
                    file = fopen("students.dat", "ab");
                    if (file == NULL) {
                        printf("Unable to open file for appending.\n");
                        return 1;
                    }
                
                    printf("Enter details of the student to append to file\n");
                    printf("Name: ");
                    scanf("%s", s.name);
                    printf("Roll Number: ");
                    scanf("%d", &s.roll);
                    printf("Marks: ");
                    scanf("%f", &s.marks);
                
                    fwrite(&s, sizeof(struct Student), 1, file);
                    fclose(file);
                
                    // Reading all records from file
                    file = fopen("students.dat", "rb");
                    if (file == NULL) {
                        printf("Unable to open file for reading.\n");
                        return 1;
                    }
                
                    printf("\nStudent Details from file:\n");
                    while (fread(&s, sizeof(struct Student), 1, file)) {
                        printf("Name: %s\n", s.name);
                        printf("Roll Number: %d\n", s.roll);
                        printf("Marks: %.2f\n", s.marks);
                        printf("\n");
                    }
                
                    fclose(file);
                    return 0;
                }
                
            

Project 4: Update a Record in a File

Update a student's record in the file.


              #include 
                #include 
                
                struct Student {
                    char name[50];
                    int roll;
                    float marks;
                };
                
                int main() {
                    FILE *file;
                    struct Student s;
                    int rollToUpdate;
                    int found = 0;
                
                    printf("Enter roll number of the student to update: ");
                    scanf("%d", &rollToUpdate);
                
                    file = fopen("students.dat", "rb+");
                    if (file == NULL) {
                        printf("Unable to open file for updating.\n");
                        return 1;
                    }
                
                    while (fread(&s, sizeof(struct Student), 1, file)) {
                        if (s.roll == rollToUpdate) {
                            printf("Current details:\n");
                            printf("Name: %s\n", s.name);
                            printf("Roll Number: %d\n", s.roll);
                            printf("Marks: %.2f\n", s.marks);
                
                            printf("Enter new details:\n");
                            printf("Name: ");
                            scanf("%s", s.name);
                            printf("Marks: ");
                            scanf("%f", &s.marks);
                
                            fseek(file, -sizeof(struct Student), SEEK_CUR);
                            fwrite(&s, sizeof(struct Student), 1, file);
                            found = 1;
                            break;
                        }
                    }
                
                    if (!found) {
                        printf("Student with roll number %d not found.\n", rollToUpdate);
                    }
                
                    fclose(file);
                    return 0;
                }
                
            

Project 5: Delete a Record from a File

Delete a student's record from the file.


              #include 
                #include 
                
                struct Student {
                    char name[50];
                    int roll;
                    float marks;
                };
                
                int main() {
                    FILE *file, *tempFile;
                    struct Student s;
                    int rollToDelete;
                    int found = 0;
                
                    printf("Enter roll number of the student to delete: ");
                    scanf("%d", &rollToDelete);
                
                    file = fopen("students.dat", "rb");
                    if (file == NULL) {
                        printf("Unable to open file for reading.\n");
                        return 1;
                    }
                
                    tempFile = fopen("temp.dat", "wb");
                    if (tempFile == NULL) {
                        printf("Unable to open temporary file.\n");
                        fclose(file);
                        return 1;
                    }
                
                    while (fread(&s, sizeof(struct Student), 1, file)) {
                        if (s.roll != rollToDelete) {
                            fwrite(&s, sizeof(struct Student), 1, tempFile);
                        } else {
                            found = 1;
                        }
                    }
                
                    fclose(file);
                    fclose(tempFile);
                
                    remove("students.dat");
                    rename("temp.dat", "students.dat");
                
                    if (found) {
                        printf("Student with roll number %d deleted successfully.\n", rollToDelete);
                    } else {
                        printf("Student with roll number %d not found.\n", rollToDelete);
                    }
                
                    return 0;
                }
                
            




Advertisement





Q3 Schools : India


Online Complier

HTML 5

Python

java

C++

C

JavaScript

Website Development

HTML

CSS

JavaScript

Python

SQL

Campus Learning

C

C#

java