亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

留言簿程序的編寫

2019-11-17 05:34:12
字體:
來源:轉載
供稿:網友


1、構造留言簿的結構
    一個留言必不可少的是內容、其次是留言的日期和時間。和們就按這兩點定義留言記錄的結構。
strUCt record
{
    struct date t_date;        /*留言日期*/
    struct time t_time;        /*留言時間*/
    char event[100];           /*留言內容*/
    struct record *next;       /*指向下一個節點的指針*/
};
在上結構的定義中,用字符串event[100]存放留言內容,結構成員t_date存放留言的日期,t_time存放留言的時間。結構data和time的定義是Turbo C提供的。它們的定義分別如下所示:
struct date
{
    int da_year;
    char da_day;
    char da_mon;
};
struct time
{
    unsigned char ti_min;
    unsigned char ti_hour;
    unsigned char ti_hund;
    unsigned char ti_sec;
};
2、入隊操作
    入隊操作比較簡單,只要能找到隊列的最后一個節點(即尾節點)修改尾節點的指針域,讓其指針指向新增加的節點即可。于是問題的要害就在于如何找到尾節點,或是找到尾節點的指針域。
    這里采用設置頭節點和尾指針的方法來完成入隊操作。
    隊列在還沒有任何一條記錄時稱為隊空。此時我們在隊列中設置一個不存放任何記錄的節點,稱為“頭節點”(采用頭節點的好處在以后會體現出來),由于并無記錄,我們設置的指向隊尾的尾指針也指向這個頭節點。
    一旦需要添加記錄,就讓尾指針指向新節點(稱為節點1),而后把節點1的指針域賦給尾指針。由于尾指針為頭節點的指針域,這樣含頭節點就鏈接了節點1,即頭節點的指針指向節點1,形成了鏈的初始模型。當增加第二個節點(稱為節點2)時,仍然修改尾指針,讓其指向節點2,而后把節點2的指針域賦給尾指針。由于原來尾指針為節點1的指針域,因此節點1和節點2又鏈接在一起?,F在的隊列由頭節點、節點1和節點2相互鏈接而成。依此類推,鏈隊就通過修改尾指針的值形成了。
    入隊操作的基本算法如下所示:
void queue_add(struct element *rear,struct element *p)
{
    p->next=NULL;
    rear->next=p;
    rear=p;
}
    其中rear即為尾指針,而指針p指向新增的節點。算法的流程和上述完全一樣。
錄入留言記錄的函數代碼如下所示:
void Data_Input(struct record *p)
{
    struct data *d;
    struct time *t;
    front++;
    getdate(t);        /*取系統時間*/
    p->t_time.ti_hour=ti_hour;
    p->t_time.ti_min=ti_min;
    p->time.ti_sec=ti_sec;
        printf("/nTime: %2d: %2d: %2d",p->t_time.ti_hour,p->t_time.ti_min,p->t_time.ti_sec);
    printf("/n/n/tPlease input record:");
    gets(p->event);      /*輸入留言內容*/
    p->next=NULL;
}
    上述函數中,采用了getdate()和gettime()兩個函數用來獲取系統的日期和時間。這兩個函數只返回指向當前日期和時間的兩個指針,還需要將值立即賦給留言記錄中的結構成員。
3、出隊操作---留言記錄的刪除
    和入隊操作相反的是出隊操作,即在隊頭將記錄刪除,這也是符合“先進先出”的原則的。
    由于設置了頭節點,因此出隊操作顯得非常簡單。只需要修改頭節點的指針域,讓其指向第二個節點即可。而第一個節點則將其釋放掉。其余節點,包括尾指針都不必做任何修改操作。
    例如一個隊列原本由頭節點、節點1和節點2相鏈而成,執行出隊操作時,相當于將頭節點和節點1、節點1和節點2之間的兩條鏈斷開,而用斷鏈將頭節點和節點2鏈上,多出來的節點1將其釋放掉。
    典型的出隊操作算法如下:
void queue_delete(struct element head)
{
    struct element *temp;
    temp=head.next->next;
    head.next=temp;
}
    在執行出隊操作時,一定要記住需要將出隊的節點釋放。由于采用鏈式存儲,事先無法估計需要多大的存銷售市場空間,也不必去估計。每次新增一個節點時,都是調用內存分配函數為新節點申請一塊內存,如下所示:
    p=malloc(sizeof(struct record)
    函數malloc開辟了一塊大小為record 結構元素的內存區域,把掻向該區域的指針賦給指針p,這塊內存單元的所有權就從系統轉移到了指針p。當p指向的數據元素被刪除(出隊)時,一定要用如下方式將內存單 所有權還給系統:
    free(p);
    函數free()的作用和malloc()剛好相反,它將指定的內存單元還給了系統。因為系統的內存單元是有限的,假如不及時釋放占用的內存,會造成內存資源耗盡或由于內存的減少導致程序執行速度下降。
4、記錄的存取的讀取
void Data_Save(struct record *p)      /*記錄文件的存取*/
{
    int j;
    fp=fopen(tele_rec.txt","w");      /*以可寫方式打開記錄文件*/
    while(p!=NULL)        /*若未到隊尾,徨將記錄存儲到文件中*/
    {
        fwrite(p.sizeof(struct record),1,fp);
        p=p->next;
    }
    fclose(fp);        /*關閉指定的文件*/
}
struct event *Data_Load()        /*從記錄文件中讀取記錄*/
{
    long k;
    struct record *p,*q;
    p=event_head.next;
    fp=fopen("tele_rec.txt","r+t");        /*以讀方式打開記錄文件*/
    if(fp!=NULL)
    {
        while(!feof(fp))        /*依次讀取記錄并執行入隊操作*/
        {
            fread(q,sizeof(struct record),1,fp);
            p->next=q;        /*這里p為尾指針,q為指向新節點的指針*/
            p=q;
        }
        p->next=NULL;
        event_end=p;
    }
    else
    {
        fp=fopen("tele_rec.txt","w");    /*若文件不存在,創建指定文件名的新文件*/
        event_head.next=NULL;
        event_end=event_head.next;
    }
}


/*-------------留言簿代碼如下-------------*/
#include<stdio.h>
#include<conio.h>
#include<dos.h>
struct record
{
    struct date t_date;        /*定義留言日期*/
    struct time t_time;        /*定義留言時間*/
    char event[100];           /*定義電話內容*/
    struct record *next;       /*指向下一個節點的指針*/
}event_head;

struct record *event_end;
int front;
FILE *fp;

void Data_Save(struct record *p)        /*記錄文件的存儲*/
{
    int j;
    fp=fopen("tele_rec.txt","w");       /*以可寫方式打開記錄文件*/
    while(p!=NULL)  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲乱码av中文一区二区| 国产精品入口福利| 午夜精品福利在线观看| 久久久久久久香蕉网| 丝袜亚洲另类欧美重口| 91成人精品网站| 欧美一级bbbbb性bbbb喷潮片| 久久亚洲精品成人| 最近2019中文免费高清视频观看www99| 欧美性理论片在线观看片免费| 亚洲免费精彩视频| 欧美一区二区色| 亚洲综合在线中文字幕| 国产亚洲精品一区二区| 日韩高清免费观看| 亚洲一区二区三| 欧美极品在线播放| 亚洲影院高清在线| 国产成人a亚洲精品| 正在播放国产一区| 97精品国产97久久久久久春色| 亚洲毛片一区二区| xxav国产精品美女主播| 成人福利网站在线观看| 在线亚洲午夜片av大片| 日韩久久精品电影| 欧美在线激情网| 日韩在线视频免费观看| 色偷偷88888欧美精品久久久| 国产一区视频在线| 欧美大荫蒂xxx| 中文字幕欧美精品日韩中文字幕| 一本一本久久a久久精品牛牛影视| 国产97在线视频| 欧美日韩中文字幕在线| 国产一区二区丝袜高跟鞋图片| 国产亚洲精品久久久| 久久成人精品一区二区三区| 久久精品视频网站| 国产在线视频2019最新视频| 国产精品夜间视频香蕉| 国产精品第一区| 欧美亚洲另类视频| 福利精品视频在线| 国产精品wwww| 亚洲影视中文字幕| 日韩视频免费在线观看| 国产一级揄自揄精品视频| 欧美人与性动交a欧美精品| 亚洲图片在线综合| 欧美日韩国产一区二区三区| 国产97在线|亚洲| 一区二区三区日韩在线| 国产精品高潮粉嫩av| 久久夜精品va视频免费观看| 国产xxx69麻豆国语对白| 欧美日韩亚洲网| 久久艳片www.17c.com| 清纯唯美日韩制服另类| 全亚洲最色的网站在线观看| 91牛牛免费视频| 亚洲欧洲一区二区三区久久| 日韩欧美精品在线观看| 欧美大尺度激情区在线播放| 欧美精品久久一区二区| 欧美天天综合色影久久精品| 国产自摸综合网| 日本亚洲欧洲色| 中文字幕亚洲自拍| 在线a欧美视频| 国产免费一区二区三区在线能观看| 亚洲综合日韩中文字幕v在线| 欧美精品videosex性欧美| 欧美日韩aaaa| 国产精品亚发布| 亚洲精品理论电影| 国产精品丝袜视频| 欧美网站在线观看| 国产精品高清在线| 成人精品在线视频| 成人精品久久久| 色与欲影视天天看综合网| 日韩精品999| 国产va免费精品高清在线| 亚洲精品xxx| 欧美最顶级丰满的aⅴ艳星| 一区二区在线视频播放| 91久久久久久国产精品| 精品国产一区二区三区久久狼黑人| 欧美日韩在线视频一区二区| 国产精品日韩av| 国产精品69精品一区二区三区| 欧美视频国产精品| 久久成人综合视频| 日本精品视频在线观看| 成人美女av在线直播| 国产精品高精视频免费| 国产精品青草久久久久福利99| 久久久久亚洲精品| 欧美精品制服第一页| 日韩中文字在线| 欧美一级免费看| 日韩成人在线免费观看| 亚洲精品美女久久久久| 欧美电影电视剧在线观看| 久久久999成人| 欧美日韩福利在线观看| 有码中文亚洲精品| 欧美视频精品一区| 5252色成人免费视频| 黑人巨大精品欧美一区二区一视频| 中文字幕久精品免费视频| 成人免费看吃奶视频网站| 国产欧美一区二区白浆黑人| 一区二区成人精品| 另类图片亚洲另类| 青青草99啪国产免费| 亚洲变态欧美另类捆绑| 精品亚洲一区二区三区四区五区| 91嫩草在线视频| 中文字幕精品在线| 日韩欧美有码在线| 亚洲最大福利视频网| 日韩精品在线观看一区二区| 日韩精品电影网| 日韩黄色av网站| 91中文在线视频| 欧美午夜无遮挡| 国产成人小视频在线观看| 亚洲欧美第一页| 亚洲高清av在线| 欧美国产日韩xxxxx| 清纯唯美亚洲激情| 日韩国产高清污视频在线观看| 国产一区二区在线播放| 992tv在线成人免费观看| 欧美激情精品久久久久久蜜臀| 北条麻妃久久精品| 国产在线不卡精品| 色悠悠国产精品| 久久久久久免费精品| 国产日韩在线看片| 精品一区电影国产| 91精品国产亚洲| 日韩精品免费一线在线观看| 久久久国产精品亚洲一区| 欧美视频专区一二在线观看| 日韩av在线网址| 欧美国产日韩xxxxx| 4444欧美成人kkkk| 欧美高清在线播放| 色哟哟入口国产精品| 欧美日韩ab片| 久久人人97超碰精品888| 日韩电影在线观看中文字幕| 日韩精品在线看| 精品国产区一区二区三区在线观看| 久久久电影免费观看完整版| 久久青草精品视频免费观看| 国产亚洲一区二区在线| 在线观看免费高清视频97| 影音先锋日韩有码| 日韩在线视频网站| 日韩电影在线观看永久视频免费网站|