掌握C语言,轻松实现姓名登记系统

作者:用户CEUS 更新时间:2025-05-29 06:55:12 阅读时间: 2分钟

引言

姓名登记系统是一个常见的应用,它可以帮助我们有效地记录和管理个人或团体的信息。使用C语言来实现这样的系统,不仅能够锻炼编程技能,还能深入了解数据结构和算法。本文将详细介绍如何使用C语言创建一个简单的姓名登记系统。

系统需求分析

在开始编程之前,我们需要明确姓名登记系统的基本功能需求:

  1. 用户界面:提供一个简单的命令行界面,允许用户进行登记、查询和退出操作。
  2. 数据存储:使用数组或链表存储姓名信息。
  3. 功能实现
    • 添加姓名信息
    • 查询姓名信息
    • 删除姓名信息
    • 显示所有姓名信息

系统设计

数据结构

我们可以使用结构体(struct)来存储姓名信息,包括姓名和唯一标识符。

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

#define MAX_NAME_LENGTH 50
#define MAX_RECORDS 100

typedef struct {
    int id;
    char name[MAX_NAME_LENGTH];
} Record;

Record records[MAX_RECORDS];
int record_count = 0;

功能实现

以下是一些基本功能的实现:

添加姓名信息

void addRecord(int id, const char* name) {
    if (record_count >= MAX_RECORDS) {
        printf("记录已满,无法添加新记录。\n");
        return;
    }
    records[record_count].id = id;
    strncpy(records[record_count].name, name, MAX_NAME_LENGTH);
    records[record_count].name[MAX_NAME_LENGTH - 1] = '\0'; // 确保字符串以空字符结尾
    record_count++;
}

查询姓名信息

void queryRecord(int id) {
    for (int i = 0; i < record_count; i++) {
        if (records[i].id == id) {
            printf("找到记录:ID:%d, 姓名:%s\n", records[i].id, records[i].name);
            return;
        }
    }
    printf("未找到ID为:%d 的记录。\n", id);
}

删除姓名信息

void deleteRecord(int id) {
    int found = 0;
    for (int i = 0; i < record_count; i++) {
        if (records[i].id == id) {
            found = 1;
            for (int j = i; j < record_count - 1; j++) {
                records[j] = records[j + 1];
            }
            record_count--;
            printf("ID:%d 的记录已删除。\n", id);
            return;
        }
    }
    if (!found) {
        printf("未找到ID为:%d 的记录。\n", id);
    }
}

显示所有姓名信息

void displayRecords() {
    if (record_count == 0) {
        printf("没有记录。\n");
        return;
    }
    for (int i = 0; i < record_count; i++) {
        printf("ID:%d, 姓名:%s\n", records[i].id, records[i].name);
    }
}

用户界面

我们可以通过一个简单的文本菜单来与用户交互。

void printMenu() {
    printf("\n姓名登记系统\n");
    printf("1. 添加姓名\n");
    printf("2. 查询姓名\n");
    printf("3. 删除姓名\n");
    printf("4. 显示所有姓名\n");
    printf("5. 退出\n");
    printf("请选择一个操作:");
}

int main() {
    int choice, id;
    char name[MAX_NAME_LENGTH];

    while (1) {
        printMenu();
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                printf("请输入ID和姓名:");
                scanf("%d %s", &id, name);
                addRecord(id, name);
                break;
            case 2:
                printf("请输入要查询的ID:");
                scanf("%d", &id);
                queryRecord(id);
                break;
            case 3:
                printf("请输入要删除的ID:");
                scanf("%d", &id);
                deleteRecord(id);
                break;
            case 4:
                displayRecords();
                break;
            case 5:
                printf("退出系统。\n");
                exit(0);
            default:
                printf("无效的选项,请重新选择。\n");
        }
    }

    return 0;
}

总结

通过上述步骤,我们已经使用C语言实现了一个简单的姓名登记系统。这个系统能够满足基本的需求,并且提供了一个良好的起点来扩展和改进。随着编程技能的提高,可以添加更多的功能,例如数据持久化(保存到文件)、错误处理和更复杂的用户界面。

大家都在看
发布时间:2024-10-25 21:51
1、2022年杭州亚运会的主场馆像一只造型别致的莲花碗。2、杭州奥体博览城主体育馆是2022年杭州亚运会的新建体育馆,建筑位于钱塘江南岸“莲花”是继国家体育馆“鸟巢”和广东奥体中心体育场之后,中国第三大体育场馆。3、由28片大花瓣。
发布时间:2024-11-25 10:28
不算好,以前刚成立时的蓝翔技校还不错,生源多,以挖掘机技术出名,而且因为在电视台有广告宣传,使全国各地的人都有耳闻,从前几年种种原因,又改名叫梅云蓝翔,大多数人的印象里是蓝翔学校,而不是梅云蓝翔学校,所以从人们的认知上决得不算好。。
发布时间:2024-12-12 03:49
2号线 1、2 门 一号线 2号门 关键看你到奥体哪儿。
发布时间:2024-12-12 05:29
公交线路:高新3号线 → 地铁3号线 → 地铁2号线 → 723路,全程约30.6公里1、从丈八回三路/锦业路(...步行答约80米,到达锦业路·丈八三路口(绿地世纪城)站2、乘坐高新3号线,经过8站, 到达科技路西口站3、步行约200米,。
发布时间:2024-12-11 06:54
七号线美兰湖首班6:00,末班22:00;花木路首班5:30,末班22:00。。
发布时间:2024-11-11 12:01
新鲜萝卜洗净整理好后去头尾并连皮削下较厚的萝卜块儿,把中间的萝卜芯焯水后煮排骨。带皮的厚萝卜块儿晾晒1~2天有些脱水后收集起来用清水洗去浮尘后沥干水分放入老坛泡菜水中,加适量的腌制盐和2大块黄冰糖,一周后脆爽美味的泡酸萝卜开吃了,好吃的停。
发布时间:2024-12-16 13:14
1、牯牛降周末人比较多,这天去要提前订房,否则有可能会成为马路天使哦!2、景点主要是以山(牯牛降)、水(漂流)、洞(蓬莱仙洞)为主要特色,另外年轻人对百丈崖比较感兴趣,可以根据自己的年龄安排; 3、餐方面主要有:一品锅、炖土鸡、秋浦河鱼为主。
发布时间:2024-12-12 05:46
哪儿的万达广场?很多城市都有万达广场!而且一个城市里都有多个万达广场的!。
发布时间:2024-10-30 20:31
说到指甲的颜色,一般是粉红色的,一旦指甲颜色发生改变,那么很可能是真菌感染引起的。我们都知道,黑指甲就是真菌引起的一种指甲疾病,在患病之后,患者的指甲会变成。
发布时间:2024-12-11 20:55
你可以坐地铁6号线,到南锣鼓巷下去,逛完了溜达过去。。