C語言課程設(shè)計- 宿舍通訊錄管理系統(tǒng)_第1頁
C語言課程設(shè)計- 宿舍通訊錄管理系統(tǒng)_第2頁
C語言課程設(shè)計- 宿舍通訊錄管理系統(tǒng)_第3頁
C語言課程設(shè)計- 宿舍通訊錄管理系統(tǒng)_第4頁
C語言課程設(shè)計- 宿舍通訊錄管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

┊┊┊┊課程設(shè)計服務(wù)課程名稱:C語言系:自動化服務(wù)課程名稱:C語言系:自動化專業(yè):電子信息工程班級:電子本142班目錄TOC\h\z\t"標(biāo)題2,1"C語言課程設(shè)計成績評定表 1C語言課程設(shè)計任務(wù)書 2程序設(shè)計思路 3程序基本框架結(jié)構(gòu)圖 4系統(tǒng)運行界面截圖 5源代碼清單 6課程設(shè)計總結(jié) 21C語言課程設(shè)計-PAGE9-┊┊C語言課程設(shè)計成績評定表┊┊班級電子本142學(xué)號24姓名項目組第2組項目組長項目組組員本人工作簡介:我主要負責(zé)新建通訊錄部分的程序。組長評語:為期一周的實訓(xùn)中,我們能一起討論和解決遇到的困難,每個人都貢獻了自己的力量。這周的實訓(xùn)是我們更加深入的了解了C語言這門課程,并意識到了這門學(xué)科在將來工作中的重要意義。成績評定標(biāo)準(zhǔn)ABCDE理論基礎(chǔ)很好好比較好一般不好報告完成情況很好好比較好一般不好紀(jì)律表現(xiàn)很好好比較好一般不好程序創(chuàng)意很好好比較好一般不好所選模塊完成情況很好好一般較差不好所選算法難易程度復(fù)雜比較復(fù)雜一般簡單很簡單程序可操作性很好好一般較差不好答辯表現(xiàn)很好好一般較差不好最后成績優(yōu)秀A>=5B<=3C<=0D=0E=0良好A>=3B<=4C<=1D=0E=0中等A>=1B>=2C>=4D<=1E=0及格A=0B=0C<=4D>=4不及格A=0B=0C=0D<=4E>=4負責(zé)指導(dǎo)教師:(簽名)指導(dǎo)教師:(簽名)

C語言課程設(shè)計任務(wù)書一、設(shè)計目的通過本次課程設(shè)計使學(xué)生進一步加深對C語言課程內(nèi)容的理解,初步掌握一般應(yīng)用程序的開發(fā)方法和步驟,進一步了解與掌握C語言的編程方法和技巧,提高學(xué)生用C語言解決實際問題的能力。二、設(shè)計要求1、認真查閱參考書、資料 2、遵守課程設(shè)計時間安排3、按時上機,認真調(diào)試程序 4、認真完成課程設(shè)計報告三、課設(shè)報告裝訂內(nèi)容及順序1、課程設(shè)計封皮 2、目錄3、課程設(shè)計成績評定表 4、課程設(shè)計任務(wù)書5、程序基本框架圖6、程序設(shè)計說明書7、源代碼清單 8、課設(shè)總結(jié)與心得四、設(shè)計題目宿舍通訊錄管理系統(tǒng)五、時間安排(一周:從07月06日到07月10日)1、查閱資料及程序設(shè)計(1天) 2、程序編制及調(diào)試(3天)3、成績評定(0.5天) 3、打印報告(0.5天)六、參考文獻1、《C語言程序設(shè)計》李淑華/李貞編大連理工大學(xué)出版社2、《C語言程序設(shè)計》孫連科/姚大鵬編遼海出版社3、《C++時尚編程百例》網(wǎng)冠科技編.機械工業(yè)出版社4、《TURBOC實用大全》徐金梧等編.機械工業(yè)出版社宿舍通訊錄管理系統(tǒng)程序設(shè)計思路程序設(shè)計思路:建立一個函數(shù),用來新建、添加、修改、刪除、瀏覽、查找以及退出通訊錄等信息,完成通訊錄的功能。先有一個主函數(shù),可以通過主函數(shù)調(diào)用7個子函數(shù)。分別完成新建通訊錄、添加通訊錄、修改通訊錄、刪除通訊錄、瀏覽通訊錄、查找通訊錄、以及退出系統(tǒng)等功能。子函數(shù)以1、2、3、4、5、6、7的數(shù)字鍵分別執(zhí)行某個功能模塊。并將模塊用⊙¤符號作為邊框完成設(shè)計。程序基本框架結(jié)構(gòu)圖宿舍通訊錄管理系統(tǒng)宿舍通訊錄管理系統(tǒng)退出通訊錄信息查找通訊錄信息瀏覽通訊錄信息刪除通訊錄信息修改通訊錄信息添加通訊錄信息新建通訊錄信息退出通訊錄信息查找通訊錄信息瀏覽通訊錄信息刪除通訊錄信息修改通訊錄信息添加通訊錄信息新建通訊錄信息系統(tǒng)運行界面截圖源代碼清單#definePP36#include<stdio.h>#include<stdlib.h>#include<string.h>#include"windows.h"voidenter();voidadd();voidmodify();voidbrowse();voidDelete();voidsearch();voiddelay();voidprintf_welcome();structstudent{ charnum[15]; charname[20]; charphone[50]; charQQnum[15]; charfloor[10]; charroom[10];}stu[PP];staticintfirst=0;voidprintf_one(inti){ if(stu[i].num[0]=='\0') ; else { printf("學(xué)號\t%s\n",stu[i].num); printf("姓名\t%s\n",stu[i].name); printf("電話號碼\t%s\n",stu[i].phone); printf("QQ號\t%s\n",stu[i].QQnum); printf("樓層\t%s\n",stu[i].floor); printf("宿舍\t%s\n",stu[i].room); }}voidprintf_n(intn){ intj; for(j=0;j<n;j++) { if((j!=0)&&(j%10==0)) { printf("\n\n按任意鍵繼續(xù):"); getchar(); puts("\n\n"); } printf_one(j);}getchar();}intload(){ FILE*fp; inti; if((fp=fopen("d:\\file","rb"))==NULL) { printf("\nCannotopenfile\n");exit(0); } for(i=0;!feof(fp);i++) fread(&stu[i].num,sizeof(structstudent),1,fp); fclose(fp); return(i-1);}intmodify_data(inti,intn){ intc,w1; voidinput(inti); voidmenu(); intj,k=0; do { printf("\n"); printf("\t\t\t宿舍通訊信息管理系統(tǒng)\n"); printf("\n"); printf("\t⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙\n"); printf("\n"); printf("\t⊙⊙⊙\t\t1.學(xué)號.\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t2.電話號碼.\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t3.QQ號.\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t4.姓名.\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t5.所有數(shù)據(jù).\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t6.取消并返回.\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙\n"); printf("請選擇?:[]\b\b");scanf("%d",&c); if(c>6||c<1) { puts("\n選擇錯誤請重新輸入!"); getchar(); } }while(c>6||c<1); do { switch(c) { case4:printf("姓名:");scanf("%s",stu[i].name);break; case2:printf("電話號:");scanf("%s",stu[i].phone);break; case3:printf("QQ號:");scanf("%s",stu[i].QQnum);break; case1:{ if(!first) { printf("學(xué)號"); scanf("%s",stu[i].num); } else { do { printf("學(xué)號"); scanf("%s",stu[i].num); for(j=0;j<first;j++) if(strcmp(stu[j].num,stu[i].num)!=0) { k=1; } else printf("\n\n學(xué)號重復(fù)請重新輸入!\n"); }while(k==0); } }break; case5:input(i);break; case6:menu(); } printf_one(i); printf("\n確定?\n\n\t1).是2).不,重新修改3).返回不保存[]\b\b"); scanf("%d",&w1); }while(w1==2); return(w1);}voidinput(inti){ intj,k=-1; if(!first) { printf("學(xué)號"); scanf("%s",stu[i].num); } else { do { printf("學(xué)號"); scanf("%s",stu[i].num); for(j=0;j<first;j++) if(strcmp(stu[j].num,stu[i].num)!=0) { k=1; } else printf("\n\n學(xué)號重復(fù)請重新輸入!\n"); }while(k==-1); } printf("姓名"); scanf("%s",stu[i].name); printf("手機號"); scanf("%s",stu[i].phone); printf("QQ號"); scanf("%s",stu[i].QQnum); printf("樓層"); scanf("%s",stu[i].floor); printf("宿舍"); scanf("%s",stu[i].room); first++;}voidsave(intn){ FILE*fp;inti; if((fp=fopen("d:\\file","wb"))==NULL) { printf("\nCannotopenfile\n"); exit(0); } for(i=0;i<n;i++) if(stu[i].num[0]!='\0') if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1) printf("filewriteerror\n"); fclose(fp);}voidprintf_back(){ intw; voidbrowse(); voidmenu(); printf("請選擇需要的功能?\n\n\t1).瀏覽所有\(zhòng)t2).返回:[]\b\b"); scanf("%d",&w); if(w==1)browse(); elsemenu();}voidprintf_welcome(){}voiddelay(){ inti; for(i=0;i<=1000000;) i++;}voidmenu(){ intn,w1=0; do { system("cls"); printf("\n"); printf("\n"); printf_welcome(); printf("\n"); printf("\t\t\t宿舍通訊信息管理系統(tǒng)\n"); printf("\t⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙\n"); printf("\n"); printf("\t⊙⊙⊙\t\t1.新建通訊錄信息,\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t2.添加通訊錄信息,\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t3.修改通訊錄信息,\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t4.刪除通訊錄信息,\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t5.瀏覽通訊錄信息,\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t6.查找通訊錄信息,\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t7.退出通訊錄信息,\t\t⊙⊙⊙\n"); printf("\n"); printf("\t⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙\n"); printf("請選擇功能:[]\b\b"); scanf("%d",&n); if(n>7||n<1) { printf("選擇錯誤請重新輸入"); getchar(); } switch(n) { case1:enter();break; case2:add();break; case3:modify();break; case4:Delete();break; case5:browse();break; case6:search();break; case7:w1=1; } }while(!w1);}voidenter(){ inti,n; printf("共多少名學(xué)生(0-%d)?:",PP-1); scanf("%d",&n); printf("請輸入數(shù)據(jù):\n"); for(i=0;i<n;i++) { printf("\n輸入第%d個記錄.\n",i+1); input(i); } if(i!=0)save(n); printf_back();}voidadd(){ inti,n,k,t; n=load(); printf("請輸入學(xué)生的數(shù)量(0-%d)?:",PP-n-1); scanf("%d",&t); k=n+t; for(i=n;i<k;i++) { printf("\n輸入第%d個記錄.\n",i-n+1); input(i); } save(k); printf_back(); first=0;}voidmodify(){ structstudents; inti,n,k,w0=1,w1,w2=0; n=load(); do { k=-1;printf_n(n); do { printf("\n\n輸入要更改的學(xué)號!\n學(xué)號:"); scanf("%s",s.num); for(i=0;i<n;i++) if(strcmp(s.num,stu[i].num)==0) { k=i; s=stu[i]; } if(k==-1) printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); w1=modify_data(k,n); if(w1==1) { printf("\n\n\n是否繼續(xù)?\n\n\t1).是2).保存返回\t[]\b\b"); scanf("%d",&w0); w2=1; } else { w0=0; if(w2==0) stu[k]=s; } if((w0!=1)&&(w2==1))save(n); }while(w0==1); menu();}voidbrowse(){ intn; n=load(); printf_n(n); printf("\t共有%d記錄.\n",n);printf("\n按任意鍵返回"); getchar(); menu();}voidsearch(){ intw0,k,i,n,w1,w2; structstudents; n=load(); do { system("cls"); printf("\n"); printf("\n"); printf("\n"); printf("\t⊙⊙⊙¤¤¤⊙⊙⊙請選擇查找的方式⊙⊙⊙¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t1.學(xué)號查找,\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t2.姓名查找,\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t3.電話查找,\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t4.QQ號查找,\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t5.樓層查找,\t\t⊙⊙⊙\n"); printf("\n"); printf("\t¤¤¤\t\t6.宿舍查找,\t\t¤¤¤\n"); printf("\n"); printf("\t⊙⊙⊙\t\t7.返回上級,\t\t⊙⊙⊙\n"); printf("\t⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤⊙⊙⊙¤¤¤\n"); printf("請輸入要完成的功能:\n"); scanf("%d",&w1); if(w1<1||w1>7) { printf("輸入錯誤!請重新輸入!\n"); w2=1; } }while(w2==1); if(w1==1) { do { k=-1; do { printf("\n\n請輸入學(xué)號!\n學(xué)號:"); scanf("%s",s.num); for(i=0;i<n;i++) if(strcmp(s.num,stu[i].num)==0) { k=i;s=stu[i]; } if(k==-1) printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); printf("\n請選擇功能?\n\t1).繼續(xù)2).返回菜單[]\b\b"); scanf("%d",&w0); }while(w0==1); menu(); } elseif(w1==2) { do { k=-1; do { printf("\n\n請輸入學(xué)號!\n姓名:"); scanf("%s",); for(i=0;i<n;i++) if(strcmp(,stu[i].name)==0) { k=i;s=stu[i]; } if(k==-1) printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); printf("\n請選擇功能?\n\t1).繼續(xù)2).返回菜單[]\b\b"); scanf("%d",&w0); }while(w0==1); menu(); } elseif(w1==5) { do { k=-1; do { printf("\n\n請輸入樓層!\n樓層:"); scanf("%s",s.floor); for(i=0;i<n;i++) if(strcmp(s.floor,stu[i].floor)==0) { k=i;s=stu[i]; } if(k==-1) printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); printf("\n請選擇功能?\n\t1).繼續(xù)2).返回菜單[]\b\b"); scanf("%d",&w0); }while(w0==1); menu(); } elseif(w1==6) { do { k=-1; do { printf("\n\n請輸入宿舍!\n宿舍:"); scanf("%s",s.room); for(i=0;i<n;i++) if(strcmp(s.room,stu[i].room)==0) { k=i;s=stu[i]; } if(k==-1) printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); printf("\n請選擇功能?\n\t1).繼續(xù)2).返回菜單[]\b\b"); scanf("%d",&w0); }while(w0==1); menu(); } elseif(w1==3) { do { k=-1; do { printf("\n\n請輸入電話號!\n電話號:"); scanf("%s",s.phone); for(i=0;i<n;i++) if(strcmp(s.phone,stu[i].phone)==0) { k=i; s=stu[i]; } if(k==-1)printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); printf("\nWhatdoyouwanttodo?\n\t1).繼續(xù)2).返回菜單[]\b\b"); scanf("%d",&w0); }while(w0==1); menu(); } elseif(w1==4) { do { k=-1; do { printf("\n\n請輸入QQ號!\nQQnum:"); scanf("%s",s.QQnum); for(i=0;i<n;i++) if(strcmp(s.QQnum,stu[i].QQnum)==0) { k=i; s=stu[i]; } if(k==-1)printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); printf("\n請選擇功能?\n\t1).繼續(xù)2).返回菜單[]\b\b"); scanf("%d",&w0); }while(w0==1); menu(); } else { menu(); }}voidDelete(){ structstudents; inti,n,k,w0,w1; n=load(); do { k=-1; printf_n(n); do { printf("\n\n輸入要刪除學(xué)生的學(xué)號!\n學(xué)號:"); scanf("%s",s.num); for(i=0;i<n;i++) if(strcmp(s.num,stu[i].num)==0){k=i;s=stu[i];} if(k==-1) printf("\n\n沒有記錄請重新輸入!"); }while(k==-1); printf_one(k); printf("\n確定?\n\t1).是2).返回[]\b\b"); scanf("%d",&w0); if(w0==1) { stu[k].num[0]='\0'; save(n); }elsebreak; n=load(); print

溫馨提示

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

評論

0/150

提交評論