汽車租賃管理系統

來源:互聯網
上載者:User

①使用結構體數組輸入至少5輛汽車資訊

  (注意車輛狀態最終存放到檔案中,下次開啟直接讀取)

②車輛租借介面

根據車輛的狀態顯示不同的提示給使用者

#include <stdio.h>void menu()   //建立系統功能表{    printf("\n\t\t\t歡迎租賃本公司的車輛\n\n");    printf("\t\t\t1.查詢所有車輛\n\n");    printf("\t\t\t2.歸還以租賃車輛\n\n");    printf("\t\t\t3.租借現有車輛\n\n");    printf("\t\t\t0.退出租賃系統\n\n");}//建立存放資訊的結構體struct node{    int num,doing;    char carname[10],carnum[10],money[10],day[10],daymoney[10],;}INF[5];//輸入車輛資訊void input(struct node inf[5]){    int i;    FILE  *fp;   //定義檔案指標    printf("\t\t\t租賃汽車公司系統\n\n");    printf("請輸入汽車資訊\n\n");    printf("0:以租出車輛   1:未租出車輛\n\n");    printf("|編號  |車型  |車牌號  |押金  |限制天數  |日租價  |目前狀態\n");    printf("-----------------------------------------------------------\n");    if((fp = fopen("E:\\ABC.txt","wb")) == NULL)    {        printf("Cannot open file !\n");        return;    }    for(i = 0;i < 5;i++)    {        scanf("%d %s %s %s %s %s %d",&inf[i].num,inf[i].carname,inf[i].carnum,inf[i].money,inf[i].day,inf[i].daymoney,&inf[i].doing);    }    fwrite(inf,sizeof(struct node),5,fp);    rewind(fp);}//讀取資訊int Read(){    FILE  *fp;     if((fp = fopen("E:\\ABC.txt","rb")) == NULL)    {        return -1;    }else    {        fread(INF,sizeof(struct node),5,fp);        return 1;    }}//查詢車輛資訊功能void putout(struct node inf[5]){    int i;    printf("\n\n                        庫存車輛資訊總覽\n\n\n");    printf("   |編號  |車型    |車牌號    |押金  |限制天數  |日租價  |目前狀態\n");    printf("   ----------------------------------------------------------------\n");     for(i = 0;i < 5;i++)    {       printf("   %d     %s   %s    %s      %s       %s      ",inf[i].num,inf[i].carname,inf[i].carnum,inf[i].money,inf[i].day,inf[i].daymoney);        if(INF[i].doing == 1)            printf("未租出\n");        else            printf("以租出\n");    }    printf("\n\n");}//歸還已租車輛函數void Return(int iNum){    if(INF[iNum].doing == 1)    {        printf("\n該車未出租\n\n");    }else    {        INF[iNum].doing = 1;        printf("   |編號  |車型    |車牌號    |押金  |限制天數  |日租價  |目前狀態\n");        printf("   ----------------------------------------------------------------\n");        printf("   %d     %s   %s    %s      %s       %s      ",INF[iNum].num,INF[iNum].carname,INF[iNum].carnum,INF[iNum].money,INF[iNum].day,INF[iNum].daymoney);        printf("未租出\n\n");        printf("操縱成功…………\n");    }}//租借車輛函數void borrow(int iNum){    if(INF[iNum].doing == 0)    {        printf("\n該車已被租借\n");    }else    {        INF[iNum].doing = 0;        printf("   |編號  |車型    |車牌號    |押金  |限制天數  |日租價  |目前狀態\n");        printf("   ----------------------------------------------------------------\n");        printf("   %d     %s   %s    %s      %s       %s      ",INF[iNum].num,INF[iNum].carname,INF[iNum].carnum,INF[iNum].money,INF[iNum].day,INF[iNum].daymoney);        printf("以租出\n\n");        printf("操縱成功…………\n");    }}int main(){    int choose = 0;    int fist;    fist = Read();
/*此處為本程式中重要的部分,
  通過fist來判斷是否是第一次登入,如果是
第一次登入,則調用input函數,建立一個新檔案,
如果是是第>1次登入,則直接讀出檔案內容
*/
    if(fist == -1)     {        printf("這是您第一次登入系統\n");        input(INF);        Read();    }    while(1)    {        menu();        int inum;        printf("\t\t\t請輸入您所需的服務編號: ");        scanf("%d",&choose);        if(choose == 1)  //查詢所有車輛函數        {            putout(INF);        }else if(choose == 2)  //歸還租賃車輛        {            printf("請輸入歸還車輛編號: ");            scanf("%d",&inum);            Return(inum);        }else if(choose == 3)  //租借現有車輛        {            printf("請輸入租借車輛編號: ");            scanf("%d",&inum);            borrow(inum);        }else if(choose == 0)  //退出租賃系統        {             printf("\n\n\t\t\t歡迎下次再來\n");             break;        }    }    return 0;}

本程式缺陷:只能輸入五組汽車的資訊,不能輸入>5組的資訊。

用到知識:

      1.結構體
      2.檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.