學(xué)生通訊錄C語言專業(yè)課程設(shè)計源代碼_第1頁
學(xué)生通訊錄C語言專業(yè)課程設(shè)計源代碼_第2頁
學(xué)生通訊錄C語言專業(yè)課程設(shè)計源代碼_第3頁
學(xué)生通訊錄C語言專業(yè)課程設(shè)計源代碼_第4頁
學(xué)生通訊錄C語言專業(yè)課程設(shè)計源代碼_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Word3......學(xué)生通訊錄C語言專業(yè)課程設(shè)計源代碼Word3......#include<>//程序中所需用到的所有函數(shù)的頭文件//#include<>//清屏,暫停所需頭文件//#include<>//退出所需函數(shù)頭文件//#include<>//字符串函數(shù)//charnamekey[20],numkey[11],phonekey[20];//全局變量,輸入,查詢,修改時要用到//intrshu;voidmenu();//后面主函數(shù)中需要調(diào)用到的函數(shù),為全局變量//voidadd();voidalter();voiddelet();voidsearch();voidhelp();voidorder();voidscan();structstudent//定義一個數(shù)組,儲存所需錄入的信息,整個程序都可以使用//{ charnum[11]; charname[20];charsex[5]; charaddress[50]; charphone[20]; charqq[10];}stu[50];voidmenu(){ intwenjian(); intn; while(1)//循環(huán)使用此函數(shù)// {system("cls");//每次循環(huán)此函數(shù)都清屏// wenjian();//存入文件// printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); printf("\n★→菜單←★\n"); printf("\n\n");printf("\n\n"); printf("\n\n"); printf("\n\n"); printf("\n★→學(xué)生通訊錄←★\n");printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");printf("\n"); printf("請選擇序號(1~8):[]\b\b"); scanf("%d",&n);if(n>0&&n<9) { switch(n) {case1:add();break;case2:alter();break;case3:delet();break;case4:search();break;case5:order();break;case6:scan();break;case7:help();break;case8:exit(0); } } else { printf("您輸入的序號不在范圍內(nèi):\n");system("pause");//暫停,不直接執(zhí)行后續(xù)操作// }}}voidmain()//主函數(shù),運(yùn)行菜單函數(shù)//{ menu();}voidadd()//添加函數(shù),添加通訊錄中的信息//{ inti,n,j,k;charw,m;printf("請輸入所需添加信息條數(shù)(請輸入數(shù)字1~50):");//輸入信息的條數(shù),決定添加多少信息// scanf("%d",&n); for(j=0;;j++) { if(n<1||n>50)//判斷輸入的數(shù)是否在存儲空間中,不滿足,那么重新選擇// { printf("輸入錯誤,請選擇::"); printf("\n輸入您的選擇(1or2):"); scanf("%d",&k); if(k==1)add();//返回添加函數(shù)// if(k==2)menu();//返回主菜單// }elsebreak; } for(i=0;i<n;i++)//輸入信息// { printf("\n請輸入學(xué)號:"); scanf("%s",stu[rshu+i].num);printf("請輸入姓名:"); scanf("%s",stu[rshu+i].name); printf("請輸入性別(morw):"); scanf("%s",stu[rshu+i].sex); for(j=0;;j++) { if(strcmp(stu[rshu+i].sex,"w")!=0&&strcmp(stu[rshu+i].sex,"m")!=0) {//進(jìn)行性別錄入判斷,只能為m或者w,否那么重新輸入// printf("輸入錯誤,請重新輸入:"); printf("\n請輸入性別(morw):"); scanf("%s",stu[rshu+i].sex); } elsebreak; }printf("請輸入通訊地址:");//判斷后繼續(xù)輸入// scanf("%s",stu[rshu+i].address);printf("請輸入:"); scanf("%s",stu[rshu+i].phone);printf("請輸入QQ號:"); scanf("%s",stu[rshu+i].qq); } rshu+=n;//總?cè)藬?shù)增加添加的條數(shù)//printf("\n添加成功!\n");system("pause");//暫停,不直接執(zhí)行后續(xù)操作// menu();//返回主菜單// }voidalter()//修改通訊錄中的信息//{inti,j,k,n;charm,w;if(rshu==0)//當(dāng)人數(shù)為0時,沒有數(shù)據(jù)刪除,用戶選擇是否添加數(shù)據(jù)//{printf("暫無通訊錄數(shù)據(jù),是否添加通訊錄:(按其它數(shù)字那么返回主菜單):\n"); printf("請選擇:"); scanf("%d",&n); if(n==1)add(); elsemenu(); }printf("\n請輸入要修改學(xué)生的姓名:");scanf("%s",namekey);for(i=0;i<rshu;i++) if(strcmp(namekey,stu[i].name)==0)//比較字符串// { printf("\n已查詢到,記錄為:"); printf("\n\n學(xué)號,姓名,性別,通訊地址,,QQ號:"); printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq); break; }if(i==rshu)//當(dāng)i=rshu時,證明整個通訊錄中的學(xué)生都查詢到了,沒有符合的//{ printf("\n沒有該同學(xué)記錄,請繼續(xù)選擇操作:\n"); printf("\n請選擇:(其它數(shù)字鍵那么返回主菜單)"); scanf("%d",&n); if(n==1)alter(); elsemenu(); }else{system("pause");system("cls");printf("\n\n學(xué)號,姓名,性別,通訊地址,,QQ號:"); printf("\n%s,%s,%s,%s,%s,%s",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); printf("\n\n請選擇要修改的信息且一次操作只能修改一次:");printf("\n\n");//滿足各種需要修改的信息//printf("\n\n");printf("\n\n"); printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); printf("\n請選擇(1~6):"); scanf("%d",&k); if(k<1||k>6) { printf("輸入有誤,"); printf("\n輸入您的選擇(1or2):"); scanf("%d",&n);if(n==1)alter(); if(n==2)menu(); } if(k==1)//修改學(xué)號// { printf("\n請輸入新數(shù)據(jù):"); printf("\n請輸入學(xué)號:");scanf("%s",stu[i].num); }if(k==2) { printf("\n請輸入新數(shù)據(jù):");printf("請輸入姓名:"); scanf("%s",stu[i].name); } if(k==3)//修改通訊地址// { printf("\n請輸入新數(shù)據(jù):");printf("請輸入通訊地址:"); scanf("%s",stu[i].address); } if(k==4)//修改// { printf("\n請輸入新數(shù)據(jù):");printf("請輸入:"); scanf("%s",stu[i].phone); } if(k==5)//修改QQ號// { printf("\n請輸入新數(shù)據(jù):");printf("請輸入QQ號:"); scanf("%s",stu[i].qq); } if(k==6)//修改全部信息// { printf("\n請輸入新數(shù)據(jù):"); printf("\n請輸入學(xué)號:"); scanf("%s",stu[i].num);printf("請輸入姓名:"); scanf("%s",stu[i].name); printf("請輸入性別(morw):"); scanf("%s",stu[i].sex); for(j=0;;j++) { if(strcmp(stu[i].sex,"w")!=0&&strcmp(stu[i].sex,"m")!=0) { printf("輸入錯誤,請重新輸入:"); printf("\n請輸入性別(morw):"); scanf("%s",stu[i].sex); } elsebreak; }printf("請輸入通訊地址:"); scanf("%s",stu[i].address);printf("請輸入:"); scanf("%s",stu[i].phone);printf("請輸入QQ號:"); scanf("%s",stu[i].qq); }}printf("修改成功!\n"); printf("是否需要查看修改后的信息:是(按1)or否(按2):"); scanf("%d",&k); if(k==1) { printf("\n學(xué)號,姓名,性別,通訊地址,,QQ號:"); printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);printf("\n可返回主菜單\n"); } if(k==2) { printf("\n可返回主菜單\n"); }system("pause");//暫停,不直接執(zhí)行后續(xù)操作// menu();}voiddelet()//刪除函數(shù)//{inti,k,n;char*s;//定義一個字符指針變量//if(rshu==0)//當(dāng)人數(shù)為0時,沒有數(shù)據(jù)刪除,用戶選擇是否添加數(shù)據(jù)//{printf("暫無通訊錄數(shù)據(jù),是否添加通訊錄:(按其它數(shù)字鍵那么返回主菜單):\n"); printf("請選擇:"); scanf("%d",&n); if(n==1)add(); elsemenu();}printf("\n請輸入要刪除學(xué)生的姓名:");scanf("%s",namekey);for(i=0;i<rshu;i++) if(strcmp(namekey,stu[i].name)==0)//判斷輸入名字是否在通訊錄中有記錄,進(jìn)行字符串比較// { printf("\n已查詢到,記錄為:"); printf("\n學(xué)號,姓名,性別,通訊地址,,QQ號:");//顯示查詢到的信息// printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq); break; }if(i==rshu){ printf("\n沒有該同學(xué)記錄,請繼續(xù)選擇操作:\n"); printf("\n請選擇:(其它數(shù)字鍵那么返回主菜單)"); scanf("%d",&n); if(n==1)delet(); elsemenu(); }else{ system("pause");system("cls"); printf("\n\n學(xué)號,姓名,性別,通訊地址,,QQ號:");printf("\n%s,%s,%s,%s,%s,%s",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);printf("\n*******************************************************************************"); printf("\n\n請選擇需要刪除的信息:"); printf("\n\n****************************************"); printf("\n\n********************************************"); printf("\n\n***************************************************************"); printf("\n*******************************************************************************"); printf("\n\n按其它數(shù)字鍵那么不刪除信息且返回主菜單,請選擇:");scanf("%d",&k); if(k==1) { printf("\n是否刪除該學(xué)生<學(xué)號>信息:刪除(按1)or不刪除(按其它任意數(shù)字鍵):");scanf("%d",&n); if(n==1) { s=stu[i].num;//將所查詢到的姓名所在地址賦給s//*s=0;//s所指的值為0,原值將被刪除// printf("已刪除!\n"); } else { printf("請選擇:(按其它數(shù)字鍵那么返回主菜單)\n"); scanf("%d",&n); if(n==1)alter(); elsemenu(); } }if(k==2) { printf("\n是否刪除該學(xué)生<通訊地址>信息:刪除(按1)or不刪除(按其它任意數(shù)字鍵):");scanf("%d",&n); if(n==1) { s=stu[i].address;//將所查詢到的通訊地址所在地址賦給s// *s=0;//s所指的值為0,原值將被刪除// printf("已刪除!\n"); } else { printf("請選擇:(按其它數(shù)字鍵那么返回主菜單)\n"); scanf("%d",&n); if(n==1)alter(); elsemenu(); } } if(k==3) { printf("\n是否刪除該學(xué)生<>信息:刪除(按1)or不刪除(按其它任意數(shù)字鍵):");scanf("%d",&n); if(n==1) { *(stu[i].phone)=0;//將地址所指函數(shù)的值賦為,那么原值刪除// printf("已刪除!\n"); } else { printf("請選擇:(按其它數(shù)字鍵那么返回主菜單)\n"); scanf("%d",&n); if(n==1)alter(); elsemenu(); } } if(k==4) { printf("\n是否刪除該學(xué)生<QQ號>信息:刪除(按1)or不刪除(按其它任意數(shù)字鍵):");scanf("%d",&n); if(n==1) { *(stu[i].qq)=0;//將地址所指函數(shù)的值賦為,那么原值刪除// printf("已刪除!\n"); } else { printf("請選擇:(按其它數(shù)字鍵那么返回主菜單)\n"); scanf("%d",&n); if(n==1)alter(); elsemenu(); } } if(k==5) { printf("\n是否刪除該學(xué)生<全部>信息:刪除(按1)or不刪除(按其它任意數(shù)字鍵):");scanf("%d",&n); if(n==1) { stu[i]=stu[i+1]; printf("已刪除!\n"); } else { printf("請選擇:(按其它數(shù)字鍵那么返回主菜單)\n"); scanf("%d",&n); if(n==1)alter(); elsemenu(); } }} if(k==5&&n==1)//當(dāng)刪除全部信息后,人數(shù)才減,其它刪除操作不改變?nèi)藬?shù)個數(shù)// rshu-=1; system("pause");}voidsearch()//查詢函數(shù)//{ voidxm();voidxh(); voiddh(); intn;system("cls");//清屏,把主菜單的目錄覆蓋掉,只顯示查詢界面// printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");printf("\n★→查詢界面←★\n"); printf("\n"); printf(" ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n"); printf("|\n"); printf("―――――――――――――――――――|――――――――――――――――――――\n");printf("|\n");printf("__________________|___________________\(yùn)n");printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf("\n"); while(1) { printf("請選擇序號(1~4):[]\b\b"); scanf("%d",&n);if(n>0&&n<5) { switch(n) {case1:xm();break;case2:xh();break;case3:dh();break;case4:menu(); } } else { printf("您輸入的序號不在范圍內(nèi),請輸入[1~4]:\n"); } }}voidxm()//按姓名查詢函數(shù)//{ inti,n;if(rshu==0)//當(dāng)人數(shù)為0時,沒有數(shù)據(jù)查詢,用戶選擇是否添加數(shù)據(jù)// {printf("暫無通訊錄數(shù)據(jù),是否添加通訊錄:(按其它數(shù)字鍵那么返回主菜單):\n"); printf("請選擇:"); scanf("%d",&n); if(n==1)add(); elsemenu(); } printf("\n請輸入要查詢的姓名:");scanf("%s",namekey);for(i=0;i<rshu;i++) if(strcmp(namekey,stu[i].name)==0) { printf("\n已查詢到,記錄為:");printf("\n姓名,學(xué)號,性別,通訊地址,,QQ號:"); printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq); system("pause"); break; }if(i==rshu) { printf("沒有該同學(xué)記錄,請繼續(xù)選擇操作:\n"); system("pause"); return;//回到查詢界面選擇// }}voidxh()//按學(xué)號查詢函數(shù)//{ inti,n; if(rshu==0)//當(dāng)人數(shù)為0時,沒有數(shù)據(jù)查詢,用戶選擇是否添加數(shù)據(jù)// {printf("暫無通訊錄數(shù)據(jù),是否添加通訊錄:(按其它數(shù)字鍵那么返回主菜單):\n"); printf("請選擇:"); scanf("%d",&n); if(n==1)add(); elsemenu(); }printf("\n請輸入要查詢的學(xué)號:");scanf("%s",numkey);for(i=0;i<rshu;i++) if(strcmp(numkey,stu[i].num)==0) { printf("\n已查詢到,記錄為:");printf("\n學(xué)號,姓名,性別,通訊地址,,QQ號:"); printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq); system("pause"); break; }if(i==rshu) { printf("沒有該同學(xué)記錄,請繼續(xù)選擇操作:\n"); system("pause"); return; }}voiddh()//按查詢函數(shù)//{ inti,n; if(rshu==0)//當(dāng)人數(shù)為0時,沒有數(shù)據(jù)查詢,用戶選擇是否添加數(shù)據(jù)// {printf("暫無通訊錄數(shù)據(jù),是否添加通訊錄:(按其它數(shù)字鍵那么返回主菜單):\n"); printf("請選擇:"); scanf("%d",&n); if(n==1)add(); elsemenu(); }printf("\n請輸入要查詢的:");scanf("%s",phonekey);for(i=0;i<rshu;i++) if(strcmp(phonekey,stu[i].phone)==0) { printf("\n已查詢到,記錄為:");printf("\n,學(xué)號,姓名,性別,通訊地址,QQ號:"); printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].phone,stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].qq); system("pause"); break; }if(i==rshu) { printf("沒有該同學(xué)記錄,請繼續(xù)選擇操作:\n"); system("pause"); return; }}voidhelp()//幫助函數(shù)//{ system("cls"); printf("\n~~~~~~~~~~~~~~~~~~~##########歡迎使用幫助菜單##########~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\n**本系統(tǒng)為學(xué)生通訊錄系統(tǒng),管理學(xué)生通訊錄信息**\n"); printf("\n**您可在本系統(tǒng)實(shí)現(xiàn)添加、刪除、修改、查詢、排序等操作**\n"); printf("\n**請在選擇操作時,注意查看操作提示,請您注意看清選項(xiàng)**\n"); printf("\n**望您按照提示信息準(zhǔn)確輸入!**\n"); printf("\n**如有不便,請見諒**\n"); printf("-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||-_-||");system("pause");}voidorder()//排序函數(shù)//{intn;voidnum();voidname();system("cls");//清屏,把主菜單的目錄覆蓋掉,只顯示排序界面//printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");printf("\n★→請選擇所需選項(xiàng)←★\n");printf("\n-------------------------------------------------------------------------------");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");printf("\n");while(1) {printf("請選擇序號(1~3):[]\b\b");scanf("%d",&n);if(n>0&&n<4) {switch(n) {case1:num();break;case2:name();break;case3:menu(); } }else {printf("您輸入的序號不在范圍內(nèi),請輸入[1~3]:\n"); } }}voidnum()//排序函數(shù)中需要調(diào)用的一個函數(shù),按學(xué)號排序//{inti,j,n;structstudenttemp;//定義一個新的結(jié)構(gòu)體儲存//if(rshu==0){printf("暫無通訊錄數(shù)據(jù),是否添加通訊錄:(按其它數(shù)字鍵那么返回主菜單):\n"); printf("請選擇:"); scanf("%d",&n); if(n==1)add(); elsemenu(); }for(i=0;i<rshu-1;i++)//選擇法進(jìn)行排序//{

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論