C语言程序设计--二手房信息管理系统

题    目:   二手房信息管理系统

二手房屋管理系统

本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件及各种语句的运用如for();switch();if….else等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,初步掌握链表的一些结构及构成。掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。

1、问题定义

信息包括:编号,二手房屋名,房屋地址,库存数量,价格等。
试设计一信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)房屋信息录入功能(信息用数组保存)
(3)房屋信息浏览功能
(4)房屋信息查询功能
(5)房屋信息的删除与修改

在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。

r

2、系统设计

2.1 总体设计

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

               

 

  图2.1   二手房屋管理系统功能模块图

本管理系统要求采用单链表实现,如图2.1所示,它由如下三大功能模块组成:

  1. 房屋信息模块。通过输入买家想要的的信息,查找到要该房屋的相关信息,完成房屋这一项任务
  2. 房屋维护模块。完成对房屋信息的维护。在此房屋管理系统中,它实现了对房屋信息的新增、更改、删除、查找操作,并将追加后的数据存入源数据文件。

2.2 详细设计

2.2.1  房屋信息模块

通过输入买家想要的房屋的信息和房屋的相关编号。系统显示相应的内容,。值得一提的是,这里的字符串和数值的输入分别采用了函数来实现,在函数中完成输入数据任务,并对数据进行条件判断,直到满足条件为止,这样一来,大大减少了代码的重复和冗余,符合模块化程序设计的特点。

2.22   房屋维护模块

此模块主要实现了对房屋记录的新增、更改、删除、查找和显示操作。因为房屋记录是以单链表的结构形式存储的,所以这些操作都在单链表中完成。下面分别介绍着4个功能模块。

①新增记录。该操作需要对单链表中目标节点的数据域中的值进行追加新增要房屋的编相关信息,

/*添加二手房屋信息:*/void gn1()

{

       int i=0;

       int ch=0,ch1;

       for(i=0;i<50;i++)

       {

              printf("请输入要添加的房屋资料:\n");

              printf("编号:");

              scanf("%d",&goods[o].number);

              printf("二手房屋名:");

              scanf("%s",&goods[o].commodity);

              printf("地址:");

              scanf("%s",&goods[o].address); 

              printf("单价:");

              scanf("%f",&goods[o].price);

              printf("请输入商品的库存:\n");

              scanf("%d",&goods[o].inventory);

              o++;

              printf("输入0返回主菜单,输入其他继续增加!\n");

              scanf("%d",&ch1);

              if(ch==ch1)break;

   }

}

②查找系统。该操作可以帮助读者快速找到将要借的房屋,只要输入房屋的编号,如果有这本书,就将显示出。反之就会显示不存在。

③更改系统。该操作可以将原本错误的房屋记录更改,将之改为正确的记录。首先输入原来的记录的房屋的编号,在此之后输入新的记录。

④。删除系统。该操作可以将原本记录得房屋信息,在不用之后选择将此删除的一种方法,在弹出的窗口输入原来的房屋的编号,就可以将之删除。

3、系统实现

3.1 部分程序代码

3.1.2 主函数#include<stdio.h>

#include<string.h>

#define M 100     

#define NULL 0

int o=0;

struct sp  

{

       int number; 

       char commodity[20];

       char address[20];  

       float price; 

       int inventory;  

}goods[M];

/*添加二手房屋信息:*/void gn1()

{

       int i=0;

       int ch=0,ch1;

       for(i=0;i<50;i++)

       {

              printf("请输入要添加的房屋资料:\n");

              printf("编号:");

              scanf("%d",&goods[o].number);

              printf("二手房屋名:");

              scanf("%s",&goods[o].commodity);

              printf("地址:");

              scanf("%s",&goods[o].address);  

              printf("单价:");

              scanf("%f",&goods[o].price);

              printf("请输入商品的库存:\n");

              scanf("%d",&goods[o].inventory);

              o++;

              printf("输入0返回主菜单,输入其他继续增加!\n");

              scanf("%d",&ch1);

              if(ch==ch1)break;

   }

}

/*查找二手房屋信息:*/void gn2()

{

       int i;

       int number;int ch=0,ch1;

       printf("请输入要查找的房屋编号:\n");

       scanf("%d",&number);

    for(i=0;i<50;i++)

       {

              printf("请输入要添加的房屋资料:\n");

              printf("编号:");

              scanf("%d",&goods[o].number);

              printf("二手房屋名:");

              scanf("%s",&goods[o].commodity);

              printf("地址:");

              scanf("%s",&goods[o].address);  

              printf("单价:");

              scanf("%f",&goods[o].price);

              printf("请输入商品的库存:\n");

              scanf("%d",&goods[o].inventory);

              o++;

              printf("输入0返回主菜单,输入其他继续增加!\n");

              scanf("%d",&ch1);

              if(ch==ch1)break;

   }

       if(goods[i].number==number)

       {     printf("t编号\t二手房屋名\t地址\t单价\t库存\n");

              printf("%d\t%s\t%s\t%.2f\t%d\n",goods[i].number,goods[i].commodity,goods[i].address,goods[i].price,goods[i].inventory);

             

       }

  

   if(i==50)

              printf("查找不到!请重新输入!\n");

}

/*修改二手房屋信息:*/void gn3()

{

    int number1;

       int i,ch=0;

       do   

       {

              for(i=0;i<M;i++)

              {

                     printf("请输入要修改的房屋编号:\n");

                     scanf("%d",&goods[i].number);

                     printf("二手房屋名:");

                     scanf("%s",goods[i].commodity);

                     printf("地址:");

                     scanf("%s",goods[i].address);

                     printf("单价:");

                     scanf("%f",&goods[i].price);

                     printf("库存:");

                     scanf("%d",&goods[i].inventory);

                     printf("输入0退出修改菜单,输入其他继续修改!\n");

              scanf("%d",&ch);

                     if(ch==0)break;

              }

       printf("输入0返回主菜单\n");

       scanf("%d",&number1);

       }while(number1!=0);

}

void main()  

{int number;

do{printf("\t\t\t-------使用菜单--------\n");

       printf("\t\t\t1.增加二手房屋信息\n"); 

       printf("\t\t\t2.查找二手房屋信息\n"); 

       printf("\t\t\t3.修改二手房屋信息\n"); 

       printf("\t\t\t4.删除二手房屋信息\n"); 

       printf("\t\t\t5.退出\n");

      

       scanf("%d",&number);

       switch(number)  

       {

              case 1:gn1();break;

              case 2:gn2();break;

              case 3:gn3();break;

              case 4:gn4();break;

              case 5:;break;

              default:printf(" ");break;

       }

              }while(number!=5);

}

4、系统维护

经测试与调试确认软件无错时,开发就告一段落,这时可以交付软件供用户使用,但是在软件的使用过程中还会面临更加漫长的工作,即软件维护。一般维护的工作有:更改使用中发现的错误;为适应实际环境而对程序进行修改;为满足新的需求而对程序作必要的改进等等。

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
影碟出租管理系统是一个基于C语言的软件项目,旨在帮助影碟租赁店管理他们的库存,客户信息和出租记录。该系统可以在终端上运行,并提供一系列功能,包括添加新影碟到库存,查看当前库存情况,录入客户信息,处理租赁请求和生成出租记录。 该系统的主要功能包括: 1. 影碟库存管理:管理员可以添加新影碟到库存,查看当前库存情况,更新影碟信息和删除已经下架的影碟。 2. 客户信息管理:管理员可以录入客户信息,包括姓名、联系方式等,以便在出租时快速查询客户信息。 3. 租赁管理:系统可以处理租赁请求,包括检查影碟库存情况,计算租金金额,生成租赁记录等。 4. 出租记录管理:系统可以记录每一次租赁的详细情况,包括租赁时间、归还时间、租金金额等。 在开发这个系统时,需要考虑到用户友好的界面设计,以便店员可以轻松使用系统完成各项管理任务。另外,系统需要具备良好的数据存储和管理能力,以确保库存信息和客户信息的准确性和安全性。同时,系统还需要预留足够的扩展性,以便日后根据需要添加新的功能或模块。 总的来说,影碟出租管理系统是一个有益的软件项目,能够帮助影碟租赁店提高库存管理效率,简化租赁流程,提升客户服务质量。通过C语言开发这个系统,可以确保系统的稳定性和性能,同时也有利于培养学生对C语言程序设计的能力和熟练度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白茶丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值