Skip to content

luc092.c

Problem Statement

Write a program to store names in a file. Display the n-th name in the list, where n is read from the keyboard.

Metadata

Property Detail
Author Amit Dutta amitdutta4255@gmail.com
Date 08 Feb 2026
License MIT License (See the LICENSE file for details)

Actions

Raw View on GitHub

💡 You can print or save this file by opening Raw and using your browser.

Source Code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

void create_name_file();

int main()
{
    FILE *fp;
    char name[50];
    int n, current = 0, found = 0;

    create_name_file();

    printf("Enter value of n to find n-th name: ");
    scanf("%d", &n);

    fp = fopen("names.txt", "r");
    if (!fp) exit(1);

    // Assuming one name per line
    while (fgets(name, sizeof(name), fp) != NULL)
    {
        current++;
        if (current == n)
        {
            printf("The %d-th name is: %s", n, name);
            found = 1;
            break;
        }
    }

    if (!found)
        printf("Record not found (Only %d names exist).\n", current);

    fclose(fp);
    return 0;
}

void create_name_file()
{
    FILE *f = fopen("names.txt", "w");
    fprintf(f, "Alice\nBob\nCharlie\nDavid\nEve\nFrank\n");
    fclose(f);
}