版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE************************課程設計報告************************浙江理工大學計算機學院第二學期C語言數(shù)據結構課程設計題目:庫存管理系統(tǒng)的設計與實現(xiàn)專業(yè)班級:姓名:學號:指導教師:成績:
目錄一、程序設計目標 31.1問題描述 31.2目的和意義 32.1方案確定 52.2程序設計模塊連接圖 52.3模塊功能說明 5三、詳細設計 73.1數(shù)據設計 73.2流程框圖 8四、調試分析和測試結果 11五、新得體會 13六、C源程序清單 14七、附錄 24
題目:庫存管理系統(tǒng)一、程序設計目標1.1問題描述一個庫存貨品信息管理系統(tǒng)軟件,要求能實現(xiàn)庫存貨品信息的輸入、插入、刪除、查找等功能,并能建立和更新的庫存信息保存于文件供輸出或打印。對于查找、刪除等功能要求能按貨品名、貨品號分別進行。每個貨品的相關信息包括:貨品號、貨品名、貨品庫存量、進貨日期、貨品生產廠家及供應商等。實際上要完成的是一個簡單數(shù)據庫管理信息系統(tǒng)的設計,同時要掌握數(shù)據結構方面的知識。1.2目的和意義通過課程設計題目的練習,強化對所學知識的掌握及對問題分析和任務定義的理解,對每到題目作出了相應的邏輯分析和數(shù)據結構的選擇,通過對任務的分析,為操作對象定義相應的數(shù)據結構,以過程化程序設計的思想方法為原則劃分各個模塊,定義數(shù)據的抽象數(shù)據類型。分模塊對題目進行設計,強化學生對C語言的掌握和對數(shù)據結構的選擇及掌握。通過程序的編譯掌握對程序的調試方法及思想,并且讓學生學會使用一些編程技巧。促使學生養(yǎng)成良好的編程習慣,以及讓學生對書本上的知識進行了實踐。算法與數(shù)據結構這門課是計算機科學中一門綜合性的專業(yè)基礎課。它不僅是計算機學科的核心課程,而且已成為其它理工專業(yè)的熱門選修課。它又是操作系統(tǒng)、編譯原理、數(shù)據庫原理、算法分析、人工智能、圖象處理等專業(yè)課程的前導課。具有承上啟下的作用。數(shù)據結構的研究不僅涉及到計算機硬件的研究范圍,而且和計算機軟件的研究有著密切的關系。計算機科學各領域及有關的應用軟件都要用到數(shù)據結構。該課程的目的就是介紹一些最常用的數(shù)據結構,闡明數(shù)據結構內在的邏輯關系,討論它們在計算機中的存儲表示,并結合各種典型應用說明它們在進行各種運算時的動態(tài)性質及實際的執(zhí)行算法。
二、概要設計2.1方案確定庫存貨品信息管理系統(tǒng)要求實現(xiàn)許多功能,可遵循結構化程序設計思想來進行本系統(tǒng)的設計——自頂向下,逐步細化,也就是將軟件設計任務劃分成許多容易解決的小的子任務,即分解出許多子功能模塊進行設計。本程序經過分析可劃分出6個子任務:輸入、輸出、插入、刪除、查找和保存。2.2程序設計模塊連接圖庫存貨品信息管理系統(tǒng)的模塊連接結構如下圖:倉庫貨品信息管理系統(tǒng)倉庫貨品信息管理系統(tǒng)載入模塊刪除模塊保存模塊查找模塊插入模塊輸出模塊輸入模塊載入模塊刪除模塊保存模塊查找模塊插入模塊輸出模塊輸入模塊2.3模塊功能說明對本系統(tǒng)的功能進行分析后可作如下的模塊化設計:輸入模塊實現(xiàn)功能:按順序將貨物編號、貨物名稱、貨物數(shù)量依次輸入,并建立鏈表將其連接。當輸入的貨品編號為0時,輸入結束。插入模塊實現(xiàn)功能:向已經存盤的文件中再輸入貨品的信息,包括貨品編號、貨品名稱、貨品數(shù)量等等。刪除模塊實現(xiàn)功能:在已經存儲的文件中刪除指定的貨品信息,并釋放內存空間。刪除可以按照貨品編號和貨品名稱兩中方法進行。查找模塊實現(xiàn)功能:在已經存儲的文件中查找指定的貨品信息??梢园凑詹檎邑浧肪幪柡拓浧访Q兩種方法進行。輸出模塊實現(xiàn)功能:在輸入特定的文件名之后,輸出該文件中所包含的全部貨品信息。保存模塊實現(xiàn)功能:進行上述操作后,都要進行保存操作,鏈表中的信息以文件形式被長期。保存。載入模塊實現(xiàn)功能:將磁盤上的數(shù)據文件載入鏈表。主序模塊實現(xiàn)功能:完成系統(tǒng)的界面處理,包括開始界面和主菜單界面。
三、詳細設計3.1數(shù)據設計(1)數(shù)據結構的選擇選取動態(tài)數(shù)據結構,本系統(tǒng)是通過雙向鏈表來完成的。動態(tài)存儲分配與釋放:申請存儲空間函數(shù)malloc()函數(shù)首部原型為void*malloc(unsignedintsize)釋放存儲空間函數(shù)free()函數(shù)首部原型為voidfree(void*p)動態(tài)數(shù)據結構——雙向鏈表head20302036202520422030 head 2030 2036 20252030DNULLC2042B2025A2036DNULLC2042B2025A2036
3.2流程框圖開始(1)插入模塊開始調入載入模塊調入載入模塊Head=NULL“yes”or“no”Head=>ptr1ptr3=>ptr2->next;ptr2=>ptr3->priorNULL=>ptr3->nextptr1=>ptr2;ptr1->next=>ptr1ptr2=>ptr1->priorHead=NULL“yes”or“no”Head=>ptr1ptr3=>ptr2->next;ptr2=>ptr3->priorNULL=>ptr3->nextptr1=>ptr2;ptr1->next=>ptr1ptr2=>ptr1->priorptr1!=NULL申請一個結點空間,使ptr3指向它給ptr3指向結點輸入預插入貨品的信息 N Y返回NULL返回NULL N Y返回head返回head結束結束開始開始(4)保存模塊輸入預保存文件的文件名輸入預保存文件的文件名創(chuàng)建文件成功創(chuàng)建文件成功NYHHead=>ptr1Ptr1!=NULLPtr1!=NULLNY將ptr1指向結點的數(shù)據寫入文件將ptr1指向結點的數(shù)據寫入文件PPtr1->next=>ptr1結束結束開始(5)輸出模塊開始調用載入模塊調用載入模塊HHead==NULLYNHHead=>ptr1輸出ptr1指向結點的貨品信息輸出ptr1指向結點的貨品信息結束結束對以上各模塊的文字解釋說明:(1)輸入模塊:其實就是一個建立鏈表的操作模塊。建立鏈表的具體操作就是逐一輸入各結點數(shù)據,并建立其前后相鏈的關系。首先設三個指針變量:head,ptr1,ptr2。它們都是指向結構體類型數(shù)據的。先使head的值為NULL,這是鏈表為空的情況。用malloc函數(shù)開辟一個結點,并使ptr1,ptr2都指向它,之后從鍵盤讀入一個貨品的數(shù)據給ptr1所指向的結點。當輸入的ptr1->num不為0時,令head=ptr1;ptr2=ptr1,即把ptr1的值賦給head,使ptr2,ptr1,head都指向這一新開辟的結點,此結點就成為鏈表中的第一個結點。再開辟一個新結點并使ptr1指向它,讀入該結點的數(shù)據,如果輸入的ptr1->num不為0,則應鏈入這第二個結點,這時和上一個結點的處理不同,是將ptr1的值賦給ptr2->next,也就是使第一個結點的next成員指向第二個結點,接著將ptr2也指向結點2。再開辟一個新結點并使ptr1指向它,讀入該結點的數(shù)據,同樣將ptr1的值賦給ptr2->next,也就是使第三個結點鏈接到第二個結點之后,并接著將ptr1的值賦給ptr2,使ptr2指向結點3。再開辟一個新結點,并使ptr1指向它,輸入該結點的數(shù)據,如果輸入ptr1->num為0,則是輸入結束標志,此結點不被鏈接到鏈表中,就將NULL賦給ptr2->next。建立鏈表過程至此結束,ptr1最后所指結點并未鏈入鏈表中。(2)插入模塊:要完成的是鏈表的插入操作,即將一個新結點插入到一個已有的鏈表中,對剛剛建立的鏈表,首先新設一個指針變量ptr0,并開辟一個結點使ptr3指向它,輸入該結點的數(shù)據,即新貨的有關數(shù)據,接下來查找要插入位置結點,找到后只需修改此結點和ptr0指向結點指針域的值即可,鏈表中所有元素位置均不需移動,這就體現(xiàn)了鏈表的優(yōu)點。(3)刪除模塊:要完成的是鏈表的刪除操作,只需修改鏈表中要刪除結點的前一個結點的鏈指針。使之指向被刪除結點的后面一個結點即可。(4)保存模塊:將最終想要保留的數(shù)據信息保存于文件中。(5)輸出模塊:要完成的是依次輸出鏈表中各結點的數(shù)據的操作。首先找到鏈表頭結點的地址,也就是head的值,然后設一個指針變量ptr1,先指向第一個結點,輸出ptr1所指的結點,然后使ptr1后移一個結點,再輸入直至鏈表的尾結點結束。
四、調試分析和測試結果各模塊功能測試:COM*input()輸入模塊功能測試用戶逐一輸入的數(shù)據不斷添加就形成了一個列表。前面已經表明本系統(tǒng)的數(shù)據結構選取動態(tài)數(shù)據結構——雙向鏈表,因此此列表在內存中是以鏈表的形式存儲的。那么輸入模塊實際上就是一個建立鏈表的操作模塊。通過模塊save()將內存中的已輸入的數(shù)據存入到指定路徑的某*.dat文件中去.特別指出:*為用戶自己規(guī)定的貨品名。輸入條件:goodsnumbld型,且>0.當=0時退出goodsnames型goodscountd型,且>0.當<0時顯示輸入錯誤,重輸字樣。調用save()時goos’filename:d:\pll\fu輸出結果:貨品保存在用戶指定路徑的*.dat文件中以免丟失。2.Print()輸出模塊可將指定文件中的內容顯示在屏幕上。輸出條件:調用載入模塊時,goos’filename:d:\pll\fu輸出結果:如輸出條件正確,則可在屏幕上顯示如下:goodsnumbgoodsnamegoodscount0001a1250002b2300003c1803.insert()插入模塊插入模塊要完成的是鏈表的插入操作,即將一個新結點插入一個已有的鏈表中。輸入條件:調用載入模塊。goos’filename:d:\pll\fu按貨品名的number,name,count分別輸入,如輸錯則有信息提示。輸出結果:輸入正確后,則顯示插入成功,返回菜單后,存盤。Delet()刪除模塊刪除模塊要完成的是鏈表的刪除操作,即將一個結點從已有的鏈表中刪除。輸入條件:調用載入模塊。goos’filename:d:\pll\fu有兩種刪除方式按號和名刪除,如輸錯則有信息提示。輸出結果:輸入正確后,則顯示刪除成功,返回菜單后,存盤。search()查找模塊鏈表的查找操作是指在已知鏈表中查找值為某指定值的結點。輸入條件:調用載入模塊。goos’filename:d:\pll\fu有兩種查找方式按號和名查找,如輸錯則有信息提示。輸出結果:輸入正確后,則顯示查找成功,返回菜單后,存盤。6.Save()保存模塊保存模塊最終將想要保留的數(shù)據信息保存于文件。7.COM*openfile()載入模塊用于調用。
五、新得體會本學期我們學習了數(shù)據結構課程,通過基本的訓練和基礎知識的鞏固,在對數(shù)據結構算法進行初步了解的同時也提高了語言設計能力,本次短學期在經過一個學期數(shù)據結構學習后,我們總結歸納了重點知識,并通過重點知識的運用設計了一個多功能菜單,以實現(xiàn)多方面的需求。就我們計算機專業(yè)看來,編程能力是很重要的,一個計算機專業(yè)學生首先需要了解的運用的知識就是程序語言設計。而要學習編程,必須明確學習的目的,也就是學習編程是為了什么。是為了了解計算機,還是為了自己的發(fā)展或者是因為個人愛好。程序的實現(xiàn)不是一時愛好就可以完成的。一般來說在學習程序設計方法和語言時掌握基本理論及語法時比較容易,但是在實際應用和算法估量時卻覺得無從下手。比如本次程序設計中的第一個程序,運動會分數(shù)統(tǒng)計,拿到題目的時候覺得很簡單,可以通過結構體輸入文本和數(shù)據,然后經過幾個函數(shù)的計算得出分數(shù),但是在語言編輯過程中,發(fā)現(xiàn)無法區(qū)分各學校以及各選手,無法用恰當?shù)姆椒▋Υ鏀?shù)據和字符,這就是知識在實際中的運用問題。如何編寫符合要求的程序、如何編寫高質量的程序更是我們所面臨的難題。這就要求我們仔細體會,在反復實踐的過程中掌握編程技巧,通過不斷的克服困難來提高自己的編程能力。這是一個長期的過程,所以必須有堅定的恒心才能開始學習。這是我們在本次課程設計中得到的體會之一。通過本次課程設計,我們體會到編程能力的高低主要是由以下幾點決定:①編程的習慣;②數(shù)學應用能力,其中包括邏輯思維,分析問題的能力;③對數(shù)據結構的認識能力;④經驗的多少,包括各種語言的掌握能力。其實,最主要的一點還是要認真勤奮,為自己的目標而不怕困難不斷前進,這不只是對程序設計而言,學習其他所有的東西都應如此。
六、C源程序清單#include<stdio.h>/*標準輸入/輸出頭文件*/#include<conio.h>/*包含繪制圖形函數(shù)等頭文件*/#include<string.h>/*包含字符串處理函數(shù)頭文件*/#include<stdlib.h>/*包含動態(tài)存儲與釋放函數(shù)頭文件*/#include<graphics.h>#defineLENsizeof(COM)#definePRINT"%-15ld%-15s%-15d\n",ptr1->num,ptr1->name,ptr1->count#defineCHECK_COUNTptr1->count<0#defineCHECK_COUNT2ptr3->count<0#defineNULL0typedefstructcom{longintnum;charname[10];intcount;structcom*prior,*next;}COM;/*定義結構體*/COM*input();/*輸入貨品信息*/COM*insert();/*插入貨品信息*/COM*delet();/*刪除貨品信息*/voidsearch();/*查找貨品信息*/voidsave(COM*head);/*保存貨品信息*/COM*openfile();/*從文件將貨品信息載入鏈表*/voidprint();/*輸出貨品信息*/FILE*fp;/*定義指向文件的指針變量*/COM*head=NULL;COM*ptr1=NULL,*ptr2=NULL;charfilename1[10];/*定義字符數(shù)組,用來存放文件名*/charfilename2[]={".dat"};/*文件擴展名.dat*//*輸入模塊*/COM*input(){charstring1[]={"number"};charstring2[]={"name"};charstring3[]={"count"};intn=1;if((ptr1=(COM*)malloc(LEN))==NULL)/*申請空間函數(shù)*/{printf("Noenoughmemory,failtocreatlinklist!");getch();/*無回顯的從鍵盤讀取任意一個字符*/}clrscr();printf("Pleaseinputdependontheemply(goodsnumber==0over):\n");do{printf("PleaseinputtheNo.%dgoods'%s:\n",n,string1);scanf("%ld",&ptr1->num);flushall();if(ptr1->num==0){printf("PleasepressanykeytobacktolastMenu:");getch();free(ptr1);return(0);}printf("PleaseinputtheNo.%dgoods'%s:\n",n,string2);scanf("%s",&ptr1->name);flushall();/*刷新緩沖區(qū)函數(shù)*/printf("PleaseinputtheNo.%dgoods'%s:\n",n,string3);scanf("%d",&ptr1->count);flushall();if(CHECK_COUNT)printf("Pleaseinputtherightgoodscount!\n");}while(CHECK_COUNT);while(ptr1->num!=NULL){if(n==1)head=ptr1;elseptr2->next=ptr1;ptr1->prior=ptr2;n=n+1;ptr2=ptr1;if((ptr1=(COM*)malloc(LEN))==NULL){printf("Noenoughmemory,failtocreatlinklist!");getch();}do{printf("PleaseinputtheNo.%dgoods'%s:\n",n,string1);scanf("%ld",&ptr1->num);flushall();if(ptr1->num==0){ptr1->num=NULL;break;}printf("PleaseinputtheNo.%dgoods'%s:\n",n,string2);scanf("%s",&ptr1->name);flushall();printf("PleaseinputtheNo.%dgoods'%s:\n",n,string3);scanf("%d",&ptr1->count);flushall();if(CHECK_COUNT)printf("Pleaseinputtherightgoodscount!\n");}while(CHECK_COUNT);}ptr2->next=NULL;gotoxy(1,24);printf("Finishtheinputtingofgoods'message,pressanykeytobacktolastMenu,pleasesave:");getch();return(head);}/*插入模塊*/COM*insert(){COM*ptr3;charstring1[]={"goodsnumber"};charstring2[]={"goodsname"};charstring3[]={"goodscount"};charjudge[10];clrscr();gotoxy(18,10);printf("Pleaseinputinsertedgoods'fliename:");head=openfile();if(head==NULL)return(NULL);elsedo{clrscr();printf("Pleaseinputinsertedgoods'goodsmessage:\n");if((ptr3=(COM*)malloc(LEN))==NULL){printf("Noenoughmemory,failtocreatnode!");getch();}do{printf("Pleaseinputgoods'%s(>0):\n",string1);scanf("%ld",&ptr3->num);flushall();if(ptr3->num<=0){printf("Errorinputting!pleasechoosetheinsertedgoodsagain\n");getch();return;}printf("Pleaseinputgoods'%s:\n",string2);scanf("%s",&ptr3->name);flushall();printf("Pleaseinputgoods'%s:\n",string3);scanf("%d",&(ptr3->count));flushall();if(CHECK_COUNT2)printf("Pleaseinputtherightgoodscount(>0)!\n");}while(CHECK_COUNT2);ptr1=head;while(ptr1!=NULL){ptr2=ptr1;ptr1=ptr1->next;ptr1->prior=ptr2;}ptr2->next=ptr3;ptr3->prior=ptr2;ptr3->next=NULL;printf("\nInsertingsuccess!Cotinuetoinsert?(yesorno):");scanf("%s",judge);clrscr();}while(!strcmp(judge,"yes"));gotoxy(20,10);printf("Insertingsuccess!\n");gotoxy(18,11);printf("PressanykeytobacktolastMenu\n");gotoxy(16,12);printf("AndmakesuretoSave(6)themoryouwilllosethem!\n");getch();return(head);}/*刪除模塊*/COM*delet(){charname[10];charjudge[10];intsel;intdel_num;clrscr();gotoxy(20,10);printf("Pleaseinputdelectedgoods'fliename:");head=openfile();clrscr();if(head==NULL)return(NULL);elsedo{do{clrscr();gotoxy(3,4);printf("Pleaseinputdelectedgoods'message:");gotoxy(1,9);printf("*1.Deldependongoodsnumber\n");gotoxy(1,10);printf("*2.Deldependongoodsname\n");gotoxy(10,22);printf("pleasechooseanumberbetween1and2:");scanf("%d",&sel);switch(sel){case1:clrscr();gotoxy(6,6);printf("Pleaseinputgoodsnumber:");scanf("%d",&del_num);break;case2:clrscr();gotoxy(6,6);printf("Pleaseinputgoodsname:");scanf("%s",&name);break;}}while(sel!=1&&sel!=2);ptr1=head;if(ptr1->num==del_num||(strcmp(ptr1->name,name)==0)){head=ptr1->next;printf("Successtodelectgoodsmessage!\n");}else/*判斷是否是目標結點*/{while(ptr1!=NULL&&ptr1->num!=del_num&&strcmp(ptr1->name,name)!=0){ptr2=ptr1;ptr1=ptr1->next;ptr1->prior=ptr2;}if(ptr1->num==del_num||(strcmp(ptr1->name,name)==0)){ptr2->next=ptr1->next;ptr1->next->prior=ptr1->prior;free(ptr1);printf("\nSuccesstodelectgoodsmessage!\n\n");}elseprintf("\nCan'tfindthisgoodsmessage!\n\n");}printf("Cotinuetodelect?(yesorno):");scanf("%s",judge);}while(!strcmp(judge,"yes"));clrscr();gotoxy(20,10);printf("Delectingsuccess!\n");gotoxy(18,11);printf("PressanykeytobacktolastMenu\n");gotoxy(16,12);printf("AndmakesuretoSave(6)themoryouwilllosethem!\n");getch();return(head);}/*查找模塊*/voidsearch(){charname[10];charjudge[10];intsel;longintsel_num;clrscr();gotoxy(18,10);printf("Pleasepresssearchedgoods'fliename:");head=openfile();if(head==NULL)return;elsedo{do{clrscr();gotoxy(5,4);printf("Pleasechoosethewaytosearch:");gotoxy(1,9);printf("*1.Searchdependongoodsnumber\n");printf("*1.Searchdependongoodsname\n");gotoxy(10,22);printf("pleasechooseanumberbetween1and2:");scanf("%d",&sel);switch(sel){case1:clrscr();printf("Pleaseinputgoodsnumber:");scanf("%ld",&sel_num);break;case2:clrscr();printf("Pleaseinputgoodsname:");scanf("%s",name);break;}}while(sel!=1&&sel!=2);ptr1=head;while(ptr1!=NULL&&ptr1->num!=sel_num&&strcmp(ptr1->name,name)!=0)ptr1=ptr1->next;if((ptr1->num==sel_num)||(strcmp(ptr1->name,name)==0)){printf("\nSuccesstosearchgoodsmessage!\n");printf("goodsnumbergoodsnamegoodscount\n\n");printf(PRINT);}elseprintf("\nCan'tfindthisgoodsmessage!\n\n");printf("Cotinuetosearch?(yesorno):");scanf("%s",judge);}while(!strcmp(judge,"yes"));gotoxy(10,24);printf("PleasepressanykeytobacktolastMenu:");getch();}/*輸出模塊*/voidprint(){inti=1;clrscr();gotoxy(18,10);printf("Pleaseinputprintedgoods'filename:");head=openfile();if(head==NULL)return;elseclrscr();printf("Theprintedresultasfollows:\n");printf("goodsnumbergoodsnamegoodscount\n\n");ptr1=head;do{printf(PRINT);ptr1=ptr1->next;if(i/10==1)/*超過十行換頁*/{i=0;printf("Pressanykeytochangepage:");getch();clrscr();gotoxy(0,6);printf("goodsnumbergoodsnamegoodscount\n\n");}i=i+1;}while(ptr1!=NULL);gotoxy(10,24);printf("PleasepressanykeytobacktolastMenu:");getch();}/*保存模塊*/voidsave(COM*head){clrscr();gotoxy(8,13);printf("Pleaseinputsavedgoods'filename(limittoletterornumber):");scanf("%s",filename1);if((fp=fopen(strcat(filename1,filename2),"wb"))==NULL)/*以二進制只寫方式打開一個流*/{printf("FailtocreatFILE!");getch();return;}ptr1=ptr2=head;while(ptr1!=NULL){if(fwrite(ptr1,sizeof(COM),1,fp)!=1){printf("FailtoprintmessagetoFILE!");getch();return;}ptr1=ptr1->next;}fclose(fp);gotoxy(10,24);printf("Savingsuccess!PressanykeytobacktolastMenu:");getch();}/*載入模塊*/COM*openfile(){intn=1;scanf("%s",filename1);if((fp=fopen(strcat(filename1,filename2),"rb"))==NULL){gotoxy(15,13);printf("Thisfilenameisn'texist,pleasecheckifexist.\npressanykeybacktoMenu");getch();return(NULL);}if((ptr1=ptr2=(COM*)malloc(LEN))==NULL){printf("Noenoughmemory,failtocreatlinklist!\nPleasepressanykeybacktoMenu\n");getch();return(NULL);}if(fread(ptr1,sizeof(COM),1,fp)!=1)/*從fp指向的流中讀取1個字段,每個字段為COM的字符長,并把它們放到ptr1指向的字符數(shù)組中,文件的位置指示器隨著所讀取的字符數(shù)而下移*/{printf("FailtoprintmessagefromFILE!\nPleasepressanykeybacktoMenu\n");getch();return(NULL);}if(ptr1->next==NULL)head=ptr1;else{do{if(n==1)head=ptr1;elseptr2->next=ptr1;n=n+1;ptr2=ptr1;if((ptr1=(COM*)malloc(LEN))==NULL){printf("Noenoughmemory,failtocreatlinklist!\nPleasepressanykeytobacktoMenu\n");getch();return(NULL);}if(fread(ptr1,sizeof(COM),1,fp)!=1){printf("FailtoprintmessagefromFILE!\nPleasepressanykeytobacktoMenu\n");getch();return(NULL);}}while(ptr1->next!=NULL);ptr2->next=ptr1;}return(head);fclose(fp);}/*關閉文件函數(shù)*/voidmain(){charmessage[]={"*TheinstructionofGOODSSYSTEM*\n\n""Youcaninputmanykindsofmessages,andyoucanuse\n""goodnameasFILEname\n""ThisSYSTEMcandooperationlikeinsertordelecttothe\n""goodsmessagethathavesaved,thensavedagain.whileyou\n""cansearchmessagedependonthegoodsnuborgoodsname.\n\n\n""*WelcometoentertheGOODSSYSTEM!*\n"};charmenu[]={"******************MENU********************\n\n\n" "*1.Input\n" "*2.Output\n" "*3.Insert\n" "*4.Delete\n" "*5.Search\n" "*6.Save\n" "*0.Exit\n"};intsel;delay(10);textbackground(LIGHTGRAY);textcolor(BLUE);/*背景為銀灰色,字為藍色*/clrscr();gotoxy(4,8);printf("%s",message);gotoxy(10,22);printf("PleasepressanykeyintotheMenu!");getch();do{clrscr();gotoxy(1,7);printf("%s",menu);gotoxy(10,20);printf("pleasechooseanumberfrom0to6:");scanf("%d",&sel);switch(sel){case1:head=input();/*輸入模塊*/break;case2:print();/*輸出模塊*/break;case3:head=insert();/*插入模塊*/break;case4:head=delet();/*刪除模塊*/break;case5:search();/*查找模塊*/break;case6:save(head);/*保存模塊*/break;case0:break;}}while(sel!=0);}
七、附錄所用到的參考文獻:1.數(shù)據結構課程設計機械工業(yè)出版社蘇仕華等編著2.數(shù)絕結構(c語言版)清華大學出版社嚴蔚敏吳偉民編者
社會實踐報告系別:班級:學號:姓名:作為祖國未來的事業(yè)的繼承人,我們這些大學生應該及早樹立自己的歷史責任感,提高自己的社會適應能力。假期的社會實踐就是很好的鍛煉自己的機會。當下,掙錢早已不是打工的唯一目的,更多的人將其視為參加社會實踐、提高自身能力的機會。許多學校也積極鼓勵大學生多接觸社會、了解社會,一方面可以把學到的理論知識應用到實踐中去,提高各方面的能力;另一方面可以積累工作經驗對日后的就業(yè)大有裨益。進行社會實踐,最理想的就是找到與本專業(yè)對口單位進行實習,從而提高自己的實戰(zhàn)水平,同時可以將課本知識在實踐中得到運用,從而更好的指導自己今后的學習。但是作為一名尚未畢業(yè)的大學生,由于本身具備的專業(yè)知識還十分的有限,所以我選擇了打散工作為第一次社會實踐的方式。目的在于熟悉社會。就職業(yè)本身而言,并無高低貴賤之分,存在即為合理。通過短短幾天的打工經歷可以讓長期處于校園的我們對社會有一種更直觀的認識。實踐過程:自從走進了大學,就業(yè)問題就似乎總是圍繞在我們的身邊,成了說不完的話題。在現(xiàn)今社會,招聘會上的大字報都總寫著“有經驗者優(yōu)先”,可還在校園里面的我們這班學子社會經驗又會擁有多少呢?為了拓展自身的知識面,擴大與社會的接觸面,增加個人在社會競爭中的經驗,鍛煉和提高自己的能力,以便在以后畢業(yè)后能真正真正走入社會,能夠適應國內外的經濟形勢的變化,并且能夠在生活和工作中很好地處理各方面的問題,我開始了我這個假期的社會實踐-走進天源休閑餐廳。實踐,就是把我們在學校所學的理論知識,運用到客觀實際中去,使自己所學的理論知識有用武之地。只學不實踐,那么所學的就等于零。理論應該與實踐相結合。另一方面,實踐可為以后找工作打基礎。通過這段時間的實習,學到一些在學校里學不到的東西。因為環(huán)境的不同,接觸的人與事不同,從中所學的東西自然就不一樣了。要學會從實踐中學習,從學習中實踐。而且在中國的經濟飛速發(fā)展,又加入了世貿,國內外經濟日趨變化,每天都不斷有新的東西涌現(xiàn),在擁有了越來越多的機會的同時,也有了更多的挑戰(zhàn),前天才剛學到的知識可能在今天就已經被淘汰掉了,中國的經濟越和外面接軌,對于人才的要求就會越來越高,我們不只要學好學校里所學到的知識,還要不斷從生活中,實踐中學其他知識,不斷地從各方面武裝自已,才能在競爭中突出自已,表現(xiàn)自已。在餐廳里,別人一眼就能把我人出是一名正在讀書的學生,我問他們?yōu)槭裁?他們總說從我的臉上就能看出來,也許沒有經歷過社會的人都有我這種不知名遭遇吧!我并沒有因為我在他們面前沒有經驗而退后,我相信我也能做的像他們一樣好.我的工作是在那做傳菜生,每天9點鐘-下午2點再從下午的4點-晚上8:30分上班,雖然時間長了點但,熱情而年輕的我并沒有絲毫的感
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 尾礦處理工崗前師帶徒考核試卷含答案
- 有機介質電容器紙、膜切割工安全行為評優(yōu)考核試卷含答案
- 農業(yè)地質調查員安全文明模擬考核試卷含答案
- 紙箱紙盒制作工安全演練模擬考核試卷含答案
- 手術器械裝配調試工安全應急競賽考核試卷含答案
- 大學請喪假請假條
- 2025年數(shù)控刃磨床項目合作計劃書
- 2026北京大興初三上學期期末化學試卷和答案
- 2026年智能分杯機項目評估報告
- 2025年江蘇省無錫市中考生物真題卷含答案解析
- 設計交付:10kV及以下配網工程的標準與實踐
- 陜西西安遠東二中學2026屆九年級數(shù)學第一學期期末考試模擬試題含解析
- 以人工智能賦能新質生產力發(fā)展
- 2025年中考英語復習必背1600課標詞匯(30天記背)
- 資產管理部2025年工作總結與2025年工作計劃
- 公建工程交付指南(第四冊)
- 2025年貴州省法院書記員招聘筆試題庫附答案
- 過氧化氫氣體低溫等離子滅菌測試題(附答案)
- 溶出度概況及注意事項很全面的一套資料2講課文檔
- 下腔靜脈濾器置入術的護理查房
- 部編版小學語文六年級下冊課后習題參考答案
評論
0/150
提交評論