还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
/*仓库管理系统*//******头文件(.h)***********/#includestdio.h#includebios.h#includedos.h#includeconio.h#includestdlib.h#includestring.h#includemem.h#includectype.h#includealloc.htypedefstructz1{charnum
[11];charname
[15];floatprice;intamount;structz1*prior;structz1*next;}DATA;structz1*First;structz1*Last;/******函数原型*********/voidinit;voidcreate;voiddelete;voidsearch;voidsave;voidload;voidappend;voidcopy;voidsort;voidindex;voidlist;voidabout;voidkey;intmenu_select;/*******主函数开始**********/main{key;for;;{switchmenu_select{case0:init;break;case1:create;break;case2:list;break;case3:search;break;case4:delete;break;case5:append;break;case6:save;break;case7:load;break;case8:copy;break;case9:sort;break;case10:index;break;case11:about;break;case12:exit0;}}}menu_select{char*f[]={*****Cang****MENU****KU*****
0.initlist
1.Enterlist
2.Listall\n
3.Searchrecordonname
4.Deletearecord
5.Appendrecordtofile
6.Savedatatothefile
7.Loaddatafromthefile
8.Copythefiletonewfile
9.Sortonprice
10.Indexonnumber
11.Aboutwriter
12.Quit};chars
[80];inti;intkey=0;intc=0;gotoxy6525;printfByYoungshook;gotoxy125;printfpressanykeyEntermenu......;getch;clrscr;gotoxy6525;printfByYoungshook;textcolorYELLOW;textbackgroundBLUE;gotoxy102;putch0xda;fori=1;i44;i++putch0xc4;putch0xbf;fori=3;i22;i++{gotoxy10i;putch0xb3;gotoxy54i;putch0xb3;}gotoxy1022;putch0xc0;fori=1;i44;i++putch0xc4;putch0xd9;window1135321;clrscr;fori=0;i14;i++{gotoxy10i+1;cprintf%sf[i];}i=1;gotoxy102;textbackgroundLIGHTGREEN;cprintf%sf
[1];gotoxy102;whilekey!=13{whilebioskey1==0;key=bioskey0;key=key0xffkey0xff:key8;gotoxy10i+1;textbackgroundBLUE;cprintf%sf[i];ifkey==72i=i==113:i-1;ifkey==80i=i==131:i+1;gotoxy10i+1;textbackgroundLIGHTGREEN;cprintf%sf[i];c=i-1;}textbackgroundBLACK;window118025;returnc;}voidkey{FILE*fp;intmjiz=3;intfds;charpassword1
[7]={0};charpassword2
[7]={0};charpassword
[7]={0};charkey
[7]={younks\0};textcolor0;textbackground3;clrscr;gotoxy258;printf****\n;gotoxy259;printf***\n;gotoxy2510;printf***\n;gotoxy2511;printf*system**\n;gotoxy2512;printf***\n;gotoxy2513;printf***\n;gotoxy2514;printf****\n;getch;clrscr;gotoxy6525;printfByYoungshook;iffp=fopenkey.datr==NULL{gotoxy185;printfWelcometousewarehousesystemfirst!;fclosefp;gotokkk;}else{fclosefp;gotolll;}kkk:gotoxy2310;/*设置初始密码*/printfPleasesettheinitialpassword_1!;gotoxy4112;printf];gotoxy2312;printfpassword_1:[;forj=0;j6;j++scanf%cpassword1[j];password1[j]=\0;getchar;clrscr;gotoxy1810;printfPleasesettheinitialpassword_2!Again!;gotoxy3612;printf];gotoxy1812;printfpassword_2:[;forf=0;f6;f++scanf%cpassword2[f];password2[f]=\0;getchar;clrscr;ifstrcmppassword1password2!=0/*验证设置的密码是否一样*/{gotoxy2010;printfPassworddoesnotmatch!!!\n;getch;clrscr;gotokkk;}else/*对密码进行加密和保存*/{form=0;m6;m++password2[m]^=key[m];iffp=fopenkey.datwb+!=NULL{fwritepassword2sizeofchar7fp;}else{printferror!!!;exit0;}fclosefp;gotoxy1810;printfsetsucceed!pleasecomeincangkusystem!\n;getch;gotoooo;}clrscr;/*验证身份*/lll:gotoxy2810;printfPleaseinputpassword!\n;gotoxy4412;printf];gotoxy2812;printfpassword:[;fors=0;s6;s++scanf%cpassword[s];password[s]=\0;getchar;iffp=fopenkey.datrb==NULL{getch;exit1;}freadpassword2sizeofchar7fp;fclosefp;ford=0;d6;d++password2[d]^=key[d];whilestrcmppasswordpassword2!=0{clrscr;z--;gotoxy1510;ifz==0{gotoxy2810;printfYouhavenojurisdiction!!!Fool!;}elseprintfPasswordmistakepleaseenteragainonly%dtimesz;getch;ifz==0exit0;elseclrscr;gotolll;}clrscr;gotoxy1011;printfpasswordcorrect!pleasepress[Enter]comeincangkusystem!\n;getch;ooo:clrscr;gotoxy1810;printfWelcometousewarehousesystem;}voidinit{First=NULL;Last=NULL;}voidcreate{intx;inti;intflag=0;floattemp;intkkkk;DATA*info*p;ifFirst!=NULLinit;p=First;for;;{ifflag==1break;i=0;x=0;clrscr;gotoxy6525;printfByYoungshook;gotoxy13;printf*************Cang*Ku*Guan*Li*************;gotoxy14;printfInput!ESC--;gotoxy15;printf|-----------------------------------------------------|;gotoxy16;printf|Bianhao|name|price|amount|;for;;{gotoxy17+x;printf|---------------|----------------|---------|----------|;info=DATA*mallocsizeofDATA;if!info{printf\notofmemory;exit0;}info-next=NULL;info-prior=NULL;gotoxy18+x;printf|;gotoxy178+x;printf|;gotoxy348+x;printf|;gotoxy448+x;printf|;gotoxy558+x;printf|;gotoxy28+x;inputsinfo-num10;ifinfo-num
[0]==!{flag=1;break;}gotoxy188+x;inputsinfo-name14;gotoxy358+x;scanf%ftemp;info-price=temp;gotoxy458+x;scanf%dkkkk;info-amount=kkkk;ifp==NULL{First=Last=info;First-prior=NULL;Last-next=NULL;}else{info-next=p;info-prior=p-prior;p-prior=info;}p=info;First=info;x+=2;gotoxy18+x;i++;ifi%9==0break;}gotoxy18+x;}printf|---------------|----------------|---------|----------|;}inputschar*sintcount{charp
[255];do{scanf%sp;ifstrlenpcountprintf\ntoolong!\n;}whilestrlenpcount;strcpysp;}voidlist{inti=0n;DATA*p;clrscr;gotoxy6525;printfByYoungshook;p=First;whilei%10==0p!=NULL{i=0;clrscr;gotoxy6525;printfByYoungshook;printf\n\n\n;printf*************************************DATA***********************************\n;printf|Num|Name|Price|Amount|\n;printf|----------|---------------|---------|----------|\n;whilep!=NULL{printf|%-10s|%-15s|%
9.2f|%10d|\np-nump-namep-pricep-amount;p=p-next;i++;ifi%10==0break;}printf****************************************end***********************************\n;printfPressanykeycongtinue...\n;getch;}}voidprintDATA*p{ifp{clrscr;gotoxy6525;printfByYoungshook;printf\n\n\n;printf************************************DATA************************************\n;printf|Num|Name|Price|Amount|\n;printf|-----------|---------------|----------|---------|\n;printf|%-11s|%-15s|%
10.2f|%9d|\np-nump-namep-pricep-amount;printf**************************************end************************************\n;}}DATA*findchar*num{DATA*p;p=First;whilep{if!strcmpnump-numreturnp;p=p-next;}printfnotfound\n;returnNULL;}voiddelete{DATA*p;chars
[11];clrscr;gotoxy6524;printfByYoungshook;gotoxy125;printfpleasedeletednum\n;scanf%ss;ifp=finds!=NULL{ifFirst==p{First=p-next;ifFirstFirst-prior=NULL;elseLast=NULL;}else{p-prior-next=p-next;ifp!=Lastp-next-prior=p-prior;elseLast=p-prior;}freep;printf\nhavedeleted%sDATA\ns;printfDontforgetsave\n;}}voidsearch{DATA*p;chars
[15];clrscr;printfpleaseenternameforsearch\n;scanf%ss;p=First;whilestrcmpp-namesp!=NULLp=p-next;ifp==NULLprintf\nlistno%sDATA\ns;else{printf\n\n;printp;}}/*保存文件*/voidsave{FILE*fp;DATA*p;charoutfile
[10];clrscr;gotoxy6524;printfByYoungshook;gotoxy125;printfEnteroutfilenameforexamplec:\\f1\\te.txt:\n;scanf%soutfile;iffp=fopenoutfilewb==NULL{printfcannotopenfile\n;return;}printf\nSavingfile......\n;p=First;whilep!=NULL{fwritepsizeofDATA1fp;p=p-next;}fclosefp;printf-----savesuccess!!-----\n;}voidload{DATA*p*q=NULL;FILE*fp;charinfile
[10];clrscr;gotoxy6524;printfByYoungshook;gotoxy125;printfEnterinfilenameforexamplec:\\f1\\te.txt:\n;scanf%sinfile;iffp=fopeninfilerb==NULL{printfcannotopenfile\n;return;}whileFirst{p=First;First=First-next;freep;}printf\n-----Loadingfile!-----\n;First=DATA*mallocsizeofDATA;if!First{printfoutofmemory!\n;return;}p=First;while!feoffp{if1!=freadpsizeofDATA1fpbreak;p-next=DATA*mallocsizeofDATA;if!p-next{printfoutofmemory!\n;return;}p-prior=q;q=p;p=p-next;}q-next=NULL;Last=q;First-prior=NULL;fclosefp;printf---Youhavesuccessreaddatafromfile!!!---\n;}voidappend{FILE*fp;intkk;DATA*info;charinfile
[10];floattemp;clrscr;gotoxy6525;printfByYoungshook;gotoxy13;printf********************CK_append**********************;gotoxy15;printf|-------------------------------------------------|;gotoxy16;printf|Num|Name|Price|Amount|;gotoxy17;printf|-----------|----------------|---------|----------|;info=DATA*mallocsizeofDATA;if!info{printf\notofmemory;exit0;}info-next=NULL;info-prior=NULL;gotoxy18;printf|;gotoxy138;printf|;gotoxy308;printf|;gotoxy408;printf|;gotoxy518;printf|;gotoxy28;inputsinfo-num10;gotoxy148;inputsinfo-name14;gotoxy318;scanf%ftemp;info-price=temp;gotoxy418;scanf%dkk;info-amount=kk;printf|------------|---------------|---------|----------|;printf\n\n\nEnterinfilenameforexamplec:\\f1\\te.txt:\n;scanf%sinfile;iffp=fopeninfileab==NULL{printfcannotopenfile\n;return;}printf\n-----Appendingrecord!-----\n;if1!=fwriteinfosizeofDATA1fp{printf-----filewriteerror!-----\n;return;}printf-----appendsucess!!----\n;fclosefp;}voidcopy{charoutfile
[10]infile
[10];FILE*sfp*tfp;DATA*p=NULL;clrscr;gotoxy6524;printfByYoungshook;gotoxy125;printfEnterinfilenameforexamplec:\\f1\\te.txt:\n;scanf%sinfile;ifsfp=fopeninfilerb==NULL{printfcannotopeninputfile\n;return;}printfEnteroutfilenameforexamplec:\\f1\\te.txt:\n;scanf%soutfile;iftfp=fopenoutfilewb==NULL{printfcannotopenoutputfile\n;return;}while!feofsfp{if1!=freadpsizeofDATA1sfpbreak;fwritepsizeofDATA1tfp;}fclosesfp;fclosetfp;printfyouhavesuccesscopyfile!!!\n;}voidsort{DATA*p0*p00*p1*p11*p2;inti=1;clrscr;gotoxy6525;printfByYoungshook;printf\n\nstartsort....\n;p1=p11=p2=First;whilep1!=NULL{p0=p1;p2=p1;whilep2-next!=NULL{ifp0-pricep2-next-pricep00=p2;p0=p2-next;}p2=p2-next;}Last=p0;ifp1!=p0{p00-next=p0-next;p0-next-prior=p00;p0-next=p1;p1-prior=p0;ifi==1{First=p0;First-prior=NULL;}else{p11-next=p0;p0-prior=p11;}p11=p1=p0;}i++;p1=p1-next;printfsortsucess!!!\n;}/*索引*/voidindex{DATA*p*q*t*h1;clrscr;gotoxy6525;printfByYoungshook;printf\n\nstartindex.....\n\n;h1=First-next;First-next=NULL;Last=First;whileh1!=NULL{t=h1;h1=h1-next;p=First;q=First;whilestrcmpt-nump-num0p!=NULL{q=p;p=p-next;}ifp==q{t-next=p;p-prior=t;First=t;First-prior=NULL;}else{t-next=p;t-prior=q;q-next=t;ifp==NULLLast=t;elsep-prior=t;}}printfindexsucess!!!\n;}/*作者*/voidabout/*关于作者的信息*/{clrscr;/*清屏*/gotoxy11;printf********************************WriterInformation******************************;gotoxy275;printfWriter:LiPengXing;gotoxy277;printfEnglishname:Youngshook;gotoxy279;printfMajor:Softwareengineering;gotoxy2711;printfClassnumber:096811;gotoxy2713;printfStudentID:068109065;gotoxy2715;printfEmailaddress:Youngshookmail@gmail.com;}。