当前位置:编程学习 > C/C++ >>

C[泊车管理系统]

//

//  main.c

//  泊车管理系统

//

//  Created by 丁小未 on 13-7-14.

//  Copyright (c) 2013年 dingxiaowei. All rights reserved.

//

//题目:泊车管理系统

//(1)管理人员根据口令进入系统

//(2)管理车位信息(车位编号,状态)和每分钟的收费率;

//(3)停车时录入汽车停泊信息(车牌号,车型,停泊位置,停泊开始时间);如果车位已满要给出提示;

//(4)取车时,根据车牌取,如果没有给出提示;需要根据车辆停泊时间自动计算费用并显示在屏幕上。

#include <stdio.h>

#include <string.h>

#include <time.h>

#define MAX 20

 


struct StopedCar

{

    char carNum[20]; //车牌号

    char carshap[20];//车型

    int areaNum; //停泊位置号码

    char stopedTime[30]; //开始停泊时间

    int h;  //记录小时

    int m;  //记录分钟

};

int total;  //总记录数

char password[20]; //密码

struct StopedCar stopedcar[MAX];

int price=1.0;//默认泊车单价为1¥1M

 


/***************函数申明******************************************/

void Init();//初始化,文件不存在,则建立,同时记录下文件中记录的个数

int get_menu_choice(); //接受菜单选择

void menu();//菜单相应

void Show_menu();//显示菜单

FILE *file_operate(char *mode); //文件操作类型

void set_psw();//设置密码

int psw_check();//密码验证

int Inputonecar(int i);//根据车位号增加一条记录

void Inputfile(int i,FILE *fp);//将下标为i的记录写入文件

void Input(FILE *fp);//向管理系统中增加记录

int SetPrice();//设置停车单价(例如:¥1for1s)

void GetCarByAreaNum(FILE *fp);//根据车位号取车

/*****以下函数是为了简化部分工作从上面的函数中划分出来的功能**************/

void PrintTitle();//打印头信息

void ShowAllCarInfo(); //显示所有停车信息

void Showonecarinfo(int i);  //显示停车信息

float countMoney(float danjia);//计算根据传入的单价来计算泊车的费用

void Readfile(int i,FILE *fp);//从文件中读取一条记录

int CheckNumber(int areaNum_temp);//检查车位号是否为空,存在返回序号,如果该车位有停车则返回-1

char* GetTime();//获取当前时间

int Cost(char *time1,int danjia);//根据单价和时间差来计算停车消费的价格

 


int Cost2(int h,int m,int danjia);

void GetCarByAreaNum2(FILE *fp);

int timeh();

int timem();

/***************函数的实现****************************************/

//获取当前系统时间

char* GetTime()

{

    {

        time_t now;

        struct tm *timenow;

        time(&now);

        timenow = localtime(&now);

    char *p = asctime(timenow);

    return p;

    }

}

//返回当前小时

int timeh()

{

    int h;

    time_t   now;

    struct   tm     *timenow;

    time(&now);

    timenow   =   localtime(&now);

    char *p = asctime(timenow);

    h=timenow->tm_hour;

    return h;

}

//返回当前分钟

int timem()

{

    int m;

    time_t   now;

    struct   tm     *timenow;

    time(&now);

    timenow   =   localtime(&now);

    char *p = asctime(timenow);

    m=timenow->tm_min;

    return m;

}

 


//接受菜单选择

int get_menu_choice()

{

    int menu_ch;

    do {

        printf("输入菜单选项:");

        scanf("%d",&menu_ch);

        if((menu_ch<0)||(menu_ch>9))

            printf("输入错误!");

    } while ((menu_ch<0)||(menu_ch>9));

    return menu_ch;

}

//显示菜单

void Show_menu()

{

    printf(">>>>>>>>>>>>>>>欢迎使用泊车管理系统<<<<<<<<<<<<<<<<\n");

    printf("************************************************\n");

    printf("*   1.新增停车信息         |   2.显示所有停车信息   *\n");

    printf("*   3.按照车牌号取车       |   4.按照车位号取车     *\n");

    printf("*   5.按照车牌号查询车信息  |   6.按照车位号查询车信息*\n");

    printf("*   7.设置泊车单价         |   8.密码设置         *\n");

    printf("*   9.主动清屏            |   0.退出             *\n");

    printf("************************************************\n");

}

//清屏,有点问题

//void clear()

//{

//    system("pause");

//    system("cls");

//}

 


//菜单响应

void menu()

{

    while (1) {

        Show_menu();

        switch (get_menu_choice()) {

            case 1://新增停车信息

                Input(file_operate("ab"));  //二进制追加写入

                break;

            case 2://显示所有泊车信息

                ShowAllCarInfo();

                break;

            case 3://按照车牌好取车

                break;

            case 4://按照车位号取车

                GetCarByAreaNum2(file_operate("wb"));

                break;

            case 5://按照车牌号查询车位信息

                break;

  

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,