相機銷售系統(tǒng)C語言實習報告_第1頁
相機銷售系統(tǒng)C語言實習報告_第2頁
相機銷售系統(tǒng)C語言實習報告_第3頁
相機銷售系統(tǒng)C語言實習報告_第4頁
相機銷售系統(tǒng)C語言實習報告_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論