C Program to Implement Telecom Billing System

C




#include <stdio.h>
#include <string.h>
  
// Structure to hold customer information
struct Customer {
    char name[50];
    char phoneNumber[15];
    float usage;
    float totalBill;
};
  
struct Customer
    customers[100]; // Array to store customer data
int customerCount = 0; // Variable to keep track of the
                       // number of customers
  
// Function to add a new customer record
void addRecord()
{
    if (customerCount < 100) {
        printf("\nEnter name: ");
        scanf(" %[^\n]s", customers[customerCount].name);
        printf("Enter phone number: ");
        scanf("%s", customers[customerCount].phoneNumber);
        printf("Enter usage (in minutes): ");
        scanf("%f", &customers[customerCount].usage);
        customers[customerCount].totalBill
            = customers[customerCount].usage * 0.1;
        customerCount++;
        printf("\nRecord added successfully!\n");
    }
    else {
        printf("\nMaximum number of records reached!\n");
    }
}
  
// Function to view the list of customer records
void viewRecords()
{
    printf("\nName\tPhone Number\tUsage(min)\tTotal "
           "Bill($)\n");
    for (int i = 0; i < customerCount; i++) {
        printf("%s\t%s\t%.2f\t\t%.2f\n", customers[i].name,
               customers[i].phoneNumber, customers[i].usage,
               customers[i].totalBill);
    }
}
  
// Function to modify a customer record
void modifyRecord(char phoneNumber[])
{
    for (int i = 0; i < customerCount; i++) {
        if (strcmp(customers[i].phoneNumber, phoneNumber)
            == 0) {
            printf(
                "\nEnter new usage (in minutes) for %s: ",
                customers[i].name);
            scanf("%f", &customers[i].usage);
            customers[i].totalBill
                = customers[i].usage * 0.1;
            printf("\nRecord modified successfully!\n");
            return;
        }
    }
    printf("\nRecord not found!\n");
}
  
// Function to view payment for a customer
void viewPayment(char phoneNumber[])
{
    for (int i = 0; i < customerCount; i++) {
        if (strcmp(customers[i].phoneNumber, phoneNumber)
            == 0) {
            printf(
                "%s\t%s\t%.2f\t\t%.2f\n", customers[i].name,
                customers[i].phoneNumber,
                customers[i].usage, customers[i].totalBill);
            return;
        }
    }
    printf("\nRecord not found!\n");
}
  
// Function to delete a customer record
void deleteRecord(char phoneNumber[])
{
    for (int i = 0; i < customerCount; i++) {
        if (strcmp(customers[i].phoneNumber, phoneNumber)
            == 0) {
            for (int j = i; j < customerCount - 1; j++) {
                customers[j] = customers[j + 1];
            }
            customerCount--;
            printf("\nRecord deleted successfully!\n");
            return;
        }
    }
    printf("\nRecord not found!\n");
}
  
// Function to display menu options
void displayMenu()
{
    printf("\n1. Add New Record\n");
    printf("2. View List of Records\n");
    printf("3. Modify Record\n");
    printf("4. View Payment\n");
    printf("5. Delete Record\n");
    printf("6. Exit\n");
}
  
int main()
{
    int choice;
    char phoneNumber[15];
  
    while (1) {
        displayMenu();
        printf("Enter your choice: ");
        scanf("%d", &choice);
  
        switch (choice) {
        case 1:
            addRecord();
            break;
        case 2:
            viewRecords();
            break;
        case 3:
            printf(
                "\nEnter phone number to modify record: ");
            scanf("%s", phoneNumber);
            modifyRecord(phoneNumber);
            break;
        case 4:
            printf(
                "\nEnter phone number to view payment: ");
            scanf("%s", phoneNumber);
            viewPayment(phoneNumber);
            break;
        case 5:
            printf(
                "\nEnter phone number to delete record: ");
            scanf("%s", phoneNumber);
            deleteRecord(phoneNumber);
            break;
        case 6:
            return 0;
        default:
            printf("\nInvalid choice! Please try again.\n");
        }
    }
  
    return 0;
}


Output

1. Customer Dashboard

 

2. Add New Record

 

3. View Payments

 

Execution of Program



Telecom Billing System in C

In this article, we are going to create a basic Telecom Billing System using the C programming language. This system allows users to perform operations such as adding new customer records, viewing the list of records, modifying existing records, viewing payment details, searching for specific records, and deleting records.

Similar Reads

What is a Telecom Billing System?

Telecom service is one of the biggest services having millions of users and the data managed by these companies are quite large so, we need some software system to efficiently manage this data....

Components of the Telecom Billing System Program

The telecom billing system is divided into multiple components each performing a specific task....

C Program to Implement Telecom Billing System

...

Contact Us