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语言 ,