C语言课程设计报告--物业管理系统

半根烟 范文 报告范文
精选回答

C语言课程设计报告--物业管理系统本文简介:中国地质大学本科生课程论文封面课程名称计算机高级语言课程设计(C)教师姓名本科生姓名本科生学号本科生专业网络工程所在院系计算机学院类别:工科日期:16/1/2013课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅

C语言课程设计报告--物业管理系统本文内容:

本科生课程论文封面

课程名称

计算机高级语言课程设计(C)

教师姓名

本科生姓名

本科生学号

本科生专业

网络工程

所在院系

计算机学院

类别:

工科

日期:

16/1/2013

课程设计评语

对课程论文的评语:

平时成绩:

课程论文成绩:

绩:

评阅人签名:

注: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)

随时可增、删、改、查收费项目及其标准。

(3)

生成小区住户收费报表(包括全部、已交、欠交)。

1.3需求分析

住户信息、物业收费信息用一个文件存储,因而要提供文件的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。

2.总体设计:

2.1总体思路

整个管理系统设计为住户信息、物业收费信息的浏览、增加、更改、删除等模块。

2.2功能模块图

物业管理系统

更改

删除

增加

浏览

计算

图2-2功能模块图

2.3数据结构设计

根据问题描述,将住户信息、物业收费信息放在一个resident结构体内。

结点结构:

fh

name

bjf

baf

tcf

yj

zj

qj

定义如下:

#define

N

50

int

M;

struct

resident

{

int

fh;/*房号*/

char

name[10];/*户主姓名*/

int

bjf;/*保洁费*/

int

baf;/*保安费*/

int

tcf;/*停车费*/

int

yj;/*已交*/

int

zj;/*总计*/

int

qj;/*欠交*/

}s[N];/*s[N]中每个数组元素对应一个住户*/

将住户信息储存在ZHSFBB.txt文本文件中

内容及格式:

101

wang

86

50

80

120

102

zhang

77

50

0

127

201

zhao

80

50

60

150

202

shang

70

55

10

100

301

zhou

88

66

55

130

302

mei

56

89

13

90

401

sun

46

66

79

80

402

tian

50

80

40

140

501

fang

60

70

30

120

502

chen

90

60

40

88

601

bian

40

40

40

110

602

wu

80

80

40

80

3.详细设计

3.1数据读入模块:

小区住户信息采用结构体形式,把一个住户的信息作为结构体成员,若要存放若干个住户信息就要用到结构体数组,一条记录对应一户住户的信息,既符合习惯也方便信息管理。

代码:/************************数据读入模块***********************/

void

Re_file()

{

FILEfp;

M=0;

fp=fopen(“ZHSFBB.txt“,“r“);

while(fscanf(fp,“%d%s%d%d%d%d“,fclose(fp);

}

3.2

计算模块

主函数中已读入原始数据,计算:总计=保洁费+保安费+停车费,欠交=总计-已交。

开始

定义循环计数器i

i小于或等于总住户数?

计算

总计=保洁费+保安费+停车费

计算

欠交=总计-已交

i=i++

结束

图3-2计算模块流程图

3.3增加模块

该模块的功能是增加新的小区住户记录,用户从键盘输入并逐条写到原来的输入文件中。

代码:/************************增加模块***********************/

void

Append()

{

int

n,i;

printf(“可输入增加的住户数:“);

scanf(“%d“,M=n+N;

printf(“现在,请输入相关信息:\n“);

for(i=1;i<=n;i++)

{

printf(“房号:“);

scanf(“%d“,printf(“户主姓名:“);

scanf(“%s“,s[M-n-1+i].name);

printf(“保洁费:“);

scanf(“%d“,printf(“保安费:“);

scanf(“%d“,printf(“已交:“);

scanf(“%d“,}

}

3.4修改模块:

该模块的功能是根据房号或户主姓名找到要修改的记录,并提示用户修改该记录的哪部分信息(保安费、保洁费、停车费、已交),然后根据用户的选择修改相应信息并形成新的报表。

开始

1

选择删除选项

2

输入房号d

定义数组下标i=0

i

d=s[i].fh

输入户主姓名m

定义数组下标i=0

i

比较函数判断有无

无strcmp(m,s[i].name)==0

输出

“没有找到”

输出

“没有找到”

输入要修改信息

1

2

3

4

修改已交

修改停车费

修改保安费

修改保洁费

结束

图3-4修改模块流程图

3.5删除模块

用户输入要删除的房号或姓名,根据房号或户主姓名查找工资记录并删除,删除位置后面的记录往前移动。

开始

1

选择删除选项

2

输入户主姓名m

定义数组下标i=0

i

比较函数判断有无

无strcmp(m,s[i].name)==0

删除s[i]

输出:“没有找到”

输入房号d

定义数组下标i=0

i

d=s[i].fh

删除s[i]

输出:“没有找到”

结束

图3-5删除模块流程图

代码:/************************删除模块***********************/

void

Delete()

{int

i,j=-1,d;char

m[20];

printf(“删除模块:“);

printf(“\n\n\n“);

printf(“*******************************\n“);

printf(“*\n“);

printf(“*\n“);

printf(“*\n“);

printf(“*

1:房号

2:户主姓名\n“);

printf(“*\n“);

printf(“*\n“);

printf(“*\n“);

printf(“*******************************\n“);

printf(“\n\n请输入删除选项:“);

scanf(“%d“,if

(i==1)

{printf(“请输入房号:“);

scanf(“%d“,for(i=0;i

if(d=s[i].fh)

j=i;

}

else

if(i==2)

{printf(“请输入户主姓名:“);

scanf(“%s“,for(i=0;i

if(strcmp(m,s[i].name)==0)

j=i;

}

if(j!=-1)

{

M=M-1;

for(i=j;i<-Ni++)

s[i]=s[i+1];}

else

if(j==-1)

printf(“没有找到!\n“);

}

3.6任务结束后的返回菜单

void

Menu()

{int

sele;

sele=1;

while(sele)

{

system(“cls“);

printf(“\n\n“);

printf(“*************************************\n“);

printf(“*\n“);

printf(“*

1:浏览

2:增加\n“);

printf(“*

3:更改

4:删除\n“);

printf(“*

5:退出\n“);

printf(“*\n“);

printf(“*************************************\n“);

printf(“\n\n请选择功能序号:“);

scanf(“%d“,switch(sele)

{

case

1:Calculate();Display();Menu();break;

case

2:Append();Display();Menu();break;

case

3:Modify();Display();Menu();break;

case

4:Delete();Display();Menu();break;

case

5:exit(0);break;

}

printf(“\n\n按任意键继续\n“);

getch();

}

Wr_file();

}

4.

程序运行结果

4.1主函数界面(也称主界面)

主界面如图所示。

图4-1-1主函数界面

4.2浏览模块

在主界面中输入“1”,然后按Enter键,进入浏览模块,如图所示。

图4-2-1浏览界面1

图4-2-2浏览界面2

4.3增加模块

在主界面中输入“2”,然后按Enter键,进入增加模块,如图所示。

图4-3-1增加界面1

图4-3-2增加界面2

4.4更改模块

在主界面中输入“3”,然后按“Enter”键,进入更改模块,如图所示。

图4-4-1更改界面1

图4-4-2更改界面2

4.5删除模块

在主界面中输入“4”,然后按“Enter”键,进入删除模块,如图所示。

图4-5-1删除界面

5.编程中遇到的困难及解决方法

(1)课程设计刚开始的时候,C语言的教学尚未结束,“用户自己建立数据类型”(包括结构体、链表、共用体、枚举类型、声明新类型等内容)及“对文件的输入输出”两大章重要内容还未进行学习,这样的条件下很难进行程序的编辑。在这种情况下,我采取“磨刀不误砍柴工”的策略,先深入研读并理解了《C程序设计(第四版)》一书中这两张的内容,并将相应的一些简单程序上机调试,做到基本熟练掌握这些内容后,才着手此程序的编译工作。

(2)作为第一个刚C语言不到半年的“入门级”新手,第一次面对此种较大型的程序案例,刚开始着实不知道从何下手,所以我决定先练习《基于PBL的C语言课程设计及学习指导》一书上的实例,通过“庖丁解牛”,我开始懂得不管一个程序多么复杂,其实它都是由最基本的函数组成,只要我们弄清结构、一切都会迎刃而解。

(3)初读题目时无法抽象出问题模型,而“举一反三”中的实例与本课题有很多相似之处,通过“举一反三”,我总结出了此题目的设计思路、功能模块、数据结构设计等。

6.总结心得及良好建议

这次课程设计共八次,时间不长,却感受很深。无论是在学习知识还是在解决问题的能力上,都有深刻的认识,总结如下:

(1)程序设计思路一定要清晰,主函数尽量简洁,这样在调试过程中若出现错误,只要沿着主函数的思路逐个排查即可。一个条理清楚的框架结构有利于编译过程中查找并解决问题。

(2)编译、调试时最好分模块进行。我第一次调试时是在整个程序编辑完后一次性编译,一下子出现了很多处错误。在老师及同学们的指导下,我新建了一个工作区并从主函数开始分模块进行编译调试,一个函数确认没有错误后在加入下一个函数,这样分步进行使每处错误便于查找和更改。

(3)

细节处一定要注意,我刚刚编程时很容易丢落“;”“}”等符号,而这会对程序的编译造成极大的不便。一个优秀的程序员应时刻注意细节,养成细心的良好品质。

7.致谢

在课程设计过程中经常遇到诸多问题,多亏有刘老师指导和班上同学的耐心帮助,才能坚持做下去,在此表示衷心感谢!

8.参考文献

[1]张冬梅,刘远兴,陈晶,王媛妮等.基于PBL的C语言课程设计及学习指导.北京:清华大学出版社,2011

[2]谭浩强.C程序设计(第四版).北京:清华大学出版社,2012

18

陌上花开 2022-07-01 15:47:26

相关推荐

得意洋洋,反义词(得意洋洋的反义词)

1、得意洋洋的反义词有郁郁寡欢的,有空虚进取的书,有哭天抢地的,有郁郁寡欢的,有失意的,有垂头丧气的,有谦虚谨慎的,有黯然销魂的,有抑郁的。2、“得意”是中国成语,读作:dyyngyng,解释为:得意:明白意图...
展开详情

蚍蜉撼树是什么意思蚍(蚍蜉撼树是什么意思)

1、蜉蝣树(拼音pfhnsh)是中国成语,蜉蝣树(蜉蝣:一种大蚂蚁;Shake:摇动)比喻力量本来就很弱,但是你想摇动一个很强大的东西,就不能随心所欲了。这个成语一般用作主语、谓语、宾语,属于主谓式,含有贬义。...
展开详情

士大夫怎么读(士大夫)

1、士大夫,在古代是指有官职的人,也指不当官的有名望的学者。2、在中国古代,官员和学者的统称。055-79000:“仆亦承传送门之业,受朝廷调教,使得冠带之端,在士大夫之列。”陈继儒,明朝《晋书夏侯湛传》:“立...
展开详情

福兮祸所伏祸兮福所倚什么意思(福兮祸所伏祸兮福所倚)

1、福兮祸所伏祸兮福所倚是俗语,意思是福祸相依,相互转化。比喻能有好结果,好事也能有坏结果。建议人在富贵时要谦虚谨慎,戒骄戒躁;踌躇满志,狂妄自大,却滋生灾难,由福转祸;逆境中坚持,努力,可以化逆境为顺境,从苦...
展开详情

回眸一笑是啥意思(回眸一笑什么意思)

1、回首微笑,拼音是humuy和ao,中国成语,意思是翻白眼,微笑。常用来形容女人妩媚的表情,诱惑人,引人入胜。出自唐白居易《长恨歌》。2、唐白居易《长恨歌》:“只要她转过头来笑一笑,就有一百个符咒在施,六宫的...
展开详情

精选推荐更多>

又何间焉的焉是什么意思

“又何间焉”的“焉”是疑问语气词,可译为呢。出自先秦左丘明的《曹刿论战》。
原文节选:十年春,齐师伐我。公将战,曹刿请见。其乡人曰:“肉食者谋之,又何间焉?”刿曰:“肉食者鄙,未能远谋。”乃入见。问:“何以战?”公曰:“衣食所安,弗敢专也,必以分人。”对曰:“小惠未遍,民弗从也。”
译文:鲁庄公十年的春天,齐国军队攻打鲁国。鲁庄公将要迎战。曹刿请求鲁庄公接见自己。他的同乡说:“打仗的事位当权者自会谋划,你又何必参与呢?”曹刿说:“当权者目光短浅,不能深谋远虑。”于是入朝去见鲁庄公。曹刿问:“您凭借什么作战?”鲁庄公说:“衣食这一类养生的东西,不敢独自享有,一定把它分给身边的人。”曹刿回答说:“这些小恩惠不能遍及百姓,百姓是不会听从您的。”
讲述了曹刿在长勺之战中对此次战争的一番评论,并在战时活用“一鼓作气,再而衰,三而竭”的原理击退强大的齐军的史实。文章的语言,无论是叙述还是人物对话,都极为简洁精炼,表意说理,通达晓畅。行文中散句、排比、偶句错落有致,增强了叙事写人的生动效果。其中曹刿的语言尤为精彩,如战场上的指挥用语,简短明确,这不仅衬托出战事紧迫无暇论析战争策略,也表现出曹刿思维敏捷和临战时坚定而自信的心态。

描写冬天的古诗 (全诗)

描写冬天的古诗 (全诗):
1、两个黄鹂鸣翠柳,一行白露上青天。窗含西岭千秋雪,门泊东吴万里船。——杜甫《绝句》
2、千山鸟飞绝,万径人踪灭。孤舟蓑笠翁,独钓寒江雪。——柳宗元《江雪》
3、墙角数枝梅,凌寒独自开。遥知不是雪,为有暗香来——王安石《梅花》
4、日暮苍山远,天寒白屋贫。柴门闻犬吠,风雪夜归人。——刘长卿《逢雪宿芙蓉山主人》
5、当春天地争奢华,洛阳园苑尤纷拏。谁将平地万堆雪,剪刻作此连天花。——韩愈《李花二首》
6、百泉冻皆咽,我吟寒更切。半夜倚乔松,不觉满衣雪。——刘驾《苦寒吟》
7、凄凄岁暮风,翳翳经日雪。倾耳无希声,在目皓已洁。——陶渊明《癸卯岁十二月中作与从弟敬远》

商鞅变法的时间

商鞅变法的时间是在公元前356年、350年先后两次实施。先后两次实行以“废井田、开阡陌,实行郡县制,奖励耕织和战斗,实行连坐之法”为主要内容的变法。
商鞅对经济的改革是以废除井田制、实行土地私有制为重点。这是战国时期各国中唯一用国家的政治和法令手段在全国范围内改变土地所有制的事例。
经济措施:
1、废井田、开阡陌:
法令规定,允许人们开荒,土地可以自由买卖,赋税则按照各人所占土地的多少来平均负担。此后秦政府虽仍拥有一些国有土地,如无主荒田、山林川泽及新占他国土地等,但后来又陆续转向私有。这样就破坏了奴隶制的生产关系,促进了封建经济的发展。
2、重农抑商、奖励耕织:
规定,生产粮食和布帛多的,可免除本人劳役和赋税,以农业为“本业”,以商业为“末业”。因弃本求末,或游手好闲而贫穷者,全家罚为官奴。商鞅还招募无地农民到秦国开荒。为鼓励小农经济,还规定凡一户有两个儿子,到成人年龄必须分家,独立谋生,否则要出双倍赋税。
3、统一度量衡:
为了保证国家的赋税收入,商鞅制造了标准的度量衡器,如今传世之“商鞅量”,当时统一度量衡一事是十分严肃认真的。商鞅还统一了斗、桶、权、衡、丈、尺等度量衡。要求秦国人必须严格执行,不得违犯。

袒露与坦露的区别

袒露与坦露的区别:
1、两者的具体含义不同。
袒露用于表示事件、物体,指毫无掩饰的表露,也指暴露,无遮盖,露在外面,显露。坦露多用于表示思想情感,指坦率地表露(思想、情感)。
2、两者的具体用法有所区别。
“坦露”和“袒露”都可以表示坦率地表露,但如果只是用语言文字表白,并未流露在他人面前或暴露在众人面前,就只能用“坦露”。
袒露造句:
1、我向妈妈袒露了我的想法,得到了她的支持。
2、天太热,他袒露着上身。
3、农民们袒露出右臂作为起义的标志。
造句:
1、他解开上衣,坦露着胸膛,跨马而去。
2、一年多以来,他首次就上赛季的冲突坦露心声。
3、这时不宜向别人坦露心声或与别人分享你的秘密,相反,这时适合倾听别人。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200