本文主要是介绍C语言程序设计课程设计 - (物业管理系统 - 纯C),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本套代码分享了我大一C语言实训时最后的 C语言课程设计,第一次接触编程能力还很弱,欢迎拍砖提议。。
额。。。2019.7.7更,最近好多人都在问我代码的问题,大多是大一的,可能C语言语法还不是太熟悉,代码很难复现出来。(看来又到实训期了。。。)
现在做下补充:
1、开发环境:本人大一的时候还是用的visual studio 2015(没在VC++6.0上做测试,咱也不知道。。。咱也不敢问,都9102年了,为何还用VC++6.0。。。)下载visual studio 系列的就好,不用纠结2010 2015 2017的版本。
2、项目目录结构,num1.h是声明了各种函数还有结构体,Utils.c是各个函数的实现,Main.c是整个程序执行文件(直接运行MainR.c就好了)
3、文件找不到问题:(请查看Utils.c下所有出现路径的地方,改成正确的路径。ps:output.txt还是要有的哈)
4、最后考虑到大多是大一的,源码就不挂在GitHub上了,放百度云里了
链接:https://pan.baidu.com/s/1sUd7mhFKR-9eRrpLSwO38A
提取码:fgtx
复制这段内容后打开百度网盘手机App,操作更方便哦
下载后食用方法:
1)依次点击:文件->打开->项目解决方案
2) 找到下载的文件,双击进去,选中Project3.sln,点击打卡就完成了
问题描述及设计要求:
住户信息包括:户主姓名、性别、身份证号、联系电话、楼号、单元号、房号、住房面积,每平方米物业费、应缴纳物业费。试设计一物业费管理系统,使之能提供以下功能:
(1)新住户信息的添加(信息不包括应缴纳物业费),可连续添加多名住户的信息;
(2)修改住户信息的功能,输入将修改住户的姓名,读出该住户信息,要求对此进行确认,以决定是否修改,将修改后的信息写到文件中;
(3)删除住户信息的功能,要求同(2);
(4)缴费功能,计算住户的物业费,如果该住户之前的物业费未交清,则本月物业费与之前拖欠费用进行累加,为该用户应缴纳的物业费;根据用户缴纳金额,修改“应缴纳物业费”;
(5)排序功能,按拖欠款项多少,对所有用户信息进行从大到小排序,并输出排序结果;
(6)用菜单进行管理;
(7)只有正确输入用户名密码才能使用此系统;
(8)所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。
最终效果展示:
完整代码: (按工程文件建立就好一个.h两个.c,includ时修改为自己的文件名)
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; //拖欠的物业费的月数}people; //定义别名peoplevoid MM_pass();//密码判定函数
void UI_show();//进入界面 UI 实现
void NEW_in(); //新用户信息添加
void OLD_adjust();//修改住户信息的功能
void OLD_delete(); //删除住户信息的功能
void OLD_putmoney();//缴费功能,计算住户的物业费
void OLD_showmoney();//排序功能,按拖欠款项多少,对所有用户信息进
int NEW_oj();//判断文件是否为空
void EXIT();// 退出//各种UI
void UI_show1();
void UI_show2();
void UI_show3();
void UI_show4();
void UI_show5();
#define _CRT_SECURE_NO_WARNINGS
#include"num1.h"
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
#include<malloc.h> // malloc()等//=======================================================================
//密码判定函数
void MM_pass()
{//首先进行用户名判断,当存在此用户名后 再进行与该用户名 匹配的密码 判断 。当密码输入3次错误时 退出程序int count = 0, a, i;char MM[10] = { "passkey" }, MI[10]; //密码存放char UW[10] = { "hello" }, UU[10]; //用户名存放//------------------------------------------------------------- for (i = 0; i<8; i++) //UI欢迎界面{printf("\n");}for (i = 0; i<30; i++){printf(" ");}printf("欢迎进入物业管理系统\n");
//------------------------------------------------------------------------------- while (1) //进入循环 //判断用户名是否存在{for (i = 0; i<30; i++){printf(" ");}printf("请输入用户名:"); //提示输入用户名gets_s(UU); //键盘得到 用户名if (strcmp(UW, UU) == 0) //如果用户名存在 则判断密码是否正确{for (i = 0; i<30; i++){printf(" ");}printf("请输入密码:");for (count = 0; count<3; count++) //判断密码是否正确{gets_s(MI);a = strcmp(MM, MI);if (a == 0) // 如果比对 成功{system("cls");return ; //返回值,结束此函数}if (count == 0 || count == 1) //比对不成功{for (i = 0; i<30; i++){printf(" ");}printf("请输入密码:"); //提示重新输入密码}}//由于执行过count++ 则count为3if (count >= 3) //密码输错3次 程序锁定 错误判定{for (i = 0; i<25; i++){printf(" ");}printf("密码3输入错误,程序锁定,退出重试。\n");getchar();exit(0);}}else{for (i = 0; i<30; i++){printf(" ");}printf("查无此用户!\n");}}}//=======================================================================
//进入界面 UI 实现
void UI_show()
{int i, j;
//--------------------------------------------------------------------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");printf("\n\n");for (i = 0; i < 75; i++) //数字 控制 上方 = 数量 {printf("=");}printf("\n\n");for (i = 0; i < 33; i++){printf(" ");}printf("请选择:");//实现界面UI}//=======================================================================
//新用户信息添加 1、
void NEW_in()
{FILE *fp = NULL; //定义文件指针 C:\Users\Administrator\Desktopfp = fopen("C:\\Users\\Administrator\\Desktop\\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];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("请输入用户本月之前所拖欠物业费的月份(0代表不拖欠):");scanf("%d", &ownmonth);//缓冲区保存到文件fprintf(fp, "%s %s %s %s %d %d %f %f %d\n", numcn,numcs,id,phone,build,room,area,money,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("C:\\Users\\Administrator\\Desktop\\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%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].owemoney);// fread(&peopleI[i],sizeof(struct people),1,fp);//数据每次 读取一行 i++; //记录行的个数}///----------------------------------- //printf("%f\n", peopleI[1].owemoney);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\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].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("请输入用户本月之前所拖欠物业费的月份(0代表不拖欠):");scanf("%d", &peopleI[i].owemoney);printf("修改成功!");fclose(fp); //关闭文件fp = fopen("C:\\Users\\Administrator\\Desktop\\output.txt", "w");for (i = 1; i < test; i++) //将内存中 修改过的信息 重新写入文件{fprintf(fp, "%s %s %s %s %d %d %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].owemoney);}fclose(fp);break; //跳出 for循环}else //假如不修改信息 再次写入文件{//for (i = 1; i < test; i++) //将内存中 修改过的信息 重新写入文件//{// fprintf(fp, "%s %s %s %s %d %d %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].owemoney);//}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("C:\\Users\\Administrator\\Desktop\\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%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].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,拖欠的物业费的月数%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].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("C:\\Users\\Administrator\\Desktop\\output.txt", "w"); //以写的方式打开,源文件被清除for (j = 1; j <test; j++) //重新写入文件 {if (j == i) // 不写入 第i个数据{//操作为空 }else //否则 写入文件fprintf(fp, "%s %s %s %s %d %d %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[j].owemoney);}fclose(fp); //关闭 保存缓冲区 文件}else //假如不修改信息 再次写入文件{fp = fopen("C:\\Users\\Administrator\\Desktop\\output.txt", "w"); //以写的方式打开,源文件被清除for (i = 1; i < test; i++) //将内存中 修改过的信息 重新写入文件{fprintf(fp, "%s %s %s %s %d %d %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].owemoney);}fclose(fp);}}}if (sign == 0) //判断为未找到用户{printf("没找到该用户!\n请按回车键返回菜单选项.....");getchar();}}
//================================================================================================
//缴费功能,计算住户的物业费 4、
void OLD_putmoney()
{// 先将硬盘文件中数据 保存到 内存缓冲区中,找到要缴费的用户信息,判断是否 要缴纳费用// 如果要缴纳费用 则 显示 应收费用=住房面积*每平方米物业费+ 拖欠的物业费的月数*住房面积*每平方米物业费// 读取 实际收取的费用。 则 修改文件中 拖欠物业费的月数, 拖欠物业费的月数=-1 代表本月已经缴纳了物业费用system("cls"); //清屏people peopleI[10000];//建立结构体 数组int sign = 0, i = 1, a, test;
// float aa;char name[10], ch;UI_show4();FILE *fp = NULL; //文件指针fp = fopen("C:\\Users\\Administrator\\Desktop\\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%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].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\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].owemoney);printf("\n");printf("\n用户该月已经缴纳物业费用!\n请按回车键返回菜单选项.....");getchar();return;}else{printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d\n住房面积%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].owemoney);printf("\n");printf("\n该用户应该缴纳的物业费为:%f 元\n", (peopleI[i].owemoney + 1)*(peopleI[i].roomarea*peopleI[i].areamoney));}//显示出信息/*if (peopleI[i].owemoney == -1){}*/// printf("\n该用户应该缴纳的物业费为:%f 元\n",(peopleI[i].owemoney+1)*(peopleI[i].roomarea*peopleI[i].areamoney));do{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("C:\\Users\\Administrator\\Desktop\\output.txt", "w");for (i = 1; i < test; i++) //重新写入{fprintf(fp, "%s %s %s %s %d %d %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].owemoney);}fclose(fp);getchar();return;} }}if (sign == 0) //判断为未找到用户{printf("没找到该用户!\n请按回车键返回菜单选项.....");getchar();getchar();}}
//========================================================================================
void OLD_showmoney()//排序功能,按拖欠款项多少,对所有用户信息进大到小排序 5、
{//读取到内存缓冲区 对peopleI[i].owemoney 用户所欠费用 的数据进行冒泡排序 并从大到小打印到屏幕中system("cls"); //清屏people peopleI[10000];//建立结构体 数组people tt[1]; //临时变量 交换整个 用户的信息//comper *p;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("C:\\Users\\Administrator\\Desktop\\output.txt", "r+");while (!feof(fp)) //从文件中读取,文件中数据转移到内存数组中区{ //!feof(fp)只要文件不到末尾 就一直读下去fscanf(fp, "%s%s%s%s%d%d%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].owemoney);i++;}printf("\n");i--;test = i;//对owemoney 的大小进行 经典冒泡排序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\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].owemoney);printf("\n");}else{printf("姓名%s,性别%s,身份证号%s,联系方式%s,楼号%d,房号%d,住房面积%f,每平物业费%f\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].owemoney, (peopleI[i].owemoney + 1)*(peopleI[i].roomarea*peopleI[i].areamoney));printf("\n");}}printf("请按任意键返回菜单选项......\n");
}
//================================================================================
int NEW_oj()//判断文件是否为空
{FILE *fp;fp = fopen("C:\\Users\\Administrator\\Desktop\\output.txt", " r");if (fp == NULL){fp = fopen("C:\\Users\\Administrator\\Desktop\\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);}}//===================================================================================
// 各种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");
}
#define _CRT_SECURE_NO_WARNINGS //取消安全检查
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
#include"num1.h"
//以上包含必须的头文件int main()
{//system("mode con cols=80 lines=25");//设置窗口大小 cols 行 //system("color D7");//设置颜色int pan,p;//MM_pass();// 调用 密码程序 输入3次密码错误 程序锁定while (1){p=NEW_oj();//判断用户文件是否为空if (p == 0){printf("\n\n查询文件中未存在用户信息,请先进行用户信息录入!!!");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_putmoney(); break;//缴费功能,计算住户的物业费case 5:OLD_showmoney(); break;//排序功能,按拖欠款项多少,对所有用户信息进行排序case 6:EXIT(); break;//退出default:printf("\n\t\t\t输入错误! 按回车键返回重新选择");//按键错误反馈}getchar();getchar();system("cls");//清屏}system("pause"); return 0;
}
这篇关于C语言程序设计课程设计 - (物业管理系统 - 纯C)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!