相機(jī)銷售系統(tǒng)C語(yǔ)言實(shí)習(xí)報(bào)告_第1頁(yè)
相機(jī)銷售系統(tǒng)C語(yǔ)言實(shí)習(xí)報(bào)告_第2頁(yè)
相機(jī)銷售系統(tǒng)C語(yǔ)言實(shí)習(xí)報(bào)告_第3頁(yè)
相機(jī)銷售系統(tǒng)C語(yǔ)言實(shí)習(xí)報(bào)告_第4頁(yè)
相機(jī)銷售系統(tǒng)C語(yǔ)言實(shí)習(xí)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

西安郵電大學(xué)C語(yǔ)言課程設(shè)計(jì)報(bào)告題目:相機(jī)銷售管理系統(tǒng)院系名稱:計(jì)算機(jī)學(xué)院專業(yè)名稱:計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):學(xué)生姓名:學(xué)號(hào)(8位):指導(dǎo)教師:設(shè)計(jì)起止時(shí)間:編號(hào):時(shí)間:2021年x月x日書山有路勤為徑,學(xué)海無(wú)涯苦作舟頁(yè)碼:第頁(yè)設(shè)計(jì)目的1:數(shù)量掌握c語(yǔ)言編程,并靈活營(yíng)運(yùn)函數(shù)實(shí)現(xiàn)不同的功能;2:用c語(yǔ)言編寫相機(jī)銷售管理系統(tǒng)的程序;3:更深入了解c語(yǔ)言,牢記其中各注意事項(xiàng)。二.設(shè)計(jì)內(nèi)容相機(jī)銷售管理系統(tǒng):參數(shù):相機(jī)型號(hào)(品牌version),感光器件(sensetization),市場(chǎng)價(jià)(price),光學(xué)變焦倍數(shù)(optical_zoom),最大像素(highest_pixel)。提供的功能:1:系統(tǒng)界面處理(包括密碼登陸,密碼的修改等); 2:系統(tǒng)工作方式,以菜單方式工作; 3:商戶功能a:相機(jī)參數(shù)及內(nèi)容的順序輸出(按市場(chǎng)價(jià)高低); b:相機(jī)參數(shù)及內(nèi)容的錄入與信息的增加——輸入; c:相機(jī)參數(shù)及內(nèi)容的顯示——輸出; d:相機(jī)參數(shù)及內(nèi)容的選擇刪除; e:相機(jī)參數(shù)及內(nèi)容的修改;f:相機(jī)參數(shù)及內(nèi)容的查詢與統(tǒng)計(jì)(1):按型號(hào)(品牌)(2):按感光器件(3):按市場(chǎng)價(jià)(4):按光學(xué)變焦倍數(shù)(5):按像素4:用戶功能 a:相機(jī)參數(shù)及內(nèi)容的顯示——輸出; b:相機(jī)參數(shù)及內(nèi)容的查詢與統(tǒng)計(jì)(1):按型號(hào)(品牌)(2):按感光器件(3):按市場(chǎng)價(jià)(4):按光學(xué)變焦倍數(shù)(5):按像素 c:相機(jī)參數(shù)及內(nèi)容的順序輸出(按市場(chǎng)價(jià)高低) 三.概要設(shè)計(jì)1.功能模塊圖;密碼管理密碼管理密碼登錄修改密碼商戶管理用戶管理讀文本順序輸出菜單(登錄界面、主菜單)進(jìn)入系統(tǒng)查找信息刪除文件修改信息增加文件讀文本查找信息順序輸出型號(hào)市場(chǎng)價(jià)感光器件光學(xué)變焦倍數(shù)最大像素型號(hào)main()主函數(shù)2.各個(gè)模塊詳細(xì)的功能描述?!裰骱瘮?shù):voidmain();●登錄菜單:voidheadmean();//進(jìn)入主系統(tǒng)●進(jìn)入系統(tǒng)選擇服務(wù)voidMainMenu(); //用戶選擇系統(tǒng)●選擇服務(wù)(1):IntCipherTest(); //用戶密碼檢驗(yàn)voidRevisalCipher(); //密碼修改(2):進(jìn)入主菜單:headmean();●用戶選擇voidMainMenu(); //用戶選擇系統(tǒng)●正式使用系統(tǒng)voidopensurface_1();//商戶管理界面voidc;//客戶管理界面●商戶管理voidsave_inf(LinklistL);//創(chuàng)建文件voidread_file();//讀文件voidinter_sort_s();//商戶進(jìn)入排序操作voidadd_file();//增加文件信息Linklistdelect_mean();//進(jìn)入刪除操作voidamend_file();//進(jìn)入修改操作voidfind_message_s();//進(jìn)入商戶查找操作●客戶管理voidread_file();//讀文件voidinter_sort_c();//客戶進(jìn)入排序操作voidfind_message_c();//進(jìn)入客戶查找操作●菜單函數(shù):voidint_mean();//系統(tǒng)主菜單voidinter_mean();//功能主菜單voidsurface_1();//商戶菜單voidsurface_2();//用戶菜單voidamend_mean();//修改項(xiàng)菜單voidfind_mean();//查找并統(tǒng)計(jì)菜單四.詳細(xì)設(shè)計(jì)1.功能函數(shù)的調(diào)用關(guān)系圖;main()main()主函數(shù)save_inf(LinklistL)headmean()opensurface_1()inter_sort_s()CipherTest()add_file()amend_file()read_file()find_message_s()delect_mean()Opensurface_2()read_file()inter_sort_c()find_message_c()2.各功能函數(shù)的數(shù)據(jù)流程圖;執(zhí)行CipherTest()函數(shù)1>:密碼,執(zhí)行CipherTest()函數(shù)開始判斷輸入密碼是否正確密碼修改結(jié)束2>開始判斷輸入密碼是否正確密碼修改結(jié)束開始開始打開文件將文件信息存到鏈表中輸出鏈表信息結(jié)束3>:按價(jià)格順序輸出,執(zhí)行sort_s()函數(shù)結(jié)束結(jié)束開始將文本信息存到鏈表中保留前驅(qū)結(jié)點(diǎn)進(jìn)入排序循環(huán)若第i項(xiàng)價(jià)格小于其后所比較的交換兩個(gè)信息改鏈4>:增加信息,執(zhí)行add_file()函數(shù)結(jié)束結(jié)束開始創(chuàng)見鏈表添加信息到鏈表中將鏈表存到文本中保存文本5>:刪除信息,執(zhí)行delect_mean()函數(shù)開始開始結(jié)束將文本信息存到鏈表中找到要?jiǎng)h除的信息將刪除信息的前個(gè)結(jié)點(diǎn)與其后結(jié)點(diǎn)相接,釋放刪除的信息空間保存文本6>:修改信息,執(zhí)行amend_file()函數(shù)開始開始結(jié)束將文本信息存到鏈表中找到要修改的信息將修改項(xiàng)的新信息重新輸入保存文本7>:查找信息并統(tǒng)計(jì),執(zhí)行find_message_s()函數(shù)開始開始結(jié)束將文本信息存到鏈表中選擇尋找信息的方式根據(jù)查找方式找到所查信息保存文本進(jìn)入循環(huán)查找輸出所查找信息語(yǔ)氣查找的結(jié)果數(shù)3.重點(diǎn)設(shè)計(jì)及編碼(其中主函數(shù))。1>:密碼驗(yàn)證與密碼修改(實(shí)現(xiàn)密碼錯(cuò)誤時(shí)可再次輸入)voidRevisalCipher()//密碼修改{ charc2[6],c[6]; printf("請(qǐng)輸入新的6位數(shù)密碼:\n"); scanf("%s",c2); printf("請(qǐng)?jiān)俅屋斎肽拿艽a:\n"); scanf("%s",c); system("cls"); if(strcmp(c2,c)==0) printf("密碼修改成功!\n"); printf("\n"); printf("\n");}intCipherTest()//密碼管理{ charc1[6],c2[]="111111"; intm; system("cls"); printf("\n\n\n\n"); do { printf("請(qǐng)輸入您的密碼(首次進(jìn)入為6位初始密碼)\n"); flushall(); scanf("%s",c1);// c1=getchar(); if(strcmp(c1,c2)==0) { printf("\n"); return1; } else { printf("密碼輸入錯(cuò)誤,請(qǐng)重新出入!\n"); printf("是否重新輸入(重新輸入請(qǐng)鍵入1;退出請(qǐng)鍵入0):\n"); scanf("%d",&m); } flushall(); } while(m==1); return0;}2>:顯示文本信息(將文本信息存到鏈表中)Linklistread_inf()//從指定文件中讀取信息并存入單鏈表中{ Linklisthead; Mobel*p,*s; FILE*fp; charfilename[40]; inti=0; system("cls"); flushall(); printf("讀文件請(qǐng)輸入文件名(f://b.txt有文件):\n"); gets(filename); for(;(fp=fopen(filename,"rt"))==NULL;) { printf("讀文件失敗,請(qǐng)重新輸入文件名:\n"); flushall(); gets(filename); }3>:輸出鏈表信息(要有一個(gè)指向指針)voidprint_inf(LinklistL)//輸出鏈表信息{ Mobel*p; system("cls"); printf("該品牌信息如下:\n"); printf("\n"); printf("型號(hào)最大像素(萬(wàn))市場(chǎng)價(jià)(元)光學(xué)變焦倍數(shù)感光器件\n"); for(p=L->next;p->next!=NULL;p=p->next)printf("%-15s%-15d%-15d%-15d%-5s\n",p->version,p->highest_pixel,p->price,p->optical_zoom,p->sensetization); flushall(); printf("\n");}4>:順序輸出(排序函數(shù)關(guān)鍵在找最大節(jié)點(diǎn)的位置時(shí)能記錄前一節(jié)點(diǎn)的位置,并實(shí)現(xiàn)鏈表的重新連接)Linklistsort_price()//排序{ Linklisthead;Mobel*pre,*mid,*m,*p; head=read_inf();p=head->next;while(p!=NULL){mid=head->next;if(head->price<head->next->price){head->next=mid->next;mid->next=head;head=mid;}pre=head;mid=head->next;m=mid->next;while(mid->next!=NULL){if(mid->price<m->price){pre->next=mid->next;mid->next=m->next;m->next=mid;}pre=pre->next;mid=pre->next;m=mid->next;}p=p->next;}returnhead;}5>:修改函數(shù)主要是對(duì)修改項(xiàng)的選擇Linklistamend(LinklistL)//修改鏈表{ charversion[10]; Mobel*p;// intn; charm; amend_mean(); printf("\n"); printf("請(qǐng)正確輸入要修改內(nèi)容所對(duì)應(yīng)的型號(hào):\n"); flushall(); gets(version); p=L->next;// for(p=L;strcmp(p->version,Version)!=0&&p!=NULL;p=p->next)//錯(cuò)在這// ;printf("正確:\n"); while(p!=NULL&&strcmp(p->version,version)) p=p->next; if(p!=NULL) { amend_mean(); printf("請(qǐng)選擇要修改的項(xiàng)目:\n"); scanf("%d",&m); printf("\n"); switch(m) {case1:printf("請(qǐng)輸入新型號(hào)的內(nèi)容:\n"); flushall(); gets(p->version); loop_amend(L); break; case2:printf("請(qǐng)輸入最新價(jià)格:\n"); scanf("%d",&p->price); loop_amend(L); break; case3:printf("請(qǐng)輸入最大像素:\n"); scanf("%d",&p->highest_pixel); loop_amend(L); break; case4:printf("請(qǐng)輸入光學(xué)變焦倍數(shù):\n"); scanf("%d",&p->optical_zoom); loop_amend(L); break; case5:printf("請(qǐng)輸入最大像素的內(nèi)容:\n"); flushall(); gets(p->sensetization); loop_amend(L); break; case6:opensurface_1(); break; case7:break; default:printf("按任意鍵返回上一界面"); getch(); opensurface_1();break; } } else { printf("型號(hào)輸入錯(cuò)誤,無(wú)此型號(hào)\n"); amend(L); } returnL;}6>:刪除函數(shù)中主要是前驅(qū)結(jié)點(diǎn)與后接結(jié)點(diǎn)的鏈接,并釋放所刪除項(xiàng)的空間Linklistdelect_link(LinklistL){ Mobel*p,*s; charm,version[10]; flushall(); printf("確定要進(jìn)行刪除文件操作yorn:\n"); scanf("%c",&m); if(m=='y'||m=='Y') { s=(Mobel*)malloc(sizeof(Mobel)); printf("請(qǐng)輸入要?jiǎng)h除的型號(hào)\n"); flushall(); gets(version); for(s=L,p=L->next;p!=NULL&&strcmp(p->version,version);s=s->next,p=p->next) ; if(p!=NULL) { s->next=p->next; free(p); printf("刪除成功\n"); delect_link(L); } else { printf("輸入型號(hào)錯(cuò)誤\n"); } } elseif(m=='n'||m=='N') { flushall(); printf("按任意鍵顯示刪改后內(nèi)容"); getch(); print_inf(L); } else { printf("輸入錯(cuò)誤\n"); delect_link(L); }// printf("是否返回上一界面yorn\n"); returnL;}6>:添加文本信息主要是常見鏈表Linklistbuild_creat()//建立鏈表{ LinklistL; Mobel*p,*s; charversion[10]; intprice; inthighest_pixel; intoptical_zoom; charsensetization[5];// charsensetization_size; inti=0; L=(Linklist)malloc(sizeof(Mobel));// s=(Mobel*)malloc(sizeof(Mobel)); L->next=NULL; p=L;flushall(); printf("請(qǐng)輸入第一個(gè)型號(hào)(000結(jié)束):\n"); while(1) { flushall(); gets(version); if(strcmp(version,"000")!=0) { i++; // scanf("%d,%d,%d,%s",&highest_pixel,&price,&optical_zoom,&sensetization); printf("最大像素:"); scanf("%d",&highest_pixel); printf("市場(chǎng)價(jià):"); scanf("%d",&price); printf("光學(xué)變焦倍數(shù):"); scanf("%d",&optical_zoom); flushall(); printf("感光器件:"); ; gets(sensetization);// gets(sensetization_size); s=(Mobel*)malloc(sizeof(Mobel)); strcpy(s->version,version); s->highest_pixel=highest_pixel; s->price=price; s->optical_zoom=optical_zoom; strcpy(s->sensetization,sensetization); p->next=s; p=s; printf("請(qǐng)新增第%d個(gè)信息的型號(hào)(000結(jié)束):\n",i+1); } else { p->next=NULL; break; } } printf("共有%d個(gè)型號(hào):\n",i); returnL;}五.測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果1.正常測(cè)試數(shù)據(jù)(3組)及運(yùn)行結(jié)果;1>:主界面2>:登陸菜單:3>:修改密碼4>:進(jìn)入系統(tǒng),選擇用戶身份5>:進(jìn)入商戶管理界面6>:讀取信息7>:順序輸出(按價(jià)格由高到低)8>:增加信息9>:刪除信息10>:查找信息并統(tǒng)計(jì)11>:修改信息12>:進(jìn)入客戶管理系統(tǒng)2.非正常測(cè)試數(shù)據(jù)(2組)及運(yùn)行結(jié)果。1>:密碼輸入錯(cuò)誤可繼續(xù)輸入直到正確2>:用戶選擇錯(cuò)誤可在繼續(xù)選擇直到正確3>:文件名輸入錯(cuò)誤可同樣進(jìn)行反復(fù)輸入4>:所查找信息未找到系統(tǒng)會(huì)提示輸入錯(cuò)誤六.調(diào)試情況,設(shè)計(jì)技巧及體會(huì)1.對(duì)自己的設(shè)計(jì)進(jìn)行評(píng)價(jià),指出合理和不足之處,提出改進(jìn)方案;2.對(duì)設(shè)計(jì)及調(diào)試過程的心得體會(huì)。經(jīng)過這兩周的實(shí)習(xí),確實(shí)是對(duì)c變成有了更深入的認(rèn)識(shí)。C語(yǔ)言是一種奇妙的語(yǔ)言。我做的課題是相機(jī)銷售管理系統(tǒng)。剛開始做課程設(shè)計(jì)時(shí)說實(shí)在是不知如何下手,不知該從那方面開始。開始的一周,總在懷疑自己能不能編寫出要求的程序來,總想著自己不可以,也就一定程度上開始投機(jī)取巧,三天內(nèi)也只是在某個(gè)功能模塊里運(yùn)行處“預(yù)期”的結(jié)果,當(dāng)八個(gè)模塊組合起來卻不能運(yùn)行。放假的兩天沒怎么運(yùn)行程序,就在反思,后來終于下決心重新編寫程序,我相信我可以的。第二周,正式開始我的程序,將書中相關(guān)內(nèi)容知識(shí)反復(fù)看了好幾遍,并且比較深入的認(rèn)識(shí)到書中的每個(gè)相關(guān)程序,對(duì)于每一模塊都認(rèn)真思考,模塊的組合再三認(rèn)證,講過4天的努力,終于我做到了,完全是我一個(gè)人成果,這真讓人興奮。當(dāng)然,其間也請(qǐng)教了班里的同學(xué),這里,謝謝你們!!在我編程遇到問題時(shí),是你們不厭其煩的幫我解決,謝謝你們。這個(gè)課題做完后,對(duì)c,我也考慮了些。C,這種語(yǔ)言真是奇妙!編譯時(shí)出現(xiàn)問題,這還好解決,可以直接根據(jù)提示找到問題所在,可要是在運(yùn)行時(shí)出現(xiàn)問題,可真不是好解決的。C的要求真的比較苛刻,就是輸入輸出格式不對(duì)也會(huì)出現(xiàn)問題,不時(shí)出現(xiàn)亂碼,就是直接運(yùn)行不出,這點(diǎn)需注意。變量的類型也同等重要,需謹(jǐn)慎。變成的一些細(xì)小問題是要特別注意的,比如說,語(yǔ)句的符號(hào)怒該省的必需的有,不能有的絕不能有,中英文的區(qū)別,語(yǔ)句中必須是英文字符!所引用的函數(shù)必需的在所在的庫(kù)函數(shù)中才能被引用,否則會(huì)出現(xiàn)錯(cuò)誤。Flushall(),這個(gè)函數(shù),可真不可小視,不僅在gets()函數(shù)前必須加此函數(shù)外,scanf()有時(shí)也需要,否則所輸入的數(shù)據(jù)視為空數(shù)據(jù),從而影響到函數(shù)無(wú)法輸入數(shù)據(jù)。兩周的實(shí)習(xí)結(jié)束,我對(duì)c有了更深入的了解,這兩周,不僅是對(duì)這一年的總結(jié)應(yīng)用,更是下一學(xué)年的一個(gè)好的開始!!七.參考文獻(xiàn)八.附錄:源代碼(電子版)#include<stdio.h>#include<string.h>#include<ctype.h>#include<stdlib.h>#include<io.h>#include<conio.h>#defineLEN100typedefstructbrand_mobel//指針結(jié)構(gòu)體變量{ charversion[10]; charsensetization[5]; intprice; inthighest_pixel; intoptical_zoom;// charsensetization;// charsensetization_size; structbrand_mobel*next;}*Linklist,Mobel;//函數(shù)聲明voidhead_mean();//進(jìn)入主系統(tǒng)voidint_mean();//系統(tǒng)主菜單voidMainMenu(); //用戶選擇系統(tǒng)voidinter_mean();//功能主菜單voidsurface_1();//商戶菜單voidsurface_2();//用戶菜單voidamend_mean();//修改項(xiàng)菜單voidopensurface_1();//商戶管理主界面voidopensurface_2();//客戶管理主界面Linklistget_L();//得到鏈表intCipherTest(); //用戶密碼檢驗(yàn)voidRevisalCipher(); //密碼修改voidsave_inf(LinklistL);//創(chuàng)建文件Linklistbuild_creat();//創(chuàng)建鏈表Linklistread_inf();//將文件信息放到鏈表中voidread_file();//讀文件voidprint_inf(LinklistL);//輸出鏈表信息voidadd_file();//增加文件信息Linklistdelect_mean();//進(jìn)入刪除操作Linklistdelect_link(LinklistL);//刪除鏈表voidamend_file();//進(jìn)入修改操作Linklistamend(LinklistL);//修改鏈表voidloop_amend(Linklist);//循環(huán)修改鏈表操作Linklistsort_price();//鏈表排序voidinter_sort_s();//商戶進(jìn)入排序操作voidinter_sort_c();//客戶進(jìn)入排序操作voidfind_message_s();//進(jìn)入商戶查找操作voidfind_message_c();//進(jìn)入客戶查找操作voidfind_mean();//查找并統(tǒng)計(jì)菜單voidsave_inf(LinklistL);//將鏈表信息存入文件中voidfind_version(); //型號(hào)查找voidfind_price(); //價(jià)格查找voidfind_highest_pixel();//最高像素查找yvoidfind_optical_zoom();//光學(xué)變焦倍數(shù)查找voidfind_sensetization();//感光器件查找voidint_mean()//系統(tǒng)主菜單{ system("cls"); printf("\n\n\n"); printf("歡迎進(jìn)入相機(jī)銷售管理系統(tǒng)\n");//解決 printf("\n"); printf("主界面\n"); printf("\n"); printf("1:用戶登錄\n"); printf("\n"); printf("2:退出系統(tǒng)\n"); printf("\n\n\n");}voidinter_mean()//功能主菜單{ system("cls"); printf("\n\n\n"); printf("歡迎進(jìn)入相機(jī)銷售管理系統(tǒng)\n"); printf("\n"); printf("\n"); printf("1:修改密碼\n"); printf("2:進(jìn)入系統(tǒng)\n"); printf("3:返回主菜單\n"); printf("4:退出系統(tǒng)\n"); printf("\n\n"); printf("\n"); printf("\n\n");}voidsurface_1()//商戶管理主界面{ printf("\n\n"); printf("*************************商戶管理主界面*************************\n"); printf("\n"); printf("1:讀取信息\n"); printf("2:順序輸出\n"); printf("3:增加信息\n");//yes printf("4:刪除信息\n"); printf("5:修改信息\n");//yes printf("6:查找并統(tǒng)計(jì)\n"); printf("7:返回上一界面\n");//yes printf("8:返回主菜單\n"); printf("9:退出系統(tǒng)\n");//yes printf("\n"); printf("****************************************************************\n"); printf("\n"); printf("\n"); flushall();}voidsurface_2()//客戶管理主界面{ printf("\n\n");printf("*************************客戶管理主界面*************************\n"); printf("\n"); printf("1:讀取信息\n"); printf("2:查找信息\n"); printf("3:按順序查看信息\n"); printf("4:返回上界菜單\n"); printf("5:退出系統(tǒng)\n"); printf("\n"); printf("****************************************************************\n"); printf("\n"); printf("\n"); flushall();}voidamend_mean()//修改項(xiàng)菜單{ printf("\n\n"); printf("請(qǐng)輸入要修改的內(nèi)容\n"); printf("\n"); printf("1:型號(hào)\n"); printf("2:價(jià)格\n"); printf("3:最高像素\n"); printf("4:光學(xué)變焦倍數(shù)\n"); printf("5:感光器件\n"); printf("6:返回上一節(jié)菜單\n"); printf("7:退出系統(tǒng)\n"); printf("\n"); printf("\n"); printf("\n");}voidfind_mean()//沒完繼續(xù){ system("cls"); printf("\n\n\n"); printf("查找菜單\n"); printf("\n"); printf("1:型號(hào)\n"); printf("2:價(jià)格\n"); printf("3:最高像素\n"); printf("4:光學(xué)變焦\n"); printf("5:感光器件\n"); printf("6:返回上一界面\n"); printf("\n"); printf("查找菜單\n"); }//系統(tǒng)主菜單voidMainMenu()//進(jìn)入用戶選擇系統(tǒng){ charm; system("cls"); printf("\n\n\n"); printf("請(qǐng)正確輸入您的信息(商戶s或用戶c):\n"); flushall();scanf("%c",&m); if(m=='s'||m=='S') { CipherTest(); opensurface_1(); } elseif(m=='c'||m=='C') { CipherTest(); opensurface_2(); } else { printf("輸入錯(cuò)誤!!請(qǐng)重新輸入\n"); printf("按任意鍵返回上一級(jí)"); getch(); MainMenu(); } }voidread_file()//讀文件{ LinklistL; L=read_inf(); print_inf(L);/* printf("按任意鍵返回上一級(jí)菜單\n"); getch(); opensurface_1();*/}voidadd_file()//增加文件{ LinklistL; charm;L=build_creat(); save_inf(L); L=read_inf(); printf("是否顯示新文件信息yorn:\n"); scanf("%c",&m); if(m=='y'||m=='Y') print_inf(L); printf("按任意鍵返回上一級(jí)菜單\n"); getch(); opensurface_1(); }voidhead_mean()//開始系統(tǒng){ charm; int_mean(); printf("請(qǐng)選擇所需服務(wù)\n"); flushall(); scanf("%c",&m);// gets(m); system("cls"); switch(m) { case'1': inter_mean(); printf("請(qǐng)選擇所需服務(wù)\n"); flushall(); scanf("%c",&m); system("cls"); switch(m) { case'1':CipherTest(); RevisalCipher(); printf("按任意鍵返回主界面\n"); getch(); head_mean(); break; case'2'://CipherTest(); MainMenu(); break; case'3':head_mean();break; case'4':system("cls");printf("退出系統(tǒng)");break; default: printf("輸入錯(cuò)誤,按任意鍵返回上一級(jí)菜單菜單\n"); getch(); head_mean(); break; } case'2':system("cls");printf("退出系統(tǒng)\n");break; default: printf("輸入錯(cuò)誤,按任意鍵返回主菜單\n"); getch(); head_mean(); break; }}voidloop_amend(LinklistL)//循環(huán)修改鏈表操作{ charm;// LinklistL; printf("是否繼續(xù)修改yorn:\n"); scanf("%c",&m); if(m=='y'||m=='Y') amend(L); else printf("按任意鍵商戶管理菜單"); getch(); opensurface_1();}Linklistbuild_creat()//建立鏈表{ LinklistL; Mobel*p,*s; charversion[10]; intprice; inthighest_pixel; intoptical_zoom; charsensetization[5];// charsensetization_size; inti=0; L=(Linklist)malloc(sizeof(Mobel));// s=(Mobel*)malloc(sizeof(Mobel)); L->next=NULL; p=L;flushall(); printf("請(qǐng)輸入第一個(gè)型號(hào)(000結(jié)束):\n"); while(1) { flushall(); gets(version); if(strcmp(version,"000")!=0) { i++; // scanf("%d,%d,%d,%s",&highest_pixel,&price,&optical_zoom,&sensetization); printf("最大像素:"); scanf("%d",&highest_pixel); printf("市場(chǎng)價(jià):"); scanf("%d",&price); printf("光學(xué)變焦倍數(shù):"); scanf("%d",&optical_zoom); flushall(); printf("感光器件:"); ; gets(sensetization);// gets(sensetization_size); s=(Mobel*)malloc(sizeof(Mobel)); strcpy(s->version,version); s->highest_pixel=highest_pixel; s->price=price; s->optical_zoom=optical_zoom; strcpy(s->sensetization,sensetization); p->next=s; p=s; printf("請(qǐng)新增第%d個(gè)信息的型號(hào)(000結(jié)束):\n",i+1); } else { p->next=NULL; break; } } printf("共有%d個(gè)型號(hào):\n",i); returnL;}voidsave_inf(LinklistL)//將鏈表中信息放到指定文件中{ Mobel*p; FILE*fp; charfilename[40],m; flushall(); system("cls"); printf("請(qǐng)正確輸入要保存的文件名:\n"); gets(filename); printf("是否追加到原文件之后yorn\n"); scanf("%c",&m); if(m=='y'||m=='Y') { fp=fopen(filename,"a+"); if((fp=fopen(filename,"a+"))==NULL) { printf("文件打開失敗,按任意鍵返回:\n"); getch(); save_inf(L); } } elseif(m=='n'||m=='N') { fp=fopen(filename,"wt"); if((fp=fopen(filename,"wt"))==NULL) { printf("文件打開失敗,按任意鍵返回:\n"); getch(); save_inf(L); } } for(p=L->next;p!=NULL;p=p->next) fprintf(fp,"%s%d%d%d%s\n",p->version,p->highest_pixel,p->price,p->optical_zoom,p->sensetization); printf("文件已保存成功\n");// getch();// fclose(fp);// L=read_inf();}Linklistread_inf()//從指定文件中讀取信息并存入單鏈表中{ Linklisthead; Mobel*p,*s; FILE*fp; charfilename[40]; inti=0; system("cls"); flushall(); printf("讀文件請(qǐng)輸入文件名(f://b.txt有文件):\n"); gets(filename); for(;(fp=fopen(filename,"rt"))==NULL;) { printf("讀文件失敗,請(qǐng)重新輸入文件名:\n"); flushall(); gets(filename); }// fno=fileno(fp);// fsize=filelength(fno);// printf("該文件大小為:%dBytes\n",fsize);// printf("文件內(nèi)容為:\n"); head=(Linklist)malloc(sizeof(Mobel));// s=(Mobel*)malloc(sizeof(Mobel)); head->next=NULL;// s->next=NULL; s=head;while(!feof(fp))//文件未結(jié)束 //while(s!=NULL) { p=(Mobel*)malloc(sizeof(Mobel)); fscanf(fp,"%s%d%d%d%s\n",p->version,&p->highest_pixel,&p->price,&p->optical_zoom,p->sensetization); s->next=p; s=p; } s->next=NULL; fclose(fp); returnhead;}voidprint_inf(LinklistL)//輸出鏈表信息{ Mobel*p; system("cls"); printf("該品牌信息如下:\n"); printf("\n"); printf("型號(hào)最大像素(萬(wàn))市場(chǎng)價(jià)(元)光學(xué)變焦倍數(shù)感光器件\n"); for(p=L->next;p->next!=NULL;p=p->next)printf("%-15s%-15d%-15d%-15d%-5s\n",p->version,p->highest_pixel,p->price,p->optical_zoom,p->sensetization); flushall(); printf("\n");}voidRevisalCipher()//密碼修改{ charc2[6],c[6]; printf("請(qǐng)輸入新的6位數(shù)密碼:\n"); scanf("%s",c2); printf("請(qǐng)?jiān)俅屋斎肽拿艽a:\n"); scanf("%s",c); system("cls"); if(strcmp(c2,c)==0) printf("密碼修改成功!\n"); printf("\n"); printf("\n");}intCipherTest()//密碼管理{ charc1[6],c2[]="111111"; intm; system("cls"); printf("\n\n\n\n"); do { printf("請(qǐng)輸入您的密碼(首次進(jìn)入為6位初始密碼)\n"); flushall(); scanf("%s",c1);// c1=getchar(); if(strcmp(c1,c2)==0) { printf("\n"); return1; } else { printf("密碼輸入錯(cuò)誤,請(qǐng)重新出入!\n"); printf("是否重新輸入(重新輸入請(qǐng)鍵入1;退出請(qǐng)鍵入0):\n"); scanf("%d",&m); } flushall(); } while(m==1); return0;}Linklistamend(LinklistL)//修改鏈表{ charversion[10]; Mobel*p;// intn; charm; amend_mean(); printf("\n"); printf("請(qǐng)正確輸入要修改內(nèi)容所對(duì)應(yīng)的型號(hào):\n"); flushall(); gets(version); p=L->next;// for(p=L;strcmp(p->version,Version)!=0&&p!=NULL;p=p->next)//錯(cuò)在這// ;printf("正確:\n"); while(p!=NULL&&strcmp(p->version,version)) p=p->next; if(p!=NULL) { amend_mean(); printf("請(qǐng)選擇要修改的項(xiàng)目:\n"); scanf("%d",&m); printf("\n"); switch(m) {case1:printf("請(qǐng)輸入新型號(hào)的內(nèi)容:\n"); flushall(); gets(p->version); loop_amend(L); break; case2:printf("請(qǐng)輸入最新價(jià)格:\n"); scanf("%d",&p->price); loop_amend(L); break; case3:printf("請(qǐng)輸入最大像素:\n"); scanf("%d",&p->highest_pixel); loop_amend(L); break; case4:printf("請(qǐng)輸入光學(xué)變焦倍數(shù):\n"); scanf("%d",&p->optical_zoom); loop_amend(L); break; case5:printf("請(qǐng)輸入最大像素的內(nèi)容:\n"); flushall(); gets(p->sensetization); loop_amend(L); break; case6:opensurface_1(); break; case7:break; default:printf("按任意鍵返回上一界面"); getch(); opensurface_1();break; } } else { printf("型號(hào)輸入錯(cuò)誤,無(wú)此型號(hào)\n"); amend(L); } returnL;}voidamend_file()//進(jìn)入修改操作{// charversion[10]; charm; LinklistL; L=read_inf(); print_inf(L); printf("\n"); printf("確定繼續(xù)修改內(nèi)容操作?yorn:\n"); scanf("%c",&m); if(m=='y'||m=='Y') { L=amend(L); save_inf(L); print_inf(L);// amend_file(); } printf("按任意鍵返回上一級(jí)菜單\n"); getch(); opensurface_1();}voidinter_sort_s()//進(jìn)入排序操作{ LinklistL; charm; L=sort_price();//順序輸出 printf("按任意鍵輸出排序后內(nèi)容"); getch(); print_inf(L); printf("是否保存文件yorn\n"); scanf("%c",&m); if(m=='y'||m=='Y') save_inf(L); printf("按任意鍵返回上一界面\n"); getch(); opensurface_1();}voidinter_sort_c()//進(jìn)入排序操作{ LinklistL; L=sort_price();//順序輸出 printf("按任意鍵輸出排序后內(nèi)容"); getch(); print_inf(L); printf("按任意鍵返回上一界面\n"); getch(); opensurface_2();}voidopensurface_1(){ LinklistL;// intn; charm; system("cls"); surface_1(); printf("請(qǐng)選擇所需服務(wù)\n"); flushall(); scanf("%c",&m); system("cls"); switch(m) { case'1':read_file(); printf("按任意鍵返回上一級(jí)菜單\n"); getch(); opensurface_1();break;//讀取信息 case'2':inter_sort_s();break; //順序輸出 case'3':add_file();break;//增加信息 case'4':L=delect_mean();break;//刪除信息 case'5':amend_file();break;//修改信息 case'6':find_message_s();break;//查找信息 case'7':MainMenu();break;//返回一界面 case'8':head_mean();break;//返回主菜單 case'9':printf("退出系統(tǒng):\n");break; default:printf("輸入錯(cuò)誤按任意鍵返回");getch(); opensurface_1();break; }}voidopensurface_2(){ intn; system("cls"); surface_2(); printf("請(qǐng)選擇所需服務(wù):\n"); scanf("%d",&n); switch(n) { case1:read_file(); printf("按任意鍵返回上一級(jí)菜單\n"); getch(); opensurface_2();break;//讀取信息 case2:find_message_c();break;//查找信息 case3:inter_sort_c();break;//順序輸出 case4:head_mean();break;//返回上一節(jié)菜單 case5:break; }}Linklistsort_price()//排序{ Linklisthead;Mobel*pre,*mid,*m,*p; head=read_inf();p=head->next;while(p!=NULL){mid=head->next;if(head->price<head->next->price){head->next=mid->next;mid->next=head;head=mid;}pre=head;mid=head->next;m=mid->next;while(mid->next!=NULL){if(mid->price<m->price){pre->next=mid->next;mid->next=m->next;m->next=mid;}pre=pre->next;mid=pre->next;m=mid->next;}p=p->next;}returnhead;}Linklistdelect_link(LinklistL){ Mobel*p,*s; charm,version[10]; flushall(); printf("確定要進(jìn)行刪除文件操作yorn:\n"); scanf("%c",&m); if(m=='y'||m=='Y') { s=(Mobel*)malloc(sizeof(Mobel)); printf("請(qǐng)輸入要?jiǎng)h除的型號(hào)\n"); flushall(); gets(version); for(s=L,p=L->next;p!=NULL&&strcmp(p->version,version);s=s->next,p=p->next) ; if(p!=NULL) { s->next=p->next; free(p); printf("刪除成功\n"); delect_link(L); } else { printf("輸入型號(hào)錯(cuò)誤\n"); } } elseif(m=='n'||m=='N') { flushall(); printf("按任意鍵顯示刪改后內(nèi)容"); getch(); print_inf(L); } else { printf("輸入錯(cuò)誤\n"); delect_link(L); }// printf("是否返回上一界面yorn\n");//少個(gè)操作 returnL;}Linklistdelect_mean()//進(jìn)入刪除操作{ LinklistL; charm; L=read_inf(); print_inf(L); printf("\n"); L=delect_link(L);// printf("按任意鍵顯示刪改后內(nèi)容");// getch();//print_inf(L); printf("是否保存文件yorn"); flushall(); scanf("%c",&m); if(m=='y'||m=='Y') save_inf(L); printf("按任意鍵返回主菜單"); getch(); opensurface_1(); returnL;}voidfind_message_s(){ charm; system("cls"); find_mean(); printf("請(qǐng)選擇如何查找\n"); flushall(); scanf("%c",&m); switch(m) { case'1':find_version();break; case'2':find_price();break; case'3':find_highest_pixel();break; case'4':find_optical_zoom();break; case'5':find_sensetization();break; case'6':opensurface_1();break; default:printf("輸入錯(cuò)誤按任意鍵返回上一界面"); getch(); find_message_s();break; }}voidfind_message_c(){ charm; system("cls"); find_mean(); printf("請(qǐng)選擇如何查找\n"); flushall(); scanf("%c",&m); switch(m) { case'1':find_version();break; case'2':find_price();break; case'3':find_highest_pixel();break; case'4':find_optical_zoom();break; case'5':find_sensetization();break; case'6':opensurface_2();break; default:printf("輸入錯(cuò)誤按任意鍵返回上一界面"); getch(); find_message_c();break; }}voidfind_version(){ charversion[10]; LinklistL; Mobel*p; inti=0; system("cls"); L=read_inf(); printf("請(qǐng)正確輸入查找的型號(hào)\n"); flushall(); gets(version);system("cls"); printf("型號(hào)最大像素市場(chǎng)價(jià)光學(xué)變焦倍數(shù)感光器件\n")

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論