飯卡管理系統(tǒng)-創(chuàng)新互聯(lián)

一.通過程序可實現(xiàn):

(1).建立飯卡信息:添加若干人的飯卡號、姓名、金額,要求飯卡號是唯一的;

堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設(shè)服務10余年為成都成都電動窗簾小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)站營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務。

(2).買飯:要求用戶輸入飯卡號、飯費,系統(tǒng)自動從該人的飯卡中減去飯錢,并分別顯示買飯前后的金額,如果原來飯卡中的余額不足5元,則不能買飯,顯示“余額不足,請充值”;

(3).充值:輸入飯卡號、充值金額,充值完成后顯示充值前后的金額。

二.源代碼
#include#include#include#define len sizeof(struct fanka)
# define max 2000
struct fanka    
{
    int num;
    char name[100];
    float yuan;
    struct fanka *next;
} fanka [max];//定義結(jié)構(gòu)體飯卡,大2000人
int j=0;//計數(shù)器:建立飯卡的數(shù)量 

struct fanka *create()//創(chuàng)建鏈表 
{
    struct fanka *head=NULL;//定義頭指針 
    struct fanka *n;//用于指向新建的節(jié)點 
    struct fanka *s;//操作指針 
    struct fanka *tail;//定義尾指針 
    while(1)//在該循環(huán)中創(chuàng)建鏈表 
    {
        n=(struct fanka *)malloc(len);//申請地址空間 
        printf("請輸入飯卡號和姓名:\n"); 
        scanf("%d,%s",&n->num,n->name);//錄入飯卡信息 
        s=head;//頭指針不動 
        for( ;s!=NULL;s=s->next)//確保飯卡號是唯一的 
        {
            if(n->num==s->num)
                printf("飯卡號不可以重復!\n");
            break;
        }
        if(n->num==0)//當輸入飯卡號為0時,循環(huán)結(jié)束,表格創(chuàng)建結(jié)束 
        {
            free(n);
            break; 
        }
        else
        {
            if(j==0)
            {
                head=n;
                tail=n;
            }
            else
            {
                tail->next=n;
                tail=n;
            }
            j++;//新建一個節(jié)點,計數(shù)器自增加1 
        printf("請輸入充值的金額:\n");
        scanf("%f",&n->yuan);//輸入初始充值的金額 
        }
    } 
    tail->next=NULL;
    return head;//返回頭指針 
} 
void maifan(struct fanka *head)//買飯函數(shù)
{
    int n;//定義買飯的飯卡號
    float m;//定義飯費 
    struct fanka *s;//定義操作指針 
    printf("\n請輸入飯卡號:");
    scanf("%d",&n);
    printf("\n請輸入飯費:");
    scanf("%f",&m);
    if(m<=0)//飯費不可為負數(shù) 
        printf("\n請正確輸入飯費!\n");
    else
    {
        for( ; s!=NULL && s->num!=n; s=s->next)//遍歷鏈表,查找飯卡號 
         ;
        if(s==NULL)//輸入的飯卡號有誤 
        {
            printf("未找到該飯卡號!\n");
            printf("請輸入正確的飯卡號!\n");
        }
            
        else if(s->yuan<5)//小于5元則提醒充值 
            printf("余額不足,請充值!\n");
        else
        {
            printf("\n消費前卡中余額:%.2f\n",s->yuan);
            s->yuan=s->yuan-m;//實現(xiàn)飯卡費的扣除
            printf("\n消費后卡中余額:%.2f\n",s->yuan); 
        }
    }
    
}
void chongzhi(struct fanka *head)//充值函數(shù) 
{
    int n;//定義飯卡號
    float m;//定義充值金額 
    struct fanka *s;//定義操作指針 
    s=head;//頭指針不動 
    printf("\n請輸入飯卡號:");
    scanf("%d",&n);
    printf("\n您想充值多少元?");
    scanf("%f",&m);
    if(m<=0)//充值金額不可以為負 
        printf("\n請輸入正確的金額!\n");
    else
    {
        for( ; s!=NULL && s->num!=n; s=s->next)//遍歷鏈表,查找飯卡號 
         ;
        if(s==NULL)//輸入的飯卡號有誤 
        {
            printf("未找到該飯卡號!\n");
            printf("請輸入正確的飯卡號!\n");
        }
            
        else
        {
            printf("\n充值前卡中余額:%.2f\n",s->yuan);//輸出充值前的余額 
            s->yuan=s->yuan+m; //實現(xiàn)飯卡的充值 
            printf("\n充值后卡中余額:%.2f\n",s->yuan);//輸出充值后的金額 
        }
    }

}
void print(struct fanka *head)//輸出鏈表函數(shù) 
{
    struct fanka *s;//定義操作指針 
    s=head;//頭指針不動 
    printf("飯卡號 姓名 飯卡余額"); 
    if(head==NULL)
        printf("這是一個空表");
    else
    {
        while(s!=NULL)
        {
            printf("\n%4d  %5s %4.2f",s->num,s->name,s->yuan);//輸出鏈表 
            s=s->next;
        }
    }
} 
int main()
{
    int a;//想要選擇何種操作 
    struct fanka *head=NULL;
    head=create();
    print(head);
    while(a!=3)
    {
        printf("\n請選擇您想要進行的服務:\n");
        printf("1.買飯  2.充值  3.退出系統(tǒng)\n");
        scanf("%d",&a);
        switch(a)
        {
            case 1: maifan(head);break;//調(diào)用買飯函數(shù) 
            case 2: chongzhi(head);break;//調(diào)用充值函數(shù)
            case 3: break;
            defaulf :printf("請選擇正確的序號\n"); 
        }
    }
? ? return 0;
}

注:該代碼應再Dev C++上運行,使用其它編譯器會出現(xiàn)各種語法錯誤。

三.試運行

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當前題目:飯卡管理系統(tǒng)-創(chuàng)新互聯(lián)
標題路徑:http://muchs.cn/article0/eisio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站制作虛擬主機、動態(tài)網(wǎng)站網(wǎng)站收錄、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)