UU们这怎么写?有偿急!

编程C语言实现简易版业主信息管理系统,具体要求如下:

1、 要求能够实现业主信息的录入、信息的查询、以及信息的删除三个基本功能;

2、 数据存储:要求使用结构体二维数组存储业主基本信息,基本信息包括(业主姓名,身份证号码,房产单元号),定义结构体时的成员名称和类型可自行确定,程序运行时,要求数组内初始化至少五条数据,数据内容由学生自行确定;

3、 信息的录入功能:要求在程序运行时,由用户交互录入;

4、 信息的查询功能:要求可以实现查询指定姓名的业主基本信息;

5、 信息的删除功能:要求能够删除指定身份证号码的业主的基本信息。

一个结构体数组而已 自己写吧
可以参考别人的


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

typedef struct people
{
    char name[10]; //姓名
    char sex[10];  //性别
    char IDnumber[20];//身份证号
    char phone[15];   // 手机号
    int building; //楼号
    int roomID;   //房号
    float roomarea;  //住房面积
    float areamoney; //每平方米物业费
    int owemoney;  //拖欠的物业费的月数
    char remarks[50];//备注
} people; //定义别名people
//      各种UI
void UI_show1()
{
    int i;
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
    for (i = 0; i < 15; i++)
        printf(" ");
    printf("你正在添加用户信息,请根据提示输入用户信息\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
}

void UI_show2()
{
    int i;
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
    for (i = 0; i < 15; i++)
        printf(" ");
    printf("你正在修改用户信息,请根据提示输入用户信息\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");

}

void UI_show3()
{
    int i;
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
    for (i = 0; i < 15; i++)
        printf(" ");
    printf("你正在删除用户信息,请根据提示输入用户信息\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
}

void UI_show4()
{
    int i;
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
    for (i = 0; i < 15; i++)
        printf(" ");
    printf("你正在使用缴费功能,请根据提示输入用户信息。\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
}

void UI_show5()
{
    int i;
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
    {
        printf("=");
    }
    printf("\n");
    for (i = 0; i < 15; i++)
    {
        printf(" ");
    }
    printf("你正在使用排序功能\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
    {
        printf("=");
    }
    printf("\n");
}
void UI_show6()
{
    int i;
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
    {
        printf("=");
    }
    printf("\n");
    for (i = 0; i < 15; i++)
        printf(" ");
    printf("你正在使用物业费自动生成功能\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
}
void UI_show7()
{
    int i;
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
    for (i = 0; i < 15; i++)
        printf(" ");
    printf("你正在使用楼号分类统计功能\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
}
//进入界面 UI 实现
void UI_show()
{
    int i;
    printf("\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n");
    for (i = 0; i < 30; i++)
        printf(" ");
    printf("欢迎进入物业费管理系统");
    for (i = 0; i < 30; i++)
        printf(" ");
    printf("\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n\n\n");
    for (i = 0; i < 33; i++)                          //以下实现  菜单界面功能选择
        printf(" ");
    printf("请选择以下功能:\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("1、添加新住户信息\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("2、修改旧住户信息\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("3、删除住户信息\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("4、物业费自动生成\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("5、缴费功能\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("6、楼号欠款排序功能\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("7、欠款排序功能\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("8、退出系统\n");
    printf("\n\n");
    for (i = 0; i < 75; i++)   //数字  控制 上方 = 数量
        printf("=");
    printf("\n\n");
    for (i = 0; i < 33; i++)
        printf(" ");
    printf("请选择:");
}

void NEW_in()
{
    FILE *fp = NULL;
    fp = fopen("output.txt", "a");//以追加的方式打开 文件
    if (fp == NULL)
    {
        printf("\n出现未知错误!按任意键退出.....\n");
        exit(0);
    }
    int build, room, ownmonth;
    float  area, money;
    char numcn[10], numcs[12], id[22], phone[15],remarks[50];
    char ch;
    system("cls"); //清屏
    UI_show1();  // 界面显示
    while (1)     //进入循环体,直到接收到用户 跳出循环
    {
        printf("请输入姓名:");
        scanf("%s", numcn);
        printf("请输入性别:");
        scanf("%s", numcs);
        printf("请输入身份证号:");
        scanf("%s", id);
        printf("请输入联系电话:");
        scanf("%s", phone);
        printf("请输入楼号:");
        scanf("%d", &build);
        printf("请输入房号:");
        scanf("%d", &room);
        printf("请输入住房面积:");
        scanf("%f", &area);
        printf("请输入每平方米物业费:");
        scanf("%f", &money);
        printf("请输入备注:");
        scanf("%s",&remarks);
        printf("请输入用户本月之前所拖欠物业费的月份(0代表不拖欠):");
        scanf("%d", &ownmonth);
        fprintf(fp, "%s  %s  %s  %s  %d  %d  %f  %f %s %d\n", numcn, numcs, id, phone, build, room, area, money,remarks,ownmonth);
        do           // 接收字符 判断是否 继续录入用户信息
        {
            printf("是否继续录入?请选择(Y/N)");
            getchar();   //接收 回车键
            scanf("%c", &ch);
        }
        while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));

        if ((ch == 'n') || (ch == 'N'))
        {
            fclose(fp);  //如果用户 输入N 则保存 并退出程序
            break;
        }
    }
}

void OLD_adjust()           //修改住户信息的功能 2、
{
    system("cls");        //清屏
    people peopleI[10000];//建立结构体 数组
    int number = 0, sign = 0, i = 1, a, test;
    char name[10],ch;
    FILE *fp = NULL;  //文件指针
    UI_show2();       //UI调用
    fp = fopen("output.txt", "r+");     //以读写的方式打开文件
    if (fp == NULL)                                                      // 错误检测
    {
        printf("文件打开失败!请先添加用户信息!\n");
        return;
        //    exit(0);
    }
    printf("请输入要修改的住户姓名:");
    scanf("%s", name);
    while (!feof(fp))  //从文件中读取
    {
        fscanf(fp, "%s%s%s%s%d%d%f%f%s%d", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, &peopleI[i].building, &peopleI[i].roomID, &peopleI[i].roomarea, &peopleI[i].areamoney, &peopleI[i].remarks,&peopleI[i].owemoney);
        i++;     //记录行的个数
    }
    printf("\n");
    i--;
    test = i;  //保存 数据的行数
    for (; i >= 0; i--)
    {
        a = strcmp(name, peopleI[i].name);  //比较 输入的用户名  和文件中的用户名
        if (a == 0)
        {
            sign = 1;  //判断 赋值1  代表找到 该数据
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n拖欠的物业费的月数%d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney, peopleI[i].remarks,peopleI[i].owemoney);
            do   // 友情提示 选择
            {
                printf("你确定要修改该用户的信息吗?(Y/N):");
                getchar();
                scanf("%c", &ch);
            }
            while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));
            if ((ch == 'y') || (ch == 'Y'))  //如果 选y则 录入信息
            {
                printf("请输入姓名:");
                scanf("%s", &peopleI[i].name);
                printf("请输入性别:");
                scanf("%s", &peopleI[i].sex);
                printf("请输入身份证号:");
                scanf("%s", &peopleI[i].IDnumber);
                printf("请输入联系电话:");
                scanf("%s", &peopleI[i].phone);
                printf("请输入楼号:");
                scanf("%d", &peopleI[i].building);
                printf("请输入房号:");
                scanf("%d", &peopleI[i].roomID);
                printf("请输入住房面积:");
                scanf("%f", &peopleI[i].roomarea);
                printf("请输入每平方米物业费:");
                scanf("%f", &peopleI[i].areamoney);
                printf("请输入备注:");
                scanf("%s",&peopleI[i].remarks);
                printf("请输入用户本月之前所拖欠物业费的月份(0代表不拖欠):");
                scanf("%d", &peopleI[i].owemoney);
                printf("修改成功!");
                fclose(fp);  //关闭文件
                fp = fopen("output.txt", "w");
                for (i = 1; i < test; i++) //将内存中 修改过的信息 重新写入文件
                {
                    fprintf(fp, "%s  %s  %s  %s  %d  %d  %f  %f  %s %d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
                }
                fclose(fp);
                break; //跳出 for循环
            }
            else  //假如不修改信息  再次写入文件
            {
                fclose(fp);
                break;
            }
        }
    }
    if (sign == 0)
    {
        printf("没找到该用户!\n请按任意键继续....");
        getchar();
    }
}
//删除住户信息的功能 3、
void OLD_delete()
{
    //  先将硬盘文件中数据 保存到 内存缓冲区中,找到要删除的用户信息,删除后 重新写入文档
    system("cls");  //清屏
    people peopleI[10000];//建立结构体 数组
    int number = 0, len = 0, sign = 0, i = 1, a, test, j, p;
    char name[10], ch, newname[10];
    FILE *fp = NULL;  //文件指针
    UI_show3();
    fp = fopen("output.txt", "r");
    if (fp == NULL)
    {
        printf("未找到文件!");
        return;    //返回 main函数
    }
    printf("请输入要删除的住户姓名:");
    scanf("%s", name);
    while (!feof(fp))  //从文件中读取,文件中数据转移到内存数组中区
    {
        //!feof(fp)只要文件不到末尾 就一直读下去
        fscanf(fp, "%s%s%s%s%d%d%f%f%f%d", peopleI[i].name, peopleI[i].sex, &peopleI[i].IDnumber, &peopleI[i].phone, &peopleI[i].building, &peopleI[i].roomID, &peopleI[i].roomarea, &peopleI[i].areamoney, &peopleI[i].remarks,&peopleI[i].owemoney);
        i++;
    }
    fclose(fp);  //保存文件
    printf("\n");
    i--;
    test = i;  //保存 行数
    for (; i >= 0; i--)
    {
        a = strcmp(name, peopleI[i].name);  //比较 输入的用户名  和文件中的用户名
        if (a == 0)   //找到相应位置
        {
            sign = 1;  // 标志 是否找到 数据
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f,备注%f,拖欠的物业费的月数%d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney, &peopleI[i].remarks,peopleI[i].owemoney);
            //显示出要修改的信息
            do
            {
                printf("你确定要删除该用户的信息吗?(Y/N):");
                getchar();
                scanf("%c", &ch);
            }
            while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));
            if ((ch == 'y') || (ch == 'Y'))  //假如 确定
            {
                printf("删除成功!");
                fp = fopen("output.txt", "w");  //以写的方式打开,源文件被清除
                for (j = 1; j <test; j++)  //重新写入文件
                {
                    if (j == i) // 不写入 第i个数据
                    {
                    }
                    else //否则  写入文件
                        fprintf(fp, "%s  %s  %s  %s  %d  %d  %f  %f %f %d\n", peopleI[j].name, peopleI[j].sex, peopleI[j].IDnumber, peopleI[j].phone, peopleI[j].building, peopleI[j].roomID, peopleI[j].roomarea, peopleI[j].areamoney,peopleI[i].remarks, peopleI[j].owemoney);
                }
                fclose(fp);  //关闭  保存缓冲区 文件
            }
            else    //假如不修改信息  再次写入文件
            {
                fp = fopen("output.txt", "w");  //以写的方式打开,源文件被清除
                for (i = 1; i < test; i++) //将内存中 修改过的信息 重新写入文件
                {
                    fprintf(fp, "%s  %s  %s  %s  %d  %d  %f  %f %f %d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
                }
                fclose(fp);
            }
        }
    }
    if (sign == 0)   //判断为未找到用户
    {
        printf("没找到该用户!\n请按回车键返回菜单选项.....");
        getchar();
    }
}

void OLD_show()
{
    system("cls");  //清屏
    people peopleI[10000];//建立结构体 数组
    people tt[1]; //临时变量 交换整个 用户的信息
    int number = 0, len = 0, sign = 0, i = 1, a, test, j, p, money[1000], t;
    char name[10], ch, newname[10];
    UI_show7();
    FILE *fp = NULL;  //文件指针
    fp = fopen("output.txt", "rb+");
    while (!feof(fp))  //从文件中读取,文件中数据转移到内存数组中区
    {
        //!feof(fp)只要文件不到末尾 就一直读下去
        fscanf(fp, "%s%s%s%s%d%d%f%f%s%d", peopleI[i].name, peopleI[i].sex, &peopleI[i].IDnumber, &peopleI[i].phone, &peopleI[i].building, &peopleI[i].roomID, &peopleI[i].roomarea, &peopleI[i].areamoney,&peopleI[i].remarks, &peopleI[i].owemoney);
        i++;
    }
    printf("\n");
    i--;
    test = i;
    printf("\n\t\t\t\t更新成功\n\n\n\n");
    for (i = 1; i < test; i++) //将内存中 修改过的信息 重新写入文件
    {
        peopleI[i].owemoney=peopleI[i].owemoney+1;
        fprintf(fp, "%s  %s  %s  %s  %d  %d  %f  %f  %s %d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
    }
    fclose(fp);
    for (i = 1; i < test; i++)   //将信息 从大到小 打印到屏幕
    {
        if (peopleI[i].owemoney == -1)
        {
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n本月之前拖欠物业费的月数0,现在拖欠的物业费用0\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
            printf("\n");
        }
        else if(peopleI[i].owemoney+1)
        {
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n本月之前拖欠物业费的月数%d,现在拖欠的物业费用%f\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney, (peopleI[i].owemoney + 1)*(peopleI[i].roomarea*peopleI[i].areamoney));
            printf("\n");
        }
    }
    fp = fopen("output.txt", "w");
    for (i = 1; i < test; i++) //将内存中 修改过的信息 重新写入文件
    {
        fprintf(fp, "%s  %s  %s  %s  %d  %d  %f  %f  %s %d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
    }
    fclose(fp);
    system("pause");
    printf("请按任意键返回菜单选项......\n");
}

void OLD_showbuild()
{
    system("cls");  //清屏
    people peopleI[10000];//建立结构体 数组
    people tt[1]; //临时变量 交换整个 用户的信息
    int number = 0, len = 0, sign = 0, i = 1, a, test, j, p, money[1000], t;
    char name[10], ch, newname[10];
    UI_show7();
    FILE *fp = NULL;  //文件指针
    fp = fopen("output.txt", "r+");
    while (!feof(fp))  //从文件中读取,文件中数据转移到内存数组中区
    {
        //!feof(fp)只要文件不到末尾 就一直读下去
        fscanf(fp, "%s%s%s%s%d%d%f%f%s%d", peopleI[i].name, peopleI[i].sex, &peopleI[i].IDnumber, &peopleI[i].phone, &peopleI[i].building, &peopleI[i].roomID, &peopleI[i].roomarea, &peopleI[i].areamoney,&peopleI[i].remarks, &peopleI[i].owemoney);
        i++;
    }
    printf("\n");
    i--;
    test = i;
    for (i = 1; i<test; i++)
        for (j = 1; j < test - i; j++)
        {
            if (peopleI[j].building> peopleI[j + 1].building)
            {
                tt[0] = peopleI[j];
                peopleI[j] = peopleI[j + 1];
                peopleI[j + 1] = tt[0];
            }
        }
    for (i = 1; i < test; i++)   //将信息 从大到小 打印到屏幕
    {
        int sum=0;
        sum=(peopleI[i].owemoney + 1)*(peopleI[i].roomarea*peopleI[i].areamoney);
        if (peopleI[i].owemoney == -1&&sum!=0)
        {
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n本月之前拖欠物业费的月数0,现在拖欠的物业费用0\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
            printf("\n");
        }
        else if(sum!=0)
        {
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n本月之前拖欠物业费的月数%d,现在拖欠的物业费用%f\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney, (peopleI[i].owemoney + 1)*(peopleI[i].roomarea*peopleI[i].areamoney));
            printf("\n");
        }
    }
    system("pause");
    printf("请按任意键返回菜单选项......\n");
}

void OLD_putmoney()
{
    system("cls");  //清屏
    people peopleI[10000];//建立结构体 数组
    int sign = 0, i = 1, a, test;
    char name[10], ch;
    UI_show4();
    FILE *fp = NULL;  //文件指针
    fp = fopen("output.txt", "r");  //读取信息
    if (fp == NULL)
    {
        printf("\n出现未知错误!按任意键退出.....\n");
        getchar();
        exit(0);
    }
    printf("请输入要缴费的住户姓名:");
    scanf("%s", name);
    while (!feof(fp))  //从文件中读取,文件中数据转移到内存数组中区
    {
        //!feof(fp)只要文件不到末尾 就一直读下去
        fscanf(fp, "%s%s%s%s%d%d%f%f%s%d", peopleI[i].name, peopleI[i].sex, &peopleI[i].IDnumber, &peopleI[i].phone, &peopleI[i].building, &peopleI[i].roomID, &peopleI[i].roomarea, &peopleI[i].areamoney,peopleI[i].remarks, &peopleI[i].owemoney);
        i++;
    }
    printf("\n");
    i--;
    test = i;
    for (; i >= 1; i--) //  查找
    {
        a = strcmp(name, peopleI[i].name);  //比较 输入的用户名  和文件中的用户名
        if (a == 0)   //找到相应位置
        {
            sign = 1;  // 标志 是否找到 数据
            printf("请您核对缴费人的信息:\n\n");
            if (peopleI[i].owemoney == -1)
            {
                printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n本月之前拖欠物业费的月数0\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney, &peopleI[i].remarks,peopleI[i].owemoney);
                printf("\n");
                printf("\n用户该月已经缴纳物业费用!\n请按回车键返回菜单选项.....");
                getchar();
                return;
            }
            else
            {
                printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d\n住房面积%f,每平物业费%f,备注%s,本月之前拖欠物业费的月数%d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
                printf("\n");
                printf("\n该用户应该缴纳的物业费为:%f 元\n", (peopleI[i].owemoney + 1)*(peopleI[i].roomarea*peopleI[i].areamoney));
            }
            {
                printf("是否为该用户缴费?(Y/N):");
                getchar();
                scanf("%c", &ch);
            }
            while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));
            if ((ch == 'y') || (ch == 'Y'))
            {
                //计算 并 修改  用户所拖欠的月数
                peopleI[i].owemoney = -1;
                printf("缴费成功!\n请按回车键返回菜单选项.....");
                fclose(fp); //先关闭 文件  再以写的权限打开  清空源文件
                fp = fopen("output.txt", "w");
                for (i = 1; i < test; i++) //重新写入
                {
                    fprintf(fp, "%s  %s  %s  %s  %d  %d  %f %f %s  %d\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
                }
                fclose(fp);
                getchar();
                return;
            }
        }
    }
    if (sign == 0)   //判断为未找到用户
    {
        printf("没找到该用户!\n请按回车键返回菜单选项.....");
        getchar();
        getchar();
    }
}

void OLD_showmoney()//排序功能,按拖欠款项多少,对所有用户信息进大到小排序  5、
{
    system("cls");  //清屏
    people peopleI[10000];//建立结构体 数组
    people tt[1]; //临时变量 交换整个 用户的信息
    int number = 0, len = 0, sign = 0, i = 1, a, test, j, p, money[1000], t;
    char name[10], ch, newname[10];
    UI_show5();
    FILE *fp = NULL;  //文件指针

    fp = fopen("output.txt", "r+");
    while (!feof(fp))  //从文件中读取,文件中数据转移到内存数组中区
    {
        //!feof(fp)只要文件不到末尾 就一直读下去
        fscanf(fp, "%s%s%s%s%d%d%f%f%s%d", peopleI[i].name, peopleI[i].sex, &peopleI[i].IDnumber, &peopleI[i].phone, &peopleI[i].building, &peopleI[i].roomID, &peopleI[i].roomarea, &peopleI[i].areamoney,&peopleI[i].remarks, &peopleI[i].owemoney);
        i++;
    }
    printf("\n");
    i--;
    test = i;
    for (i = 1; i<test; i++)
        for (j = 1; j < test - i; j++)
        {
            if (peopleI[j].owemoney < peopleI[j + 1].owemoney)
            {
                tt[0] = peopleI[j];
                peopleI[j] = peopleI[j + 1];
                peopleI[j + 1] = tt[0];
            }
        }

    for (i = 1; i < test; i++)   //将信息 从大到小 打印到屏幕
    {
        if (peopleI[i].owemoney == -1)
        {
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n本月之前拖欠物业费的月数0,现在拖欠的物业费用0\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney);
            printf("\n");
        }
        else
        {
            printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f备注%s\n本月之前拖欠物业费的月数%d,现在拖欠的物业费用%f\n", peopleI[i].name, peopleI[i].sex, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].building, peopleI[i].roomID, peopleI[i].roomarea, peopleI[i].areamoney,peopleI[i].remarks, peopleI[i].owemoney, (peopleI[i].owemoney + 1)*(peopleI[i].roomarea*peopleI[i].areamoney));
            printf("\n");
        }
    }
    system("pause");
    printf("请按任意键返回菜单选项......\n");
}

int NEW_oj()//判断文件是否为空
{
    FILE *fp;

    fp = fopen("output.txt", " r");
    if (fp == NULL)
    {
        fp = fopen("output.txt", " w");
    }

    if (fgetc(fp) == EOF)
    {
        fclose(fp);
        return 0;
    }
    else
    {
        return 1;
        fclose(fp);
    }
}

void EXIT() // 退出
{
    char ch;
    do
    {
        printf("你确定退出吗?(Y/N):");
        getchar();
        scanf("%c", &ch);

    }
    while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));

    if ((ch == 'y') || (ch == 'Y'))
    {
        exit(0);
    }
}

int main()
{
    int pan, p;
    while (1)
    {
        p = NEW_oj();//判断用户文件是否为空
        if (p == 0)
        {
            printf("查询文件中未存在用户信息,请先进行用户信息录入!!!");
            printf("\n请按回车键,进入用户信息添加系统.....");
            getchar();
            NEW_in();
        }
        system("cls");  //清屏
        UI_show();    //调用 界面UI 显示
        scanf("%d", &pan);
        switch (pan)
        {
        case 1:
            NEW_in();
            break;//新用户信息添加
        case 2:
            OLD_adjust();
            break;//修改住户信息的功能
        case 3:
            OLD_delete();
            break;//删除住户信息的功能
        case 4:
            OLD_show();
            break;//账单生成
        case 5:
            OLD_putmoney();
            break;//缴费功能,计算住户的物业费
        case 6:
            OLD_showbuild();
            break;
        case 7:
            OLD_showmoney();
            break;//排序功能,按拖欠款项多少,对所有用户信息进行排序
        case 8:
            EXIT();
            break;//退出
        default:
            printf("\n\t\t\t输入错误! 按回车键返回重新选择");//按键错误反馈
        }
        getchar();
        system("cls");//清屏
    }
    system("pause");
    return 0;
}


网上找一篇管理系统参考,改成自己的业务。

创建结构体,慢慢根据需求就可写了

  1.不使用任何第三方库,只使用最基础的标准库

    2.绝大多数使用C语言,少量输入输入会设计C++语句

    3.先设计好思路,再编程!

    4.所有涉及C语言代码的,都会先讲基础语法知识,再去使用它们。、

    5.你不需要已经学过C语言,但你至少要见过C语言的样子。
https://www.bilibili.com/read/cv4896394/