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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論