C语言实现一个小型的人员信息管理系统

前言

在学习结构化数据中,要实现一个小型的人员信息管理系统,可以添加,删除,查看人员信息。每一个人员信息由姓名、性别、身高、体重这4个部分组成。

1. 初学者可能会用下面这种方式,灵活性差。

下面的代码为每个人都声明了4个变量来存储个人信息。如果需要添加更多的人员,则需要在代码里添加更多的变量。如果要输入N个人的信息,代码会非常冗余。

#include <stdio.h>
 int main()
 {
    //第一个人
    char name1[20];
    int gender1;
    double height1;
    double weight1;
    //第二个人
    char name2[20];
    int gender2;
    double height2;
    double weight2;
    //第三个人
    char name3[20];
    int gender3;
    double height3;
    double weight3;
    //输入人员信息
    printf("input name gender height weight:\n");
    scanf("%s %d %lf %lf", name1, &gender1, &height1, &weight1);
    scanf("%s %d %lf %lf", name2, &gender2, &height2, &weight2);
    scanf("%s %d %lf %lf", name3, &gender3, &height3, &weight3);
    //显示人员信息
    printf("display personal information\n");
    printf("name gender height weight:\n");
    printf("%s %d %.2f %.2f\n", name1, gender1, height1, weight1);
    printf("%s %d %.2f %.2f\n", name2, gender2, height2, weight2);
    printf("%s %d %.2f %.2f\n", name3, gender3, height3, weight3);
    return 0;
 }

2. 使用数组存储数据

局限性:只能一次性输入所有人员信息,无法继续追加人员信息

#include <stdio.h>
 int main()
 {
    //使用数组存储人员信息
    //姓名数组,每个名字最多20个字节,最多10个名字
    char name[10][20];
    int gender[10];
    double height[10];
    double weight[10];

    //人员数量
    int numOfPerson = 0;

    printf("How many people?\n");
    scanf("%d",&numOfPerson);

    //输入人员信息
    printf("input name gender height weight:\n");
    for(int i=0;i<numOfPerson;i++)
    {
        scanf("%s %d %lf %lf", name[i], &gender[i], &height[i], &weight[i]);
    }
    //显示人员信息
    printf("display personal information\n");
    printf("name gender height weight:\n");
    for(int i=0;i<numOfPerson;i++)
    {
        printf("%s %d %.2f %.2f\n", name[i], gender[i], height[i], weight[i]);
    }
    return 0;
 }

3. 交互式界面

启动后显示主界面,有3个选项:

1.input person information

2.display person information

3.exit

输入1,可以输入人员信息,输入完成后,返回主界面

输入2,可以显示所有成员信息,按任意键返回主界面

输入3,就退出程序

不仅可以灵活处理和查看人员信息,而且代码精简不冗余,可以按照自己的需求更改数组。

 #include <stdio.h>
 #include <stdlib.h>
 int main()
 {
    //使用数组存储人员信息
    //姓名数组,每个名字最多20个字节,最多10个名字
    char name[10][20];
    int gender[10];
    double height[10];
    double weight[10];

    //人员数量
    int numOfPerson = 0;
    while (1)
    {
        system("cls");//system是头文件stdlib.h中的函数,它的参数是一串字符串
        //录入信息
        printf("1.input person information\n");
        //查看信息
        printf("2.display person information\n");
        //退出
        printf("3.exit\n");

        int input;
        scanf("%d", &input);
        //cls命令作用是清除控制台中之前显示过的字符
        system("cls");
        if(input == 1)//执行录入信息操作
        {
            //录入信息
            printf("input name gender height weight:\n");
            scanf("%s %d %lf %lf", name[numOfPerson], &gender[numOfPerson], &height[numOfPerson], &weight[numOfPerson]);
        numOfPerson++;
        }
        else if(input == 2)//执行查看信息操作
        {
            //查看信息
            printf("display personal information\n");
            printf("name gender height weight:\n");
            for(int i=0;i<numOfPerson;i++)
            {
                printf("%s %d %.2f %.2f\n", name[i], gender[i], height[i], weight[i]);
            }
            //pause命令暂停程序执行,按任意键后继续执行
            system("pause");
        }
        else
        {
            break;
        }
    }
    return 0;
 }

4. 聚合数据

引入一个关键词struct,将每个人的信息聚合在一个实体中。

//聚合数据struct
#include <stdio.h>
#include <stdlib.h>
int main()
{
    //1.数组定义
    struct
    {
        char name[20];
        int gender;
        double height;
        double weight;
    }arr[10];

    //人员数量
    int numOfPerson = 0;
    while (1)
    {
        system("cls");//system是头文件stdlib.h中的函数,它的参数是一串字符串
        //录入信息
        printf("1.input person information\n");
        //查看信息
        printf("2.display person information\n");
        //退出
        printf("3.exit\n");

        int input;
        scanf("%d", &input);
        //cls命令作用是清除控制台中之前显示过的字符
        system("cls");
        if(input == 1)//执行录入信息操作
        {
            //录入信息
            printf("input name gender height weight:\n");
            //2.输入数据
            scanf("%s %d %lf %lf", arr[numOfPerson].name, &arr[numOfPerson].gender, &arr[numOfPerson].height, &arr[numOfPerson].weight);
        numOfPerson++;
        }
        else if(input == 2)//执行查看信息操作
        {
            //查看信息
            printf("display personal information\n");
            printf("name gender height weight:\n");
            for(int i=0;i<numOfPerson;i++)
            {
                //3.显示数据
                printf("%s %d %.2f %.2f\n", arr[i].name, arr[i].gender, arr[i].height, arr[i].weight);
            }
            //pause命令暂停程序执行,按任意键后继续执行
            system("pause");
        }
        else
        {
            break;
        }
    }
    return 0;
}

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、系统说明 | ----------------------------------- 本系统是在Microsoft Visual Studio 2003环境下用C#语言编写的个人信息管理系统。 其主要功能有: ------------- 1.文章管理模块  (1)用户发表新文章,可以将文章设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的文章。 (2)用户可以新建文章分类,在文章查询时,文章分类可以做为查询的一个依据。 (3)用户可以查询本人的所有文章,也可以查询其它用户公开的文章,查询条件可以为: 根据文章标题、内容、文章类别、发表时间、修改时间、用户名。 (4)用户可以删除、修改、改变文章是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 2.日记管理模块 (1)用户发表新日记,可以将日记设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的日记。 (2)用户可以新建日记分类。 (3)用户可以查询本人的所有日记,也可以查询其它用户公开的日记,查询条件可以为: 根据日记标题、内容、类别、发表时间、修改时间、用户名、心情、天气。 (4)用户可以删除、修改、改变日记是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 3.相册管理模块 (1)用户可以上传新图片,可以将图片设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的图片。 (2)用户可以新建相册分类。 (3)用户可以浏览本人的所有图片,以及其它用户公开的图片。 (4)用户可以删除、更新、导出图片,但对于其它用户的图片,这些功能有所限制。 -------------- 4.备忘管理模块 (1)用户可以写新备忘,可以设置备忘提醒时间、是否提醒、备忘分类、紧急程度、查看阴阳历。 (2)用户可以新建备忘分类。 (3)用户可以查询本人的所有备忘,查询条件有:备忘标题、内容、提醒时间、是否完成、紧急程度、备忘分类。 (4)用户可以删除、更新备忘。 -------------- 5.费用管理模块 (1)用户可以写新费用,可以填写费用名称,说明,数量,单价。 (2)用户可以查询本人的所有费用,可以统计查询到的费用情况,并可以将查询记录导出到EXCEL中保存。 (3)用户可以删除、修改费用。 ---------------------------- 6.信息管理模块 (1) 用户可以更改密码。 (2) 提供管理日常联系人的信息功能,可以批量从EXCEL中导入联系人,也可以批量导出联系人。 ---------------------------- |
在日常办公中有许多常用的个人数据,如朋友电话、邮件地址、日程安排、日常记事、文件上传和下载,这些都可以用一个个人信息管理系统进行管理。个人信息管理系统可以内置于手掌上的数字处理器,以提供电子名片、便条、行程管理等功能。本项目基于B/S设计,也可以发布到网上,用户可以随时存取个人信息。 用户可以在系统中任意添加、修改、删除个人数据,包括个人的基本信息、个人通讯录、日程安排、个人文件管理。 要实现的功能包括四个方面: (1)登录与注册 系统的登录和注册功能。 (2)个人基本信息管理模块 系统中对个人基本信息的管理包括:个人的姓名、性别、出生日期、民族、学历、职称、登录名、密码、电话、家庭住址等。 (2)用户个人通讯录模块 系统的个人通讯录是保存了个人的通讯录信息,包括自己联系人的姓名、电话、邮箱、工作单位、地址、QQ等。可以自由添加联系人的信息,查询或删除联系人。 (3)日程安排模块 日程模块记录自己的活动安排或者其它有关事项,如添加从某一时间到另一时间要做什么事,日程标题、内容、开始时间、结束时间。可以自由查询,修改,删除。 (4)个人文件管理模块 该模块实现用户在网上存储临时文件的功能。用户可以新建文件夹,修改、删除、移动文件夹;上传文件、修改文件名、下载文件、删除文件、移动文件等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值