【项目开发 | C语言项目 | C语言病人管理系统】

该项目旨在为医院或其他医疗机构提供一个简易的病人信息管理工具。用户可以通过命令行界面进行病人信息的增、删、查和改操作,并将数据持久化存储在txt文件中。


一,开发环境需求

  • 操作系统 :Windows, Linux

  • 开发环境工具 :Qt, VSCode, Visual Studio

  • 技术要求

    • C语言编程
    • 数据持久化(txt文件操作)
    • 结构体和文件分离的代码组织结构
    • 命令行交互界面设计

二,功能说明

  • 添加病人:允许用户输入新的病人信息,包括姓名、年龄、性别、疾病和住院日期。

  • 删除病人:通过输入病人姓名,删除对应的病人信息。

  • 查询病人:通过输入病人姓名,查看对应的病人信息。

  • 修改病人:通过输入病人姓名,修改该病人的信息。

  • 显示所有病人信息:列出系统中存储的所有病人的详细信息。


三,功能实现

  • 添加病人
void addPatient() {
    Patient p;
    printf("请输入病人姓名:");
    scanf("%s", p.name);
    printf("请输入病人年龄:");
    scanf("%d", &p.age);
    printf("请输入病人性别:");
    scanf("%s", p.gender);
    printf("请输入病人疾病:");
    scanf("%s", p.disease);
    printf("请输入病人住院日期(格式:yyyy-mm-dd):");
    scanf("%s", p.admissionDate);

    writePatientToFile(p);
    printf("病人信息已添加。\n");
}
  • 删除病人
void deletePatient() {
    char name[50];
    printf("请输入要删除的病人姓名:");
    scanf("%s", name);

    deletePatientFromFile(name);
    printf("病人信息已删除。\n");
}
  • 查询病人
void findPatient() {
    char name[50];
    printf("请输入要查询的病人姓名:");
    scanf("%s", name);
    Patient patients[100];
    int count, i, found = 0;

    readAllPatientsFromFile(patients, &count);
    for (i = 0; i < count; i++) {
        if (strcmp(patients[i].name, name) == 0) {
            printf("姓名:%s, 年龄:%d, 性别:%s, 疾病:%s, 住院日期:%s\n", patients[i].name, patients[i].age,
               patients[i].gender, patients[i].disease, patients[i].admissionDate);
            found = 1;
            break;
        }
    }
    if (!found) {
        printf("未找到该病人的信息。\n");
    }
}
  • 修改病人
void modifyPatient() {
    char name[50];
    Patient newInfo;

    printf("请输入要修改的病人姓名:");
    scanf("%s", name);

    printf("请输入新的姓名:");
    scanf("%s", newInfo.name);
    printf("请输入新的年龄:");
    scanf("%d", &newInfo.age);
    printf("请输入新的性别:");
    scanf("%s", newInfo.gender);
    printf("请输入新的疾病:");
    scanf("%s", newInfo.disease);
    printf("请输入新的住院日期(格式:yyyy-mm-dd):");
    scanf("%s", newInfo.admissionDate);

    modifyPatientInFile(name, newInfo);
    printf("病人信息已修改。\n");
}

  • 显示所有病人信息
void displayAllPatients() {
    Patient patients[100];
    int count, i;

    readAllPatientsFromFile(patients, &count);

    printf("\n********** 全部病人信息 **********\n\n");
    for (i = 0; i < count; i++) {
        printf("姓名:%s, 年龄:%d, 性别:%s, 疾病:%s, 住院日期:%s\n", patients[i].name, patients[i].age,
               patients[i].gender, patients[i].disease, patients[i].admissionDate);
    }
    printf("\n**********************************\n\n");
}


四,效果图

在这里插入图片描述


五,源码

代码已开源,可访问gitee下载。


六,总结

该病人管理系统为医疗机构提供了一个简易但实用的管理工具,旨在提高工作效率,确保数据准确无误。通过该系统,医疗工作人员可以轻松管理病人信息,为提供更好的医疗服务奠定基础。未来,我们期望加入更多高级功能,如数据备份、多用户支持等,使之更加完善。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值