C語言課程設(shè)計(jì)報(bào)告_第1頁
C語言課程設(shè)計(jì)報(bào)告_第2頁
C語言課程設(shè)計(jì)報(bào)告_第3頁
C語言課程設(shè)計(jì)報(bào)告_第4頁
C語言課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、課 程 設(shè) 計(jì) 報(bào) 告課程名稱 C語言課程設(shè)計(jì) 課題名稱 專 業(yè) 班 級(jí) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 陳世清 揚(yáng)子華 曹燚 2010年 12 月 27 日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱 C語言課程設(shè)計(jì) 課 題 專業(yè)班級(jí) 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)老師 陳世清 揚(yáng)子華 曹燚 審 批 任務(wù)書下達(dá)日期 2010 年 12 月 27 日任務(wù)完成日期 2011年 1 月 2日目錄1、 設(shè)計(jì)目的 2、 總體設(shè)計(jì)3、 詳細(xì)設(shè)計(jì)4、 調(diào)試與測試:5、 總結(jié)與體會(huì)附:源程序清單和執(zhí)行結(jié)果設(shè)計(jì)目的本次C語言課程設(shè)計(jì)是對(duì)本學(xué)期C語言程序設(shè)計(jì)課程的實(shí)際應(yīng)用,同學(xué)們也可以在設(shè)計(jì)過程中發(fā)現(xiàn)問題解決問題,起主要目

2、的如下:1. 鞏固和加深對(duì)C語言課程的基本知識(shí)的理解和掌握。 2. 掌握C語言編程和程序調(diào)試的基本技能。 3. 利用C語言進(jìn)行基本的軟件設(shè)計(jì)。 4. 掌握書寫程序設(shè)計(jì)說明文檔的能力。 5. 提高運(yùn)用C語言解決實(shí)際問題的能力??傮w設(shè)計(jì)2.1力學(xué)實(shí)驗(yàn)設(shè)備管理系統(tǒng)的要求通過該系統(tǒng)實(shí)現(xiàn)對(duì)力學(xué)實(shí)驗(yàn)設(shè)備信息進(jìn)行錄入、修改、統(tǒng)計(jì)、查詢、保存等操作的管理。實(shí)驗(yàn)設(shè)備信息包括:設(shè)備編號(hào),設(shè)備種類,設(shè)備名稱(如燒杯、酒精燈等),設(shè)備價(jià)格,設(shè)備購入日期,是否報(bào)廢,報(bào)廢日期等。主要功能:1)、能夠完成對(duì)設(shè)備的錄入和修改2)、對(duì)設(shè)備進(jìn)行分類統(tǒng)計(jì)3)、設(shè)備的破損耗費(fèi)和遺損處理4)、設(shè)備的查詢5)、將設(shè)備信息保存到

3、文件中2.2流程圖根據(jù)設(shè)計(jì)要求,畫出如下流程圖:開 始 菜 單 1錄入2顯示3修改4刪除5查詢6.退出a.名稱b.編號(hào)結(jié) 束2.3設(shè)置的主要函數(shù)void userinterface()/*菜單函數(shù)*/void showall()/*顯示*/void add()/*增加成員*/void delet()/*刪除*/void find()/*查找*/void findchoice(int a) /*選擇查找方式函數(shù)*/void modify()/*修改信息*/void save()/*把信息保存到磁盤*/void esc()/*退出*/void choices()/*為下一步操作做選擇*/void

4、load()/*讀數(shù)據(jù)*/詳細(xì)設(shè)計(jì)3.1函數(shù)以及調(diào)用關(guān)系void userinterface()/*菜單函數(shù)*/開始添加記錄查找記錄顯示記錄刪除記錄修改記錄結(jié)束Menu_select退出保存 1 2 3 4 5 6 Break Break Break Break Break break void showall();/*顯示函數(shù)*/開始調(diào)用save( )head=NULL = =N NNNNNNNNNULL NULL NULLhhhhhead hhhhhead=NULL顯示信息 真 假 真退出結(jié)束void add()/*增加設(shè)備函數(shù)*/ 開始 輸入編號(hào)Record=0 假 真輸入數(shù)據(jù)( 名稱、

5、種類、價(jià)格、購買日期、報(bào)廢日期、是否報(bào)廢)繼續(xù)添加結(jié)束 void delet()/*刪除函數(shù)*/ 開始 輸入要?jiǎng)h除學(xué)生學(xué)號(hào) 輸入numNum=!0 真 假刪除成功Choices()結(jié) 束void find()/*查找函數(shù)*開始按名稱查找按種類查找按編號(hào)查找 判斷顯示要查找內(nèi)容沒有找到退 出 void findchoice() 真 假 void modify()/*修改信息函數(shù)*/ 開始 輸入編號(hào)Record=0 假 真輸入數(shù)據(jù)( 新的名稱、種類、價(jià)格、購買日期、報(bào)廢日期、是否報(bào)廢)結(jié)束void save();/*把信息保存到磁盤*/退 出關(guān)閉文件開始打開文件數(shù)據(jù)寫入文件void load();

6、/*讀數(shù)據(jù)*/開始關(guān)閉文件讀出數(shù)據(jù)打開文件退 出3.2結(jié)構(gòu)的應(yīng)用Ifelse結(jié)構(gòu)if(strcmp(passwords,b)!=0) printf("r口令錯(cuò)誤,按任意鍵繼續(xù)"); else break;switch結(jié)構(gòu)switch(choice) case 1:add();break; case 2:system("cls");find();break; case 3:system("cls");showall();break; case 4:system("cls");delet();break; case 5

7、:system("cls");modify();break;case 0:system("cls");esc();while結(jié)構(gòu)while(stu->record!=0) head=insert(head,stu);printf("nntt*添加成功*!n");stu=(struct addbook*)malloc(LEN);printf("nnttt當(dāng)輸入的設(shè)備編號(hào)為0時(shí),停止添加!");printf("ntt請(qǐng)輸入編號(hào):");scanf("%d",&stu-

8、>record);getchar();/*用來接受scanf里輸入的回車符號(hào)*/printf("ntt請(qǐng)輸入名稱:");gets(stu->name);printf("ntt請(qǐng)輸入種類:");gets(stu->kind);printf("ntt請(qǐng)輸入價(jià)格:");gets(stu->price);printf("ntt請(qǐng)輸入購買日期(如20100101):");scanf("%ld",&stu->purtime); getchar();printf(&quo

9、t;ntt請(qǐng)輸入報(bào)廢日期(如20100101):");scanf("%ld",&stu->scrtime); getchar(); printf("ntt請(qǐng)輸入是否報(bào)廢(S或F):");gets(stu->scrap);stu->next = NULL;dowhile結(jié)構(gòu)doprintf("%-8d%-8s%-8s%-8s%ld %ldtt%-8sn",s->record,s->name,s->kind,s->price,s->purtime,s->scrtime

10、,s->scrap); s = s->next; while(s!=NULL);LP:choices();for結(jié)構(gòu)for(j=0;j<strlen(b);j+) passwordsj=getch(); printf("*"); 調(diào)試與測試4.1調(diào)試執(zhí)行程序時(shí),顯示如下信息:輸入一組數(shù)據(jù)后,顯示菜單:選擇不同的選項(xiàng),執(zhí)行相應(yīng)的功能。選擇1,添加設(shè)備信息。選擇2查找設(shè)備信息,可按三種方式查找。3.1.5選擇3,可顯示信息。選擇4,刪除設(shè)備信息。選擇5,修改設(shè)備信息。選擇0,保存并退出。4.2測試及其解決問題在測試過程中,關(guān)于購買日期和報(bào)廢日期,輸入正常,顯示

11、則成了亂碼,經(jīng)過仔細(xì)檢查發(fā)現(xiàn)在定義變量的出現(xiàn)了問題,及時(shí)改正。另外由于疏忽,沒有將密碼函數(shù)鏈接到主函數(shù)中,使得密碼功能沒有體現(xiàn),及時(shí)調(diào)整。顯示內(nèi)容與表頭進(jìn)行調(diào)整對(duì)齊,由于顯示函數(shù)和查找函數(shù)都有顯示功能,需要同時(shí)調(diào)整??偨Y(jié)與體會(huì)這一次課程設(shè)計(jì)可謂是讓我焦頭爛額,手足無措啊。因?yàn)槲覀冊诖笠坏臅r(shí)候并沒有學(xué)過C語言這一門課程,這學(xué)期才開始接觸這門課程,讓我們設(shè)計(jì)一個(gè)無懈可擊的程序簡直比登天還難。剛開始感覺確實(shí)有點(diǎn)力不從心,但是經(jīng)過幾天的學(xué)習(xí)、摸索,我的程序也終于初具雛形了,我別提有多高興。雖然在許多的功能方面有所欠缺,但是我覺得我是在進(jìn)步的。經(jīng)過幾天的上機(jī)實(shí)踐學(xué)習(xí),給我的不只是疲憊更多的是收獲。課程設(shè)

12、計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)生來說掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的。在課程設(shè)計(jì)過程中,我學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒,黑夜過去了,我們收獲的是黎明。在本次實(shí)踐中,給我印象最為深刻的是在文件刪除程序的編譯過程中,先有我的各個(gè)子程序都已經(jīng)編輯成功,那么這最后的程序就將是我成功的關(guān)鍵。老天不會(huì)讓我太過順利,他在這最后的時(shí)刻設(shè)置

13、的障礙,是要考驗(yàn)我的能力,他要置我于死地?在這個(gè)問題的解決上,我打了退堂鼓,我不能忍受長時(shí)間的無功而反,時(shí)間正在消磨我的意志。沒有了柳暗花明的一天,那么我怎么能說經(jīng)受住了考驗(yàn)?謝謝老師的那句話,她說:人力有所不能及,然而,人的精神是不會(huì)敗倒的。我鼓起勇氣,到處問,到處查資料,黃天不負(fù)有心人,我的程序設(shè)計(jì)終于得以問世。 課程設(shè)計(jì)到此算是基本結(jié)束,在程序設(shè)計(jì)中暴露出的我自身的問題卻是非常明顯! 首先,基礎(chǔ)掌握不牢固。許多基本語法尚沒有熟練掌握,在設(shè)計(jì)過程中仍需請(qǐng)教其它同學(xué),更重要研究課本,設(shè)計(jì)效率底。 其次,經(jīng)典算法掌握不牢。在編寫程序的時(shí)候常常會(huì)停下來求助于書本,查看各種算法。再次,程序量過大的

14、時(shí)候,頭緒理不清。雜亂無章,無系統(tǒng)性,不便調(diào)試和閱覽,自己也易于出錯(cuò)。比如說少加分號(hào),大括號(hào),忘了先定義后使用的原則。 回顧這一周,我感慨頗多,的確,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過

15、程中發(fā)現(xiàn)了自己的不足之處,對(duì)一些前面學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體,指針,函數(shù),算法通過這次課程設(shè)計(jì)之后,我們把前面所學(xué)過的知識(shí)又重新溫故了一遍。 在程序已經(jīng)初步寫成的時(shí)候,心情很激動(dòng)也很緊張,在沒有進(jìn)行測試之前心還是放不下來。剛進(jìn)行測試,檢查沒有錯(cuò)誤,可執(zhí)行起來卻出現(xiàn)了很大的問題。首先是程序不具有存儲(chǔ)功能,顯示亂碼,再就是密碼功能沒有實(shí)現(xiàn)。經(jīng)過一遍又一遍仔細(xì)檢查終于意義解決。當(dāng)程序完全運(yùn)行成功的時(shí)候,那種喜悅感死無法用言語來形容的。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在陳老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在陳老師的身上我學(xué)得到很多實(shí)用的知識(shí)

16、,在次我表示感謝!同時(shí),對(duì)給過我?guī)椭乃型瑢W(xué)和指導(dǎo)老師再次表示忠心的感謝!#include<stdio.h>#include<string.h>#include<stdlib.h>#include<process.h>#include<malloc.h>#include<conio.h>#define LEN sizeof(struct addbook)struct addbookint record;/*編號(hào)*/char name15;/*名稱*/char kind5;/*種類*/char price8;/*價(jià)格*/

17、unsigned long purtime;/*購買日期*/unsigned long scrtime;/*報(bào)廢日期*/ char scrap6; /*是否報(bào)廢*/struct addbook *next;/*指向結(jié)構(gòu)體數(shù)據(jù)類型的指針*/;FILE *fp;struct addbook *p,*head=NULL,*s,*t,*p1,*p2;void userinterface();/*菜單函數(shù)*/void showall();/*顯示*/void add();/*增加設(shè)備*/void delet();/*刪除*/void find();/*查找*/void findchoice(int a)

18、; /*選擇查找方式函數(shù)*/void modify();/*修改信息*/void save();/*把信息保存到磁盤*/void esc();/*退出*/void choices();/*為下一步操作做選擇*/void load();/*讀數(shù)據(jù)*/struct addbook *del(struct addbook *head,int num);/*鏈表結(jié)點(diǎn)的刪除*/struct addbook *insert(struct addbook*head,struct addbook *stud);/*鏈表中結(jié)點(diǎn)的插入,stud為要插入的結(jié)點(diǎn)的指針*/void starwindows() syst

19、em("color 1f"); static char passwords80,b="123" int i=0,j; while(1) printf("請(qǐng)輸入密碼nn"); for(j=0;j<strlen(b);j+) passwordsj=getch(); printf("*"); if(strcmp(passwords,b)!=0) printf("r口令錯(cuò)誤,按任意鍵繼續(xù)"); else break; getch(); i+; if(i=3)exit(0); printf(&quo

20、t;ok");getch(); void main() int n;if(fp = fopen("d:C語言程序設(shè)計(jì)01.txt","r+")=NULL) printf("nnttt 文件不存在!n"); if(fp = fopen("ghps.txt","wb")=NULL) printf("文件打開錯(cuò)誤!n"); exit(0); if(fgetc(fp)=-1) printf("tt*歡迎使用力學(xué)實(shí)驗(yàn)設(shè)備管理系統(tǒng)*n");printf(&q

21、uot;ntt這里沒有信息,現(xiàn)在您必須添加信息.n");p=(struct addbook*)malloc(LEN);printf("ntt請(qǐng)輸入編號(hào):");scanf("%d",&p->record);getchar();/*用來接受scaf里輸入的回車符號(hào)*/printf("ntt請(qǐng)輸入名稱:");gets(p->name);printf("ntt請(qǐng)輸入種類:");gets(p->kind);printf("ntt請(qǐng)輸入價(jià)格:");gets(p->p

22、rice);printf("ntt請(qǐng)輸入購買日期(如20100101):");scanf("%ld",&p->purtime); getchar();printf("ntt請(qǐng)輸入報(bào)廢日期(如20100101):");scanf("%ld",&p->scrtime); getchar(); printf("ntt請(qǐng)輸入是否報(bào)廢(S或F):");gets(p->scrap);p->next = NULL;head = p;fwrite(p,LEN,1,fp);

23、/*將信息寫入磁盤*/fclose(fp);printf("nttt添加成功!n");printf("nntt!要進(jìn)行別的操作,請(qǐng)重新打開程序!n");exit(0);rewind(fp); /* 重建文件指針 */n=0;p1=p2 = (struct addbook*)malloc(LEN);fread(p1,LEN,1,fp);/*讀出文件中的信息*/head = NULL; while(!feof(fp)n=n+1;if(n=1) head = p1;else p2->next = p1;p2=p1; p1 = (struct addboo

24、k*)malloc(LEN); fread(p1,LEN,1,fp);p2->next=NULL; fclose(fp);userinterface();save();void userinterface() int choice; printf("ntt *n"); printf("ttt 歡迎使用力學(xué)實(shí)驗(yàn)設(shè)備管理系統(tǒng)" ); printf("ntt *n"); printf("nnt *請(qǐng)選擇你的操作*n"); printf("ttt +-+"); printf("ttttt

25、t | 1 增加設(shè)備信息 |n"); printf("ttt | 2 查找設(shè)備信息 |n"); printf("ttt | 3 顯示所有信息 |n"); printf("ttt | 4 刪除設(shè)備信息 |n"); printf("ttt | 5 修改設(shè)備信息 |n"); printf("ttt | 0 退出和保存 |n"); printf("ttt +-+n"); printf("nnttttttt制作:蔣美幸nnn"); Loop1:printf

26、("請(qǐng)輸入您的選擇:(0-5):"); scanf("%d",&choice);getchar();if(choice>=0&&choice<6) switch(choice) case 1:add();break; case 2:system("cls");find();break; case 3:system("cls");showall();break; case 4:system("cls"); void starwindows()delet();br

27、eak; case 5:system("cls"); void starwindows()modify();break;case 0:system("cls");esc(); else printf("輸入錯(cuò)誤,請(qǐng)重新選擇!n");goto Loop1; void add() struct addbook *stu; stu=(struct addbook*)malloc(LEN);printf("nnttt當(dāng)輸入的設(shè)備編號(hào)為0時(shí),停止添加!");printf("ntt請(qǐng)輸入編號(hào):");scan

28、f("%d",&stu->record); getchar();/*用來接受scanf里輸入的回車符號(hào)*/printf("ntt請(qǐng)輸入名稱:");gets(stu->name);printf("ntt請(qǐng)輸入種類:");gets(stu->kind);printf("ntt請(qǐng)輸入價(jià)格:");gets(stu->price);printf("ntt請(qǐng)輸入購買日期(如20100101):"); scanf("%ld",&stu->pur

29、time);getchar();printf("ntt請(qǐng)輸入報(bào)廢日期(如20100101):");scanf("%ld",&stu->scrtime); getchar(); printf("ntt請(qǐng)輸入是否報(bào)廢(S或F):");gets(stu->scrap);stu->next = NULL;while(stu->record!=0) head=insert(head,stu);printf("nntt*添加成功*!n");stu=(struct addbook*)malloc(

30、LEN);printf("nnttt當(dāng)輸入的設(shè)備編號(hào)為0時(shí),停止添加!");printf("ntt請(qǐng)輸入編號(hào):");scanf("%d",&stu->record);getchar();/*用來接受scanf里輸入的回車符號(hào)*/printf("ntt請(qǐng)輸入名稱:");gets(stu->name);printf("ntt請(qǐng)輸入種類:");gets(stu->kind);printf("ntt請(qǐng)輸入價(jià)格:");gets(stu->price);p

31、rintf("ntt請(qǐng)輸入購買日期(如20100101):");scanf("%ld",&stu->purtime); getchar();printf("ntt請(qǐng)輸入報(bào)廢日期(如20100101):");scanf("%ld",&stu->scrtime); getchar(); printf("ntt請(qǐng)輸入是否報(bào)廢(S或F):");gets(stu->scrap);stu->next = NULL;printf("nnttt添加結(jié)束!n&qu

32、ot;);choices();void find() int i;printf("ntt請(qǐng)選擇查找方式:n");printf("tt1.按編號(hào)查找。n");printf("tt2.按名稱查找。n");printf("tt3.按種類查找。n");printf("tt4.返回菜單。n");printf("tt0.退出。n");printf("nnt*請(qǐng)輸入您的選擇*n");scanf("%d",&i);getchar();if(i&

33、gt;=0&&i<5)switch(i)case 1:case 2:case 3:findchoice(i);break;case 4:userinterface();break;case 0:esc();break;else printf("nnttt選擇錯(cuò)誤!n");choices();void showall() s = head;if(head=NULL)printf("ntt!這里沒有信息!n");goto LP;printf("nnn");printf("編號(hào)t名稱t種類t價(jià)格t購買日期t報(bào)

34、廢日期t是否報(bào)廢");printf("nn"); doprintf("%-8d%-8s%-8s%-8s%ld %ldtt%-8sn",s->record,s->name,s->kind,s->price,s->purtime,s->scrtime,s->scrap); s = s->next; while(s!=NULL);LP:choices();void delet() /* 刪除函數(shù) */int num;printf("nn請(qǐng)輸入要?jiǎng)h除的設(shè)備編號(hào)。當(dāng)輸入編號(hào)為0時(shí)停止刪除操作。n&

35、quot;);scanf("%d",&num);getchar();while(num!=0)head=del(head,num);printf("nn請(qǐng)輸入要?jiǎng)h除的設(shè)備編號(hào)。當(dāng)輸入編號(hào)為0時(shí)停止刪除操作。n");scanf("%d",&num);getchar();printf("nntt*刪除結(jié)束*n");choices();void modify() /* 修改函數(shù) */int num;printf("請(qǐng)輸入要修改的設(shè)備編號(hào)n");scanf("%d",

36、&num);getchar();p=head;doif(p->record=num ) if(p->next=NULL) printf("找不到該編號(hào)的設(shè)備,請(qǐng)確認(rèn)無誤以后再重新輸入。n"); else printf("ntt請(qǐng)輸入新的名稱:");gets(p->name);printf("ntt請(qǐng)輸入新的種類:");gets(p->kind);printf("ntt請(qǐng)輸入新的價(jià)格:");gets(p->price);printf("ntt請(qǐng)輸入新的購買日期(如201

37、00101):");scanf("%ld",&p->purtime);getchar();printf("ntt請(qǐng)輸入新的報(bào)廢日期(如20100101):");scanf("%ld",&p->scrtime);getchar(); printf("ntt請(qǐng)輸入是否報(bào)廢(S或F):");gets(p->scrap);printf("ntt修改成功!n");choices();else p=p->next;while(p!=NULL);printf(

38、"tt!沒有這個(gè)編號(hào)的信息,請(qǐng)核對(duì)后再輸入!nn");choices();void esc() save();printf("nnnttt 謝謝使用本力學(xué)實(shí)驗(yàn)設(shè)備管理系統(tǒng)!n");exit(0);struct addbook *del(struct addbook *head,int num)/*鏈表結(jié)點(diǎn)刪除*/struct addbook *h1,*h2;if(head=NULL) printf("鏈表為空鏈表。n");goto Loop;h1=head;while(num!=h1->record&&h1-&g

39、t;next!=NULL)/*p1指向的不是要?jiǎng)h除的結(jié)點(diǎn),并且后面還有結(jié)點(diǎn)。*/h2=h1;h1=h1->next;/*p1后移一個(gè)結(jié)點(diǎn)*/if(num=h1->record)/*找到了*/if(h1=head) printf("nnntt這是遮里最后一個(gè)信息,不能刪除!nnt如果你真的要?jiǎng)h除此信息,請(qǐng)?zhí)砑悠渌畔⒁院笤賱h除.nn");goto Loop;/*這是p1是首結(jié)點(diǎn)的情況*/else h2->next=h1->next;printf("nntt*刪除成功*!n");/*否則將下一結(jié)點(diǎn)的地址賦給前一結(jié)點(diǎn)地址*/else p

40、rintf("nntt找不到該結(jié)點(diǎn)。n");Loop:return(head);struct addbook *insert(struct addbook*head,struct addbook *stud)/*結(jié)點(diǎn)插入,插入時(shí)是按編號(hào)大小插入*/struct addbook *g0,*g1,*g2;g1=head;g0=stud;if(head=NULL)/*原來的鏈表是空表*/head=g0;g0->next=NULL;/*使p0指向的結(jié)點(diǎn)作為頭結(jié)點(diǎn)*/elsewhile(g0->record>g1->record&&g1->

41、;next!=NULL)g2=g1;g1=g1->next;/*p1后移一個(gè)結(jié)點(diǎn)*/if(g0->record=g1->record)printf("nttt編號(hào)重復(fù)!請(qǐng)核對(duì)后再輸入!nn");choices();else;if(g0->record<g1->record)if(head=g1) head=g0;/*插到原來第一個(gè)結(jié)點(diǎn)之前*/else g2->next=g0;/*插到p2指向的結(jié)點(diǎn)之后*/g0->next=g1;elseg1->next=g0;g0->next=NULL;/*插到最后的結(jié)點(diǎn)后*/return(head);void save()/*保存文件*/fp=fopen("ghps.txt","w"); s = head; do fwrite(s,LEN,1,fp); s = s->next; while(s!=NULL);fclose

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論