c语言楼层查询系统源代码Word下载.docx

上传人:b****6 文档编号:20599259 上传时间:2023-01-24 格式:DOCX 页数:19 大小:18.33KB
下载 相关 举报
c语言楼层查询系统源代码Word下载.docx_第1页
第1页 / 共19页
c语言楼层查询系统源代码Word下载.docx_第2页
第2页 / 共19页
c语言楼层查询系统源代码Word下载.docx_第3页
第3页 / 共19页
c语言楼层查询系统源代码Word下载.docx_第4页
第4页 / 共19页
c语言楼层查询系统源代码Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

c语言楼层查询系统源代码Word下载.docx

《c语言楼层查询系统源代码Word下载.docx》由会员分享,可在线阅读,更多相关《c语言楼层查询系统源代码Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

c语言楼层查询系统源代码Word下载.docx

structchaoxiang_type//位置

{

intdanyu;

//单元

intloucen;

//楼层

};

structloupans_type//房间详情

{

charnum[8];

//楼号

charprice[20];

//价格

charchaoxiang[20];

//朝向

intarea;

//面积

structchaoxiang_typeweizhi;

//单元信息

structchaoxiang_typekind;

//类型

/*读取信息模块*/

intread_file(structloupans_typeloupan[])

FILE*fp;

//FILE文件、文件夹,fp=filepointer文件指针。

inti=0;

if((fp=fopen("

loupans.txt"

"

rt"

))==NULL)//fopen函数用来打开一个文件,其调用形式为:

文件指针名=fopen(文件名,文件使用方法);

rt只读打开一个文件文本。

{

printf("

\n库存文件不存在,请创建!

\n"

);

return0;

//正常退出;

return表示从被调函数返回到主调函数继续执行,返回时可带一个返回值(0正常,非0非正常)。

}

while(!

feof(fp))//feof(fp)用于测试fp文件指针是否已经到达文件结尾,如果fp指针已经到达文件结尾,则返回1,否则返回0;

{//!

表示非,这里while(!

feof(fp))表示当没有到文件末尾就循环,否则就退出。

fread(&

loupan[i],sizeof(structloupans_type),1,fp);

//fread从文件中读取。

if(loupan[i].num==0)

break;

else

i++;

fclose(fp);

//文件关闭

returni-1;

}

/*保存信息模块*/

voidsave_file(structloupans_typeloupan[],intsum)//save_file保存文件

inti;

wt"

))==NULL)

读文件错误\n"

return;

for(i=0;

i<

sum;

i++)

if(fwrite(&

loupan[i],sizeof(structloupans_type),1,fp)!

=1)

printf("

写文件错误\n"

/*输入模块*/

intinput(structloupans_typeloupan[])

intnumber;

system("

cls"

printf("

\n\n\n\n"

\n\t请输入要录入的楼盘的个数(最多%d个):

"

MAX);

scanf("

%d"

&

number);

\n\n\t录入楼盘信息(最多录入%d个)\n"

number);

---------------------------------------\n"

while(i<

number)

{

\n\t\t第%d个楼盘"

i+1);

\n\n\t\t\t楼盘楼号:

scanf("

%s"

loupan[i].num);

if(loupan[i].num==0)

\n\t\t\t价格(元/㎡):

"

loupan[i].price);

\n\t\t\t面向:

loupan[i].chaoxiang);

\n\t\t\t面积(单位:

㎡):

loupan[i].area);

\n\t\t\t楼盘单元信息(单元-层):

%d-%d"

loupan[i].weizhi.danyu,&

loupan[i].weizhi.loucen);

\n\t\t\t楼盘类型(厅-室):

loupan[i].kind.danyu,&

loupan[i].kind.loucen);

i++;

\n\t\t\t%d个楼盘信息录入完毕!

i);

getchar();

//getchar()函数等待输入直到按回车才结束,回车前所有输入字符都会显示在屏幕上,但只有第一个字符作为函数的返回值。

返回类型为int型,返回值为用户输入的ASCII码,出错返回EOF。

\n\t\t\t按回车键返回主菜单!

returni;

/*输出模块*/

voidoutput(structloupans_typeloupan[],intsum)

intj;

\n\n\n"

fp=fopen("

\n\t\t\t----楼盘信息表----\n\n"

楼盘楼号--单元信息(单元-层)--类型(厅-室)---面积(单位:

㎡)--面向--价格(元/㎡)\n"

----------------------------------------------------------------------------\n"

for(j=0;

j<

j++)

if(loupan[i].num!

=0)

{

%6s%10d-%d%10d-%d\t%4d㎡%8s%3s\n"

loupan[i].num,loupan[i].weizhi.danyu,loupan[i].weizhi.loucen,loupan[i].kind.danyu,loupan[i].kind.loucen,loupan[i].area,loupan[i].chaoxiang,loupan[i].price);

}

\t\t\t按回车键返回主菜单"

/*修改模块*/

voidmodify(structloupans_typeloupan[],intsum)

intchoice;

intflag;

charmodify_num[8];

do

system("

\n输入要修改的楼盘的楼号:

modify_num);

for(i=0;

{

if(!

strcmp(loupan[i].num,modify_num))

{

printf("

\n\t\t\t----楼盘信息----\n"

%6s%10d-%2d%10d-%2d\t%4d㎡%8s%3s\n"

\t\t\t1.楼盘楼号\n\n\t\t\t2.价格(/㎡)\n\n\t\t\t3.面向\n\n\t\t\t4.面积(单位:

㎡)\n\n\t\t\t5.单元信息(单元-层)\n\n\t\t\t6.类型(厅-室)\n"

请输入要修改项的楼号(选择1-6):

scanf("

choice);

switch(choice)

{

case1:

printf("

\n\t\t\t输入修改后的楼盘楼号:

scanf("

break;

case2:

\n\t\t\t输入修改后的价格(元/㎡):

case3:

\n输入修改后的面向:

case4:

\n\t\t\t输入修改后的面积(单位:

㎡):

break;

case5:

\n输入修改后的楼盘单元信息(单元-层):

case6:

\n\t\t\t输入修改后的楼盘类型(厅-室):

}

\n\t\t\t----楼盘信息----(修改后)\n"

loupan[i].num,loupan[i].weizhi.danyu,loupan[i].weizhi.loucen,loupan[i].kind.danyu,loupan[i].kind.loucen,loupan[i].area,loupan[i].chaoxiang,loupan[i].price);

getchar();

break;

}

if(i==sum)

\n\t\t\t该楼盘不存在"

save_file(loupan,sum);

\n\n继续修改吗?

(Y/N(选择N则返回主菜单))"

choice=getchar();

if(choice=='

Y'

||choice=='

y'

flag=1;

\n\t\t\t继续修改!

else

flag=0;

while(flag==1);

/*查询模块*/

voidreserch(structloupans_typeloupan[],intsum)

intkey=0;

charreserch1[10],reserch2[10];

\n\t\t\t请输入要查询的楼盘的价格范围(元/㎡):

\t\t\t请输入最低价格:

\n\t\t\t"

reserch1);

\n\n\t\t\t请输入最高价格:

reserch2);

if(strcmp(loupan[i].price,reserch1)>

0&

&

strcmp(loupan[i].price,reserch2)<

0)

key=1;

if(key==1)

}

\n\n\t\t\t价格范围:

%6s-------%s"

reserch1,reserch2);

getch();

if(key==0)

getchar();

\n\n\t\t继续查询吗?

choice=getchar();

if(choice=='

||choice=='

flag=1;

\n\t\t\t按任意键继续查询!

else

flag=0;

/*排序模块*/

voidsort(structloupans_typeloupan[],intsum)

inti,j;

structloupans_typet;

for(i=0;

sum-1;

for(j=i+1;

if(strcmp(loupan[i].num,loupan[j].num)>

t=loupan[i];

loupan[i]=loupan[j];

loupan[j]=t;

\n\t\t\t按楼号排序:

\n\n"

\n\t\t\t----楼盘信息表----\n\n"

loupan[i].num,loupan[i].weizhi.danyu,loupan[i].weizhi.loucen,loupan[i].kind.danyu,loupan[i].kind.loucen,loupan[i].area,loupan[i].chaoxiang,loupan[i].price);

/*删除模块*/

intdel(structloupans_typeloupan[],intsum)

intk=0;

chardel_num[8];

\t\t请输入需要删除的楼盘信息的楼号\n\n"

del_num);

if(!

strcmp(loupan[i].num,del_num))

for(j=i;

sum-1;

loupan[j]=loupan[j+1];

k++;

if(k==sum)

\t\t\t该楼盘不存在\n"

getchar();

return(sum);

else

{

save_file(loupan,sum);

\t\t\t删除成功:

return(sum-1);

/*添加模块*/

voidadd(structloupans_typeloupan[],int*sum)

charchoice;

i=(*sum);

if(i<

MAX)

\t\t请输入要添加的楼盘的信息:

\n\t\t\t楼盘楼号:

scanf("

if(loupan[i].num==0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1