1、题目要求
用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理。要求用文件存储相关信息。
⑴可随时浏览、录入和更改小区住户、收费项目等数据。
⑵可随时增、删、改、查收费项目及其标准。
⑶生成小区住户收费报表(包括全部、已交、欠交)。
2、需求分析
住户信息、物业收费信息要用文件存储(可用一个文件,也可分成两个文件)因而提供文件的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。
3、功能模块图
整个管理系统可以设计为住户信息、物业收费信息的浏览、修改、增加等模块。
依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层次结构:
物业收费信息结构体:
struct wuye { //物业信息结构体//
char ID[100];
int last_year;
int last_month;
float money;
int to_time;
struct wuye *link;
};
5、源代码
程序:
#include
#include
#include
#include
#include
int mainmenu(); //主菜单
void xinximenu(); //物业信息菜单
void tongjimenu();//统计查询菜单
void mychaozhao(); //欠费名单
void yezhumenu();//业主菜单
void wuyemenu();//物业菜单
void myAdd1();//录入业主信息
void myAdd2(); //录入物业信息
void myDelete1();//删除业主信息
void myDelete2();//删除物业信息
void myReplace1();//修改业主信息
void myReplace2();//修改物业信息
void Display1();//浏览业主信息
void Display2();//浏览物业信息
void myfind();//查询缴费
void Display(struct wuye *p);
void Read1();
void Read2();
void save1(struct yezhu *p);//保存业主信息至文件void save2(struct wuye *p);//保存物业信息至文件struct yezhu *find1(char *id); //查找业主信息
struct wuye *find2(char *id);//查找物业信息`
struct yezhu *myAdd3(struct yezhu *p);//添加业主信息struct wuye *myAdd4(struct wuye *p);
struct yezhu { //业主结构体//
char id[100];
char name[20];
int age;
int family_num;
int floor_num;
char room_num[100];
float lost;
int area;
char rz_time[20];
struct yezhu *next;
};
struct wuye { //物业信息结构体//
char ID[100];
int last_year;
int last_month;
float money;
int to_time;
struct wuye *link;
};
struct yezhu *phead; //业主头结点
struct wuye *pHead; //物业头结点
int mainmenu()//主菜单//
{
int n;
printf("**************************欢迎进入小区物业管理系统***************************\n");
printf("-----------------------------------------------------------------------------\n");
printf("* * * * * * * * * * * * * * * 〓请选择〓(1~3)* * * * * * * * * * * * * * *\n");
printf("* *\n"); printf("* *\n");
printf("* ⒈物业信息系统; *\n");
printf("* *\n");
printf("* ⒉统计查询系统; *\n");
printf("* *\n");
printf("* ⒊退出程序。 *\n");
printf("* *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("请您输入选项★№:");
scanf("%d",&n);
return n;
}
void xinximenu()//物业信息菜单显示//
{
int choose;
do {
printf("*****************************物业信息系统************************************\n");
printf("-----------------------------------------------------------------------------\n");
printf("* * * * * * * * * * * * * * * 〓请选择〓(1~3)* * * * * * * * * * * * * * *\n");
printf("* *\n");
printf("* *\n");
printf("* ⒈小区业主信息管理; *\n");
printf("* *\n");
printf("* ⒉物业费用信息管理; *\n");
printf("* *\n");
printf("* ⒊返回主菜单。 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf("请您输入选项★№:");
scanf("%d",&choose);
switch(choose)
{
case 1:yezhumenu();
break;
case 2:wuyemenu();
break;
case 3:return;
default:printf("输入错误,请重新输入:\n");
}
} while(1);
}
void tongjimenu() //统计查询菜单显示//
{
int choose;
do {
printf("******************************统计查询系统***********************************\n");
printf("-----------------------------------------------------------------------------\n");
printf("* * * * * * * * * * * * * * * 〓请选择〓(1~3)* * * * * * * * * * * * * * *\n");
printf("* *\n");
printf("* *\n");
printf("* ⒈查询缴费信息; *\n");
printf("* *\n");
printf("* ⒉欠费名单一览表; *\n");
printf("* *\n");
printf("* ⒊返回主菜单。 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("请您输入选项★№:");
scanf("%d",&choose);
switch(choose)
{
case 1 : myfind();
break;
case 2 : mychaozhao();
break;
case 3 : return;
default: printf("输入错误,请重新输入!\n\n");
}
} while(1);
}
void yezhumenu()//业主菜单函数
{
int choose;
do {
printf("********************************业主信息编辑系统******************************-\n");
printf("-------------------------------------------------------------------------------\n");
printf("* * * * * * * * * * * * * * * *〓请选择〓(1~5)* * * * * * * * * * * * * * *\n");
printf("* *\n");
printf("* *\n");
printf("* ⒈业主信息录入; *\n");
printf("* *\n");
printf("* ⒉业主信息修改; *\n");
printf("* *\n");
printf("* ⒊业主信息删除; *\n");
printf("* *\n");
printf("* ⒋业主信息浏览; *\n");
printf("* *\n");
printf("* ⒌返回上级菜单。 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("请输入选项★№:");
scanf("%d",&choose);
//getchar();
switch(choose)
{
case 1 :myAdd1();
break;
case 2 :myReplace1();
break;
case 3 :myDelete1();
break;
case 4 :Display1();
break;
case 5 : return;
default: printf("输入错误,请重新输入:\n");
}
} while(1);
}
void myAdd1()//录入业主信息//
{
struct yezhu *p;
p=(struct yezhu *)malloc(sizeof(struct yezhu));
printf("请录入业主信息:\n");
printf("ID:");
scanf("%s",p->id);
printf("姓名:");
scanf("%s",p->name);
printf("年龄:");
scanf("%d",&p->age);
printf("家庭成员数:");
scanf("%d",&p->family_num);
printf("所在楼号:");
scanf("%d",&p->floor_num);
printf("单元房间号:");
scanf("%s",p->room_num);
printf("住宅面积:");
scanf("%d",&p->area);
printf("入住时间:");
scanf("%s",p->rz_time);
myAdd3(p);
save1(p);
printf("录入成功!\n");
}
struct yezhu *myAdd3(struct yezhu *p)//添加业主信息结点// {
struct yezhu *t;
if(phead==NULL)
{
phead=p;
p->next=NULL;
}
else
{
t=phead;
while(t->next!=NULL)
t=t->next;
t->next=p;
p->next=NULL;
return phead;
}
}
void myReplace1()//修改业主信息
{
struct yezhu *k;
char id[100];
printf("请输入要修改的业主ID:");
scanf("%s",id);
k=find1(id);
if(k!=NULL)
{
printf("请输入要修改的业主信息:\n");
printf("ID:");
scanf("%s",k->id);
printf("姓名:");
scanf("%s",k->name);
printf("年龄:");
scanf("%d",&k->age);
printf("家庭成员数:");
scanf("%d",&k->family_num);
printf("所在楼号:");
scanf("%d",&k->floor_num);
printf("单元房间号:");
scanf("%s",k->room_num);
printf("住宅面积:");
scanf("%d",&k->area);
printf("入住时间:");
scanf("%s",k->rz_time);
save1(k);
printf("修改成功!\n");
}
else
{
printf("无此业主ID!\n");
return;
}
}
struct yezhu *find1(char *id)//通过ID查找业主信息// {
struct yezhu *p;
p=phead;
while(p!=NULL)
{
if(strcmp(p->id,id)==0)
return p;
p=p->next;
}
return NULL;
}
void Display1()
{
struct yezhu *p;
p=phead;
while(p!=NULL)
{
printf("\n\n");
printf("ID:%s\n",p->id);
printf("姓名:%s\n",p->name);
printf("年龄:%d\n",p->age);
printf("家庭成员数:%d\n",p->family_num);
printf("所在楼号:%d\n",p->floor_num);
printf("单元房间号:%s\n",p->room_num);
printf("住宅面积:%d\n",p->area);
printf("入住时间:%s\n",p->rz_time);
printf("\n\n");
p=p->next;
}
}
void myDelete1()
{
struct yezhu *p,*pp;
struct wuye *k,*kk;
char id[100];
pp=phead;
kk=pHead;
printf("请输入要删除人的ID:");
scanf("%s",id);
p=find1(id);
k=find2(id);
if(p!=NULL)
{
if(p==phead)
{
phead=p->next;
free(p);
}
else
{
while(pp->next!=p)
pp=pp->next;
pp->next=p->next;
free(p);
}
}
else
{
printf("无此业主ID!\n");
return;
}
printf("删除业主信息成功!\n");
save1(p);
if(k!=NULL)
{
if(k==pHead)
{
pHead=k->link;
free(k);
}
else
{
while(kk->link!=k)
kk=kk->link;
kk->link=k->link;
free(k);
}
}
else
{
printf("无此业主ID!\n");
return;
}
printf("删除物业信息成功!\n");
save2(k);
}
void save1(struct yezhu *p)
{
FILE *fp;
fp=fopen("yezhu.dat","wb");
p=phead;
while(p!=NULL)
{
fwrite(p,sizeof(struct yezhu),1,fp);
p=p->next;
}
fclose(fp);
}
void Read1()
{
FILE *fp;
struct yezhu *p;
fp=fopen("yezhu.dat","rb");
while(1)
{
p=(struct yezhu *)malloc(sizeof(struct yezhu));
if(feof(fp))
{
break;
}
if(fread(p,sizeof(struct yezhu),1,fp))
{
myAdd3(p);
}
}
fclose(fp);
}
void wuyemenu()
{
int choose=0;
do {
printf("*********************************物业费用管理系统************************\n");
printf("-------------------------------------------------------------------------\n");
printf("* * * * * * * * * * * * * * * 〓请选择〓(1~5)* * * * * * * * * * * * *\n");
printf("* * \n");
printf("* *\n");
printf("* ⒈物业信息录入; *\n");
printf("* *\n");
printf("* ⒉物业信息修改; *\n");
printf("* *\n");
printf("* ⒊物业信息删除; *\n");
printf("* *\n");
printf("* ⒋物业信息浏览; *\n");
printf("* *\n");
printf("* ⒌返回上级菜单。 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("请输入选项:");
scanf("%d",&choose);
switch(choose)
{
case 1: myAdd2();
break;
case 2: myReplace2();
break;
case 3: myDelete2();
break;
case 4: Display2();
break;
case 5: return;
default:printf("输入错误,请重新输入:\n");
}
} while(1);
}
void myAdd2()//录入物业信息//
{
struct wuye *p;
struct yezhu *t;
int x;
p=(struct wuye *)malloc(sizeof(struct wuye));
printf("请录入物业信息:\n");
printf("ID:");
scanf("%s",p->ID);
t=find1(p->ID);
if(t!=NULL)
{
printf("上一次缴费年份:");
scanf("%d",&p->last_year);
printf("月份:");
scanf("%d",&p->last_month);
printf("缴费金额:");
scanf("%f",&p->money);
x=p->money/(0.4*t->area);
p->to_time=(int)x;
myAdd4(p);
save2(p);
printf("录入成功!\n");
}
{
printf("无此业主ID!\n");
return;
}
}
struct wuye *myAdd4(struct wuye *p)//添加物业信息结点// {
struct wuye *t;
if(pHead==NULL)
{
pHead=p;
p->link=NULL;
}
else
{
t=pHead;
while(t->link!=NULL)
t=t->link;
t->link=p;
p->link=NULL;
}
return pHead;
}
struct wuye *find2(char *id)//通过姓名查找缴费信息// {
struct wuye *p;
p=pHead;
while(p!=NULL)
{
if(strcmp(p->ID,id)==0)
return p;
p=p->link;
}
return NULL;
}
void myfind()
{
struct wuye *p;
char a[100];
printf("请输入要查找的业主id:");
scanf("%s",a);
p=find2(a);
if(p!=NULL)
printf("业主已经存缴!\n");
}
else
{
printf("业主尚没存缴信息!\n");
return;
}
Display(p);
}
void myReplace2()//
{
char id[20];
int x;
struct wuye *k;
struct yezhu *t;
printf("请输入要修改的业主ID:");
scanf("%s",id);
if(k!=NULL)
{
printf("您要修改的信息为:\n");
printf("请输入新的信息:\n");
printf("ID:");
scanf("%s",k->ID);
printf("上一次缴费年份:");
scanf("%d",&k->last_year);
printf("月份:");
scanf("%d",&k->last_month);
printf("缴费金额:");
scanf("%f",&k->money);
t=find1(k->ID);
x=(int)k->money/(0.4*t->area);
k->to_time=(int)x;
myAdd4(k);
save2(k);
printf("修改成功!\n");
}
else
{
printf("无此业主ID!\n");
return;
}
}
void myDelete2()//
struct wuye *p,*pp;
char id[100];
pp=pHead;
printf("请输入要删除人的ID:");
scanf("%s",id);
p=find2(id);
if(p!=NULL)
{
if(p==pHead)
{
pHead=p->link;
free(p);
}
else
{
while(pp->link!=p)
pp=pp->link;
pp->link=p->link;
free(p);
}
}
else
{
printf("无此业主ID!\n");
return;
}
save2(p);
printf("删除成功!\n");
}
void Display2()
{
struct wuye *p;
p=pHead;
while(p!=NULL)
{
printf("ID:%s\n",p->ID);
printf("最后一次缴费日期:%d年%d月\n",p->last_year,p->last_month);
printf("缴费金额:%f元\n",p->money);
printf("费用有效期:%d个月\n",p->to_time);
printf("\n\n\n");
p=p->link;
}
void Display(struct wuye *p)
{
printf("业主ID:%s\n",p->ID);
printf("最后一次缴费日期:%d年%d月\n",p->last_year,p->last_month);
printf("最后一次缴费金额:%f\n",p->money);
printf("费用有效期:%d个月\n",p->to_time);
}
void Read2()//
{
FILE *fp;
struct wuye *p;
fp=fopen("wuye.dat","rb");
while(1)
{
p=(struct wuye *)malloc(sizeof(struct wuye));
if(feof(fp))
break;
if(fread(p,sizeof(struct wuye),1,fp))
myAdd4(p);
}
fclose(fp);
}
void save2(struct wuye *p)//
{
FILE *fp; fp=fopen("wuye.dat","wb");
p=pHead;
while(p!=NULL)
{
fwrite(p,sizeof(struct wuye),1,fp);
p=p->link;
}
fclose(fp);
}
void mychaozhao()//
{
int year,month;
struct wuye *k;
struct yezhu *l;
k=pHead;
l=phead;
printf("请输入当前年份:");
scanf("%d",&year);
printf("请输入当前月份:");
scanf("%d",&month);
while(k!=NULL)
{
if(year>k->last_year)
{
l=find1(k->ID);
l->lost=(float)(month+12-k->to_time-k->last_month)*(0.4*l->area);
if(l->lost>0)
{
printf("业主ID*:%s\n",l->id);
printf("业主姓名*:%s\n",l->name);
printf("最后一次缴费日期:%d年%d月\n",k->last_year,k->last_month);
printf("欠费金额*:%f\n",l->lost);
printf("\n\n");
}
}
if(year==k->last_year)
{
l=find1(k->ID);
l->lost=(float)(month-k->to_time-k->last_month)*(0.4*l->area);
if(l->lost>0)
{
printf("业主ID:%s\n",l->id);
printf("业主姓名:%s\n",l->name);
printf("最后一次缴费日期:%d年%d月\n",k->last_year,k->last_month);
printf("欠费金额:%f\n",l->lost); printf("\n\n");
}
}
k=k->link;
}
}
void main()//
{
int m;
//Read1();//第一次没有信息,不可用!!!
//Read2();//第一次没有信息,不可用!!!
do {
m=mainmenu();
switch(m)
{
case 1: xinximenu();
break;
case 2: tongjimenu();
break;
case 3:printf("*****************************谢谢使用,再见!***********************************\n"); exit(0);
}
} while(1);
}
#include
#i n c l u d e"s t d i o.h" #include "stdlib.h" #include "string.h" #define M 5 struct People { int a; char ming[30]; char xiang[30]; int b; int c; }P[M]; void main() { int a=1; void menu_1(int a); menu_1(a); } void menu_1(int a) { void menu_2(); void menu_3(); void biao_1(); int loop=1; while(loop) { system("cls"); printf("\t WELCOME \n"); printf("\t--------------------(*^◎^*)--------------------\n"); printf("\t- -\n"); printf("\t- -\n"); printf("\t- 1.小区用户管理-\n"); printf("\t- 2.物业收费管理-\n"); printf("\t- 3.生成小区住户收费报表-\n"); printf("\t- 4.退出-\n"); printf("\t- -\n"); printf("\t- -\n"); printf("\t-------------------o(╯□╰)o-------------------\n"); printf("\t END \n"); printf("请输入所要选择内容的序号(1-4):[ ]\b\b"); scanf("%d",&a); switch(a) {
C语言程序设计物业管理 系统 The latest revision on November 22, 2020
#i n c l u d e"" #include "" #include "" #define M 5 struct People { int a; char ming[30]; char xiang[30]; int b; int c; }P[M]; void main() { int a=1; void menu_1(int a); menu_1(a); } void menu_1(int a) { void menu_2(); void menu_3(); void biao_1(); int loop=1; while(loop) { system("cls"); printf("\t WELCOME \n"); printf("\t--------------------(*^◎^*)--------------------\n");
printf("\t- -\n"); printf("\t- -\n"); printf("\t- 1.小区用户管理 -\n"); printf("\t- 2.物业收费管理 -\n"); printf("\t- 3.生成小区住户收费报表 -\n"); printf("\t- 4.退出 -\n"); printf("\t- -\n"); printf("\t- -\n"); printf("\t-------------------o(╯□╰)o-------------------\n"); printf("\t END \n"); printf("请输入所要选择内容的序号(1-4):[ ]\b\b"); scanf("%d",&a); switch(a) { case 1:menu_2();break; case 2:menu_3();break; case 3:biao_1();break; case 4:exit(0);break; default :exit(0); } getchar(); getchar(); } }
#include "stdio.h" #include "stdlib.h" #include "string.h" #define M 5 struct People { int a; char ming[30]; char xiang[30]; int b; int c; }P[M]; void main() { int a=1; void menu_1(int a); menu_1(a); } void menu_1(int a) { void menu_2(); void menu_3(); void biao_1(); int loop=1; while(loop) { system("cls"); printf("\t WELCOME \n"); printf("\t--------------------(*^◎^*)--------------------\n"); printf("\t- -\n"); printf("\t- -\n"); printf("\t- 1.小区用户管理-\n");
printf("\t- 2.物业收费管理-\n"); printf("\t- 3.生成小区住户收费报表-\n"); printf("\t- 4.退出-\n"); printf("\t- -\n"); printf("\t- -\n"); printf("\t-------------------o(╯□╰)o-------------------\n"); printf("\t END \n"); printf("请输入所要选择内容的序号(1-4):[ ]\b\b"); scanf("%d",&a); switch(a) { case 1:menu_2();break; case 2:menu_3();break; case 3:biao_1();break; case 4:exit(0);break; default :exit(0); } getchar(); getchar(); } } void menu_2() { void scan_1(); void add_1(); void rewrite_1(); void delete_1(); void seek_1(); int a; system("cls"); printf("\t *欢迎使用小区用户管理系统* \n"); printf("\t-----------------↖(^ω^)↗---------------------\n"); printf("\t- -\n"); printf("\t- -\n");
c语言物业管理系统 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998
#include<> #include<> #include<> #ifdef __GNUC__ #include<> #include<> #define clear clear #define Sleep(x) usleep(x##000) #endif #ifdef _MSC_VER #include<> #include<> #define clear system("cls") #endif #define TRUE 1 #define FAUSE 0 typedef struct per { char name[20]; int sex; char IDcard[19]; char phone[12]; int build_num; int unit_num; int house_num; float area; float area_price; float charge; char remarks[200]; struct per *next; }PERSON; void zhuce (); int login (); PERSON *Getdata (FILE *fp); void add_person (); void del (PERSON *L); void change (PERSON *L); void sort_All (PERSON *L); void pay (PERSON *L); void sort_B_num (PERSON *L); void menu_1 (); void menu_2 (); int main () {
#i nclude "stdio.h" #i nclude "stdlib.h" #include "string.h" #defi ne M 5 struct People { int a; char min g[30]; char xia ng[30]; int b; int c; }P[M]; void mai n() { int a=1; void menu _1(i nt a); menu _1(a); } void menu _1(i nt a) { void menu _2(); void menu _3(); void biao_1(); int loop=1; while(loop) { system("cls"); prin tf("\t WELCOME \n"); printf("\t—— ------------ (*A ◎ A*) ------------ --------- \n ”); prin tf("\t- -\n"); prin tf("\t- -\n"); prin tf("\t- 1. 小区用户管理-\n");
prin tf("\t- 2. 物业收费管理 -\n"); prin tf("\t- 3. 生成小区住户收费报表 -\n"); prin tf("\t- 4. 退出 -\n"); prin tf("\t- -\n"); prin tf("\t- -\n"); printf("\t —— ---0( 丿 口3)0— -------------- \n"); prin tf("\t END \n"); prin tf (” 请输入所要选择内容的序号 (1-4):[ ]\b\b"); scan f("%d", &a); switch(a) { case 1:me nu _2();break; case 2:me nu _3();break; case 3:biao_1();break; case 4:exit(0);break; default :exit(0); } getchar(); getchar(); } } void menu _2() { void sca n_1(); void add_1(); void rewrite_1(); void delete_1(); void seek_1(); int a; system("cls"); prin tf("\t * printf("\t ---------- prin tf("\t- prin tf("\t- prin tf("\t- 1. 浏览用户资料 -\n"); prin tf("\t- 2. 录入用户资料 -\n"); prin tf("\t- 3. 更改用户资料 -\n"); prin tf("\t- 4. 删除用户资料 -\n"); prin tf("\t- 5. 查找用户资料 -\n"); prin tf("\t- -\n"); prin tf("\t- -\n"); printf("\t —— --0( n n )O ------------ ----------- \n ” ); prin tf("\t END \n"); printf (” 请输入所要选择内容的序号 (1-3):[ ]\b\b"); scan f("%d",&a); switch(a) { 欢迎使用小区用户管理系统 * \n"); \ (A 3 A ) / ---------------------- \n"); -\n"); -\n");
一. 设计目的 1.熟悉结构体类型的定义; 2.练习对数据的储存和读写:对文件的操作; 3.实现函数的定义及对函数的调用; 4.学习链表的建立,使用链表实现对数据的改动; 5.掌握调试程序的方法,熟练单步跟踪等。 二. 设计内容 主要实现以下几个功能: 1.管理员及业主账号的创建及核对,管理员密码的修改;2.录入业主信息; 3.修改,增加,删除信息; 4.信息的查询,打印,统计; 5.信息的文件储存; 6.文件的读写; 7.密码的加密。 三.概要设计 1.功能模块图;
2.各个模块详细的功能描述。 1.创建住户信息: 键盘输入住户信息,有姓名,联系方式,房屋号码,房产所有,车位拥有情况,收费项目,家庭人口等。并储存在文件中。 2.添加: 选择进行添加,添加住户信息。并储存进指定文件中。添加完毕后返回主界面。 3.修改:
选择进行修改,进入后可选择修改的内容(包括联系方式,住户姓名,房间号等)。根据修改的内容查找用户,继续进行修改,输入新的信息,完成后打印新信息,存入指定文件。不再修改时返回主界面。 4.删除: 选择要删除的人的信息(姓名或者房号),根据此信息查找该用户并删除相应信息,并存入指定文件中。 5.打印: 利用读文件及链表打印存入的信息。 6.查询: 打开文件,根据姓名或房间号查询此业主的全部信息。7.统计: 打开文件,每个住户的车位信息与no比较,不是则进行加 加操作,统计出已用车位总数。 8.修改密码: 核对修改的账号,输入新密码,存入文件,并进行加密。 9.查询2: 打开文件,根据姓名或房间号查询此业主的姓名,联系方式,房间号信息 四.详细设计
# i n c l u d e #include "" #include "" #define M 5 struct People { int a; char ming[30]; char xiang[30]; int b; int c; }P[M]; void main() { int a=1; void menu_1(int a); menu_1(a); } void menu_1(int a) { void menu_2(); void menu_3(); void biao_1(); int loop=1; while(loop) { system("cls"); printf("\t WELCOME \n"); printf("\t ----- (*A ◎ A*) --- ------------ \n"); printf("\t- -\n"); printf("\t- -\n"); printf("\t- 1. 小区用户管理-\n"); printf("\t- 2. 物业收费管理-\n"); printf("\t- 3. 生成小区住户收费报表-\n printf("\t- 4. 退出-\n"); printf("\t- -\n"); printf("\t- -\n"); printf("\t ----- ---o( 丿口 3)0— ------------- \n"); printf("\t END \n"); printf(" 请输入所要选择内容的序号(1-4):[ ]\b\b"); scanf("%d",&a); switch(a) { case 1:menu_2();break; case 2:menu_3();break; case 3:biao_1();break; case 4:exit(0);break; default :exit(0); } getchar(); getchar(); } }
#include
cout<<" ******************************************"< XX大学信息科学与工程学院 课程设计报告书 课题:药品信息管理系统 姓名: 专业:电子信息工程 年级: 2 0 1 3 级 指导老师: 时间: 目录 引言 ------------------------------------------------------------1 一、系统概述 ------------------------------------------------2 二、需求分析 ------------------------------------------------2 1、系统需求 -------------------------------------------2 2、开发环境 -------------------------------------------3 三、详细设计 -----------------------------------------------4 四、所遇到的问题和分析解决 --------------------------10 五、系统特色及关键技术 --------------------------------11 六、结论及心得体会 --------------------------------------11 七、附录(源代码) --------------------------------------12 参考文献 -----------------------------------------------------17 引言 通过本课程设计,使自己更加系统地理解和掌握数据结构的基本概念;能自如地根据实际要求,设计相应的数据结构,并运用C或C++语言实现所设计的算法,编写较大型的程序,分析和解决实际应用问题,进一步加深、巩固所学专业课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握C语言或C++语言独立的编写、调试应用程序和进行其它相关设计的技能。 此项目主要是考察我们对结构体、数组、文件等具体操作,以及对C语言语法的掌握,所以做成此项目要求比较高的设计要求,对整体有很熟悉的概括,同时调试过程也是很重要的,对程序界面的要求也比较高,要设计的合理同时也要美观一点,能够人性化的描述清楚你的各个功能,一目了然,对其他用户使用本程序简单易懂,这才能成本程序或本系统是成功的。 这个设计能够练习我们的理解和运用结构化程序设计的思想和方法,掌握开发一个小型实用系统的基本方法,学会调试一个比较长的程序的基本方法,同时掌握书写程序设计开发文档的能力。 一、系统概述 1、课程设计应完成的工作 (1)编写算法 C语言程序设计试题 一、单项选择题(本题共25小题,每小题2分,共50分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。错选、多选或未选均无分。 1. 以下正确的C语言自定义标识符是__A____。 A. _1a B. 2a_ C. do D. 2. 在C语言中,错误的常数表示是___D____。 A. 0L C. '6' D. 设int a, x=2; 执行语句a=x>03*x:x=10;后,变量x的值是___B____。 A. 1 B. 2 C. 6 D. 10 4.设有以下程序段: int x=2,y=2,z=0,a; a=++x||++y&&z++; printf("%d,%d,%d\n",x,y,z); 执行后输出的结果是___C______。 A. 2, 2, 0 B. 3, 3,1 C. 3, 2, 0 D. 3, 2, 1 5. 在C语言中,字符串"\\TOP\t\65\""的长度是__B_____。 A. 5 B.7 C. 8 D. 12 6. 设float x,由键盘输入:, 能正确读入数据的输入语句是___C_____A_。 A. scanf("%5f",&x) B. scanf("%5d",&x); C. scanf("%f",x); D. scanf("%s",&x); 7.逗号表达式a=2*6,a*3,a+5的值是___B______。 A. 12 B. 17 C.36 D. 41 8. C语言程序中,整型常量的书写形式不包括___A______。 A. 二进制 B. 八进制 C. 十进制 D. 十六进制 9. 在C语言中,下列运算符中结合性属于自右向左的是________B_。 A. && B. -- C.<< D. -> 10. 设int x;,则与计算︱x︱等价的表达式是___B______。 A. x>0-x:x B. x>0x:-x C. x<0x:-x D. x<0-x:-x 11.执行下面的程序段后,k的值是__A_____B。 int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 12. 表达式的值为0的是________C_。 A. 5/5%5 B. 5>2 C. !4 D. 0x7&&7 13. 设int a=11, b=2;执行下述程序段后,变量a和b的值分别是___B____。 do { a/=b++; }while(a>b); A. 1,3 B. 1,4 C. 2,3 D. 2,4 14. 在C语言中,下列错误的说法是_______C。 A. 函数可以递归调用 C语言课程设计报告--物业管理系统 中 国 地 质 大 学 本科生课程论文封面 课程名称 计算机高级语言课程设计(C) 教师姓名 本科生姓名 本科生学号 本科生专业 网络工程 所在院系 计算机学院 类别: 工科 日期: 16/1/20XX 课程设计评语 对课程论文的评语: 平时成绩: 课程论文成绩: 总 成 绩: 评阅人签名: 注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 摘要: 本文完成了综合练习中第20题物业管理系统的编程,程序用于小区的管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理,并用文存储相关信息。文中给出了需求分析、功能模块图、数据结构、详细设计、程序运行结果、总结和致谢。 目 录 课程设计评语2 作者简介及摘要3 目 录4 1.课程论文 题目5 2.总体设计6 3.详细设计8 4.程序运行结果12 5.编程中遇到的困难及解决方法16 6.总结心得及良好建议17 7.致谢18 8.参考文献19 1.课程论文 题目:物业管理系统 1.1问题描述 物业管理系统问题的描述是:用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理。要求用文存储相关信息。 1.2基本要求 (1) 可随时浏览、录入和更改小区住户、收费项目等数据。 (2) 随时可增、删、改、查收费项目及其标准。 生成小区住户收费报表(包括全部、已交、欠交)。 1.3需求分析 住户信息、物业收费信息用一个文存储,因而要提供文的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。 2.总体设计: 2.1总体思路 整个管理系统设计为住户信息、物业收费信息的浏览、增加、更改、删除等模块。 2.2功能模块图 物业管理系统 更改 删除 增加 浏览 计算 图2-2功能模块图 2.3数据结构设计 根据问题描述,将住户信息、物业收费信息放在一个resident结构体内。 结点结构: fh 1、题目要求 用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理。要求用文件存储相关信息。 ⑴可随时浏览、录入和更改小区住户、收费项目等数据。 ⑵可随时增、删、改、查收费项目及其标准。 ⑶生成小区住户收费报表(包括全部、已交、欠交)。 2、需求分析 住户信息、物业收费信息要用文件存储(可用一个文件,也可分成两个文件)因而提供文件的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。 3、功能模块图 整个管理系统可以设计为住户信息、物业收费信息的浏览、修改、增加等模块。 依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层次结构: 物业收费信息结构体: struct wuye { //物业信息结构体// char ID[100]; int last_year; int last_month; float money; int to_time; struct wuye *link; }; 5、源代码 程序: #include 物业管理系统C语言程 序实习报告 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688] 1、题目要求 用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理。要求用文件存储相关信息。 ⑴可随时浏览、录入和更改小区住户、收费项目等数据。 ⑵可随时增、删、改、查收费项目及其标准。 ⑶生成小区住户收费报表(包括全部、已交、欠交)。 2、需求分析 住户信息、物业收费信息要用文件存储(可用一个文件,也可分成两个文件)因而提供文件的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。 3、功能模块图 整个管理系统可以设计为住户信息、物业收费信息的浏览、修改、增加等模块。 依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层次结构: int floor_num; char room_num[100]; float lost; int area; char rz_time[20]; struct yezhu *next; }; 物业收费信息结构体: struct wuye { //物业信息结构体// char ID[100]; int last_year; int last_month; float money; int to_time; struct wuye *link; }; 5、源代码 程序: #include<> #include<> #include<> #include<> #include<> //函数声明// int mainmenu(); //主菜单 void xinximenu(); //物业信息菜单 void tongjimenu();//统计查询菜单 void mychaozhao(); //欠费名单 void yezhumenu();//业主菜单 void wuyemenu();//物业菜单 void myAdd1();//录入业主信息 void myAdd2(); //录入物业信息 void myDelete1();//删除业主信息 void myDelete2();//删除物业信息 void myReplace1();//修改业主信息 void myReplace2();//修改物业信息 void Display1();//浏览业主信息 void Display2();//浏览物业信息 void myfind();//查询缴费 void Display(struct wuye *p); void Read1(); void Read2(); void save1(struct yezhu *p);//保存业主信息至文件void save2(struct wuye *p);//保存物业信息至文件struct yezhu *find1(char *id); //查找业主信息 #include<> #include<> #include<> #ifdef __GNUC__ #include<> #include<> #define clear clear #define Sleep(x) usleep(x##000) #endif #ifdef _MSC_VER #include<> #include<> #define clear system("cls") #endif #define TRUE 1 #define FAUSE 0 typedef struct per { char name[20]; int sex; char IDcard[19]; char phone[12]; int build_num; int unit_num; int house_num; float area; float area_price; float charge; char remarks[200]; struct per *next; }PERSON; void zhuce (); int login (); PERSON *Getdata (FILE *fp); void add_person (); void del (PERSON *L); void change (PERSON *L); void sort_All (PERSON *L); void pay (PERSON *L); void sort_B_num (PERSON *L); void menu_1 (); void menu_2 (); int main () { int check,a; printf("\t************************** Welcome !***********************"); printf("\n\t\t1.注册"); printf("\n\t\t2.登录"); printf("\n\t\t0.退出"); printf("\n\t--请输入--: "); 标准文档 本科生课程论文封面 课程名称 C 语言程序课程设计 教师姓名 本科生姓名 本科生学号 本科生专业 所在院系 类别:工科 日期 : 摘要: 本文完成了综合练习中第 20 题物业管理系统的编程,程序用于小区的管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理,并用文件存储相关信息。文中给出了需求分析、功能模块图、数据结构、详细设计、程序运行结果、总结和致谢, 目录 课程设计评语............................................................................. (1) 个人简介............................................................................. .. (2) 摘要............................................................................. . (2) 目录............................................................................. . (3) 题目及要求............................................................................. . (4) 需求分析............................................................................. .. (4) 功能模块图............................................................................. . (4) 数据结构............................................................................. .. (5) 源代码............................................................................. (5) 程序运行结果............................................................................. .. (21) 总 结 ............................................................................. 华科学院信息管理与信息系统专业 《程序设计综合课程设计》报告 (2011/2012学年第一学期) 学生姓名:王奥辉 学生班级:信息管理102202H 学生学号:17 指导教师:薛颂东 20011年12月30日 小 区 物 业 管 理 目录 1、课程设计的目的及要求 (4) 2、课程设计任务 (5) 3、设计内容 (6) 4、程序的编码与实现 (25) 5、课程设计心得与体会 (28) 6、程序源代码 (29) 第一章课程设计的目的及要求 1.1课程设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C++)》课程后进行的一次全面的综合设计。本课程设计的目的和任务: 1. 巩固和加深学生对C++语言课程的基本知识的理解和掌握。 2. 掌握C++语言编程和程序调试的基本技能。 3. 利用C++语言进行基本的软件设计。 4. 掌握书写程序设计说明文档的能力。 5. 提高运用C++语言解决实际问题的能力。 1.2课程设计要求 进一步巩固《C++程序设计》所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C++ 语言解决实际问题的能力,为以后后续课程的学习打好基础。 第二章课程设计任务 2.1 课程设计题目 小区物业管理系统 2.2 课程设计实现 可以通过操作输入、增加、修改、浏览、查询、删除小区内住户信息,来实现对小区内物业的管理。 第三章设计内容 3.1需求分析 小区物业信息管理系统是针对当代社会,住宅小区越来越成为居住的主流这一市场需要而应运而生的,是为小区管理着和小区用户更好的维护小区各项物业管理业务处理工作而开发的管理软件。 小区管理系统包括小区成员的所住单元、住户号、工作单位、姓名、电话号码等信息; ——小区管理系统主要提供以下功能: 1.系统的登录界面(主要包括用户名、密码的设置、新用户的创建、密码 的修改等); 2.系统以菜单方式工作 3.住户信息录入功能——输入 4.住户信息增加、修改、查询功能 (1)按住户名(2)按房间号 5.住户信息浏览功能——显示 6.住户信息删除功能 3.2总体设计 图3-2-1 开始登录界面 整个系统除了主函数外,另外还有6个函数,实现六大功能:增加数据功能、修改数据功能、信息查询功能、信息浏览功能、信息删除功能、退出系统功能。各个函数的详细设计说明分别如下: 1. 增加数据功能:基本原理是用指针*P来创建一个存储单元,来存储住户的信息:住户的姓名、性别、电话号码、身份证号码。然后再和链变相连,有结构体链表来存储所有住户的信息。*MP指针只想最后一个结构体链表的最后一个结构体。 2.修改数据功能:与增加数据功能输入方式一样 3.信息浏览功能:用printf来显示住户的信息,并且用for循环来实现所有的住户信息都能显示出。 c语言物业管理系统(总28 页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除 #includeC语言药品管理系统
C语言程序设计模拟题(含答案)
C语言课程设计报告--物业管理系统
物业管理系统C语言程序实习报告
物业管理系统C语言程序实习报告
c语言物业管理系统
物业管理系统C语言程序实习报告材料
C 小区物业管理系统课程设计
c语言物业管理系统(总28页)