




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上 課程設計任務書 計算機科學與技術 專業(yè) 2010 年級 一 班 陳金利 一、 設計題目教師信息管理系統(tǒng)設計二、 主要內容 教師信息包括教師號、姓名、性別、年齡、學歷、職稱、工資、住址、電話等(教師號不重復)。試設計一教師信息管理系統(tǒng),使之能提供以下功能:(1)系統(tǒng)以菜單方式工作v(2)教師信息錄入功能輸入v(3)教師信息刪除功能v(4)教師信息瀏覽功能 輸出v(5)查詢和排序功能:(至少一種查詢方式) 算法vl 按教師號查詢l 按職稱查詢等三、 具體要求 圍繞課程設計的目的和意義,基本要求如下: 1、認真閱讀C語言課程設計指導書,明確課程設計的目的、意義和要求; 2
2、、快速總結C程序設計語言的精髓,如:函數(shù)的概念、函數(shù)的設計和函數(shù)的調用;3、 快速熟悉Tuber C 或C+的上機環(huán)境。能熟練進行高級編輯操作(特別是字塊操作);熟悉步進式、斷點跟蹤的程序調試方法,提高工作效率。 4、根據(jù)“課程設計題目”,采用結構化的程序設計思想,確定系統(tǒng)的總體設計方案、確"定時間進度。如果是多人共一題,則要首先完成小組內的人員分工及安排,不允許重題現(xiàn)象。 5學習并了解良好的程序設計風格。按質、按量、并按時間完成課程設計的任務。 6提供可運行的課程設計系統(tǒng),參加上機面試答辯。本次課程設計的重點是:學會設計并編寫函數(shù),掌握好各函數(shù)之間的調用關系;利用文件操作函數(shù),建立
3、數(shù)據(jù)庫并完成對數(shù)據(jù)庫的各種操作;掌握幾種典型算法的應用(如:冒泡法、選擇排序法和折半查找法)。同時鍛煉學生根據(jù)題目進行分析、設計、編碼、調試程序和書寫必要文檔的綜合處理能力,從實踐中學習并體會程序設計的結構化思想和設計方法。四、 進度安排 依照教學計劃,課程設計時間為3周。按照軟件工程的思想,軟件系統(tǒng)的分析設計至關重要,并要充分重視書寫“文檔”。避免甚至杜絕“拿到題目就編碼”的現(xiàn)象。建議將時間分為三個階段:第一階段,根據(jù)題目要求,拿出系統(tǒng)的總體設計方案:即構思各程序模塊的算法,并畫出相應的N-S圖,同時編寫相應的文檔;第二階段,根據(jù)N-S圖編寫程序代碼并單獨調試,再將調試通過的各個子模塊進行集
4、成調試;第三階段,歸納文檔資料,按要求填寫在課程設計說明書上,并參加答辯。三個階段時間分配的大概比例是: 35:45:20。五、 完成后應上交的材料1課程設計的題目、系統(tǒng)的總功能和各子模塊的功能;2題目的設計思想(或算法)簡述;3主要程序的框圖(要求用N-S圖);4源程序代碼(要求在關鍵的位置有注釋,從而增加程序的可讀性);5課程設計的總結報告,主要包括以下內容:(1)課程設計中遇到的主要問題和解決方法;(2)你的創(chuàng)新和得意之處;(3)設計中存在的不足及改進的設想;(4)本次課程設計的感想和心得體會。 以上完成的源程序及相關文檔,填寫在課程設計說明書上,要求干凈整潔,符合課程設計的要求和規(guī)范。
5、六、 總評成績 指導教師 簽名日期 年 月 日 系 主 任 審核日期 年 月 日目錄1 題目設計思想簡述·······································52 程序的NS圖·
6、;·········································72.1總程序的NS圖·······
7、······························72.2各子函數(shù)的NS圖··················
8、·················72.2.1教師信息錄入函數(shù)······························
9、3;····82.2.2教師信息瀏覽函數(shù)···································82.2.3教師信息刪除函數(shù)······
10、·····························92.2.4教師信息查詢函數(shù)··················
11、3;················92.2.5教師信息排序函數(shù)·······························
12、183;··103 源程序代碼·············································114 程
13、序運行效果圖········································334.1登陸界面·······
14、83;···································334.2菜單欄·············&
15、#183;·······························334.3錄入功能················
16、3;··························344.4瀏覽功能······················&
17、#183;····················344.5刪除功能···························
18、3;···············354.6查詢功能·································&
19、#183;·········354.7排序功能······································
20、3;····365 總結報告············································
21、183;·375.1課程設計中遇到的主要問題和解決方法·················375.2你的創(chuàng)新和得意之處·························
22、183;·······375.3設計中存在的不足及改進的設想·······················375.4本次課程設計的感想和心得體會·············
23、··········38主函數(shù)1 題目設計思想簡述退 出 系 統(tǒng)教師信息排序的函數(shù)瀏覽教師信息的函數(shù)刪除教師信息的函數(shù)查詢教師信息的函數(shù)錄入教師信息的函數(shù) 菜單欄函數(shù)識別口令的函數(shù) 如上圖所示,該教師信息管理系統(tǒng)主要是一個以動態(tài)鏈表的應用為基礎來實現(xiàn)對教師信息的錄入,查詢,刪除等功能。定義教師結構體如下:struct teacherlong num;/教師號char name20;/姓名char sex5;/性別int age;/年齡char edu20;/學歷char title20;/職稱l
24、ong wage;/工資char addr100; /地址char telep15;/電話struct teacher *next;*head=NULL;主函數(shù)只進行口令函數(shù)和菜單欄函數(shù)的調用,主要工作通過菜單函數(shù)實現(xiàn)。口令為。菜單欄函數(shù)通過用switch語句實現(xiàn)不同功能的選擇,不同的功能用不同的子函數(shù)實現(xiàn)。錄入教師信息通過建立動態(tài)單鏈表來實現(xiàn)。瀏覽教師信息則通過將鏈表所有數(shù)據(jù)順序輸出來實現(xiàn)。查詢功能只要從鏈表頭開始不斷往下一個結點讀取信息跟所要查 找的信息比較,直到讀取到的信息跟所要查找的信息相同或鏈表尾為止,并把此結點的信息輸出。刪除教師信息的函數(shù)是通過查找鏈表中有該信息的結點后將該結點移
25、出鏈表,即使該結點前一個結點直接指向該結點后面的結點來達到刪除信息的目的。 排序函數(shù)是通過交換結點在鏈表中的位置來實現(xiàn)的,即使得各結點在鏈表中的位置便是所要得到的排序該信息應在的位置,這樣直接順序輸出鏈表的信息時就能按所要的排序輸出了。2 程序的NS圖2.1總程序的NS圖i=0輸入口令a 當i<3 當b<1或b>6 T a=? F 假i=i+1退出循環(huán)口令3次輸入錯誤 , 退出系統(tǒng)教師信息錄入功 能教師信息瀏覽功 能教師信息刪除功 能T b=4? F T b=3? FT b=2? F T b=1? F重新輸入所要選擇的功能b輸入所選擇的功能bT i=3? F 教師信息查詢功
26、能T b=5? F 退出系統(tǒng)教師信息排序功 能 說明:各功能都是通過調用子函數(shù)來實現(xiàn)的。2.2各子函數(shù)的NS圖子函數(shù)主要包括教師信息錄入,教師信息瀏覽,教師信息刪除,教師信息查詢和教師信息排序等5個。在退出系統(tǒng)時調用了一個保存信息到文件中的函數(shù),該函數(shù)只是簡單的應用了文件的讀寫功能,在此不寫出其NS圖。2.2.1教師信息錄入函數(shù)p1=(struct teacher *)malloc(LEN)輸入一個教師號p1->numn=n+1n輸入教師的姓名,性別,年齡,學歷,職稱,月薪,住址,電話T 第一個錄入? F 當教師號不為0p3=p3->nextHead=p1p3->next=p
27、1 當p3->next不為空p3=headT 鏈表頭為空? FT 教師號為0? Fhead=p1p2->next=p1p2=p1p1=(struct teacher *)malloc(LEN)輸入一個教師號p1->nump2->next=NULL說明:p1=(struct teacher *)malloc(LEN)中LEN是在程序開頭的宏定義(#define LEN sizeof(struct teacher)。其中n為全局變量,用來統(tǒng)計鏈表的結點數(shù),以下出現(xiàn)的n都是同一個。2.2.2教師信息瀏覽函數(shù)p=headT 鏈表頭為空? F 直到p為空輸出p所指向的位置中的教師
28、的所有信息顯示“還未錄入過信息”p=p->next說明:實際程序中在鏈表頭為空是提供了可以瀏覽之前保存在文件中的信息的功能,當選擇該功能時就調用了一個讀取文件的函數(shù)。該函數(shù)只是對文件讀寫的簡單應用,詳細請看后面第三部分代碼,這里不寫出其N-S圖。T 鏈表頭為空? F2.2.3教師信息刪除的函數(shù)輸出“ 還未 錄入 過教 師信 息” 當i!=p1->num輸出“已錄入的教師信息中沒有該教師號”T p1為鏈表頭? F n=n-1head=p1->nextp2->next=p1->nextT i!=p1->num? F 退出循環(huán)p1=p1->nextp2=p1
29、T p1->next為空? Fp1=head輸入要刪除教師信息的教師號i2.2.4教師信息查詢的函數(shù)在查詢方面程序為用戶提供了4種不同方式的查詢,每一種方式的查詢?yōu)橐粋€子函數(shù),此時也是采用一個菜單欄函數(shù)進行選擇查詢方式并調用該種方式的函數(shù)。菜單欄函數(shù)跟主程序菜單欄的算法一樣,j=0 此處只給出查詢函數(shù)的NS圖。T 鏈表頭為空? F輸出“還未錄入程序”并退出函數(shù) 當p非空時輸出“已錄入的信息中不存在符合i的信息的教師T j不為0? Fp=p->nextj=j+1輸出p所指向的位置的教師的所有信息T i跟p中對應信息不等? Fp=head輸入要查找的教師信息的對應方法的對應數(shù)據(jù)i 說明
30、:該NS圖是對應姓名,教師號,職稱,年齡四種查找方式的函數(shù)的。當選擇教師號查找時,輸入i的即為教師號,與i做比較的為p中的教師號,選擇其他查找方式時類似。2.2.5教師信息排序函數(shù)T 鏈表頭不為空? F排序也跟查詢一樣給出多種排序方式并采用菜單欄函數(shù),此處也只給出排序函數(shù)的NS圖。p2=head->nextp1=headT 第二個結點為空? F輸出“還未錄入過教師信息”并退出函數(shù) 調用教師信息瀏覽函數(shù) 當i小于n時 當j小于n-i時p2=p1->nextp1=headp2=p2->nextp1=p2p3=p1p2=p4p3=p2p1->next=p4p2->nex
31、t=p1p4=p2->nextp3->next=p2head=p2T p1為鏈表頭? F p1中的對應信息小過p2的? T F j=0i=1說明:p1,p2指向的結點用來比較,p3,p4是用來記錄結點的,當選用的排序方式不同,p1,p2用來比較的信息為所選方式的信息。3 源程序代碼#include <stdio.h>#include <malloc.h>#include <stdlib.h>#include <string.h>#define LEN sizeof(struct teacher)/宏定義結構體字節(jié)數(shù)int n=0;st
32、ruct teacher/定義結構體long num;/教師號char name20;/姓名char sex5;/性別int age;/年齡char edu20;/學歷char title20;/職稱long wage;/工資char addr100;/地址 char telep15;/電話struct teacher *next;/指向下一個結點*head=NULL;void key()/口令檢查的函數(shù)int i;long a;for(i=0;i<3;i+)printf("請輸入口令(還可輸入%d次):n",3-i); scanf("%ld",&
33、amp;a);if(a=)/檢查口令是否正確printf("歡迎進入系統(tǒng)n");break;else printf("口令錯誤n");if(i=3)/判斷可以輸入口令的次數(shù)是否用完printf("可使用的口令輸入次數(shù)已用完,將自動退出!n");exit(0);void save()/把數(shù)據(jù)存入文件的函數(shù)FILE *fp;int i;char filename20;struct teacher *p;printf("n 是否把此次登錄系統(tǒng)錄入和修改后的教師信息保存到文件中n");printf(" 1:【是】
34、 0:【否】n請選擇:");scanf("%d",&i);while(i!=0)&&(i!=1)/判斷輸入的選擇是否有效printf("選擇無效,請重新輸入正確選項:");scanf("%d",&i);if(i=1)/判斷是否選擇了要保存printf("n請輸入要保存數(shù)據(jù)的文件名:"); scanf("%s",filename); if(fp=fopen(filename,"wb")=NULL)printf("n無法打開文件
35、n"); exit(0); for(p=head;p!=NULL;p=p->next) if(fwrite(p,sizeof(struct teacher),1,fp)!=1) printf("n此處數(shù)據(jù)有誤n");fclose(fp);exit(0);void read()/從文件讀出數(shù)據(jù)的函數(shù)struct teacher teach299,temp;int i=0;FILE *fp;char filename20;printf("n請輸入存有教師信息的文件名:");scanf("%s",filename); if(
36、fp=fopen(filename,"rb")=NULL)printf("n無法打開文件n");exit(0);fseek(fp,-sizeof(struct teacher),2);/*將位置指針從文件末尾后退一個結構體的字節(jié)數(shù)*/fread(&temp,sizeof(struct teacher),1,fp);/*從所指向的文件中讀出數(shù)據(jù)存儲到結構體變量temp中*/fseek(fp,0,0);/將位置指針移到文件的開頭if(fread(&teachi,sizeof(struct teacher),1,fp)=1)/*判斷文件開頭讀入
37、的數(shù)據(jù)是否為空*/printf("n存有的教師信息如下:n");while(teachi.num!=temp.num)/進行循環(huán)讀取文件printf("教師號:%ld,姓名:%s,性別:%s,年齡:%d,學歷:%s,",teachi.num,,teachi.sex,teachi.age,); printf("職稱:%sn 月薪:%ld,住址:%s,電話:%sn",teachi.title,teachi.wage,teachi.addr,teachi.telep); i=i+1; fread(&
38、amp;teachi,sizeof(struct teacher),1,fp);/*從文件中讀入數(shù)據(jù)存儲到結構體變量teach【i】中*/輸出文件中的最后一個信息 printf("教師號:%ld,姓名:%s,性別:%s,年齡:%d,學歷:%s,",teachi.num,,teachi.sex,teachi.age,); printf("職稱:%sn 月薪:%ld,住址:%s,電話:%sn",teachi.title,teachi.wage,teachi.addr,teachi.telep); fclose(fp)
39、;else printf("該文件中無教師信息n");/文件為空時輸出此處void creat()/錄入教師信息的函數(shù)struct teacher *p1,*p2,*p3;p1=p2=(struct teacher *)malloc(LEN);/*申請一個結構體字節(jié)數(shù)的空間用來存儲一個教師的信息*/printf("請輸入一位教師的教師號(結束錄入請輸入0):");scanf("%ld",&p1->num);if(p1->num!=0)/判斷用戶是要結束錄入還是要存儲信息if(head=NULL) head=p1;/
40、*判斷鏈表是否為空,是則將鏈表頭指向p1*/else /鏈表不為空則將鏈表尾指向p1p3=head;/p3用來記錄鏈表的尾部while(p3->next!=NULL)/*若p3不是鏈表尾則將p3指向 下一個結點*/p3=p3->next;p3->next=p1;/將最后一個結點指向p1while(p1->num!=0)/判斷用戶是否結束錄入功能/錄入該教師號的教師對應的信息printf("姓名: ");scanf("%s",p1->name);printf("性別:");scanf("%s&qu
41、ot;,p1->sex);printf("年齡:");scanf("%d",&p1->age);printf("學歷:");scanf("%s",p1->edu);printf("職稱:");scanf("%s",p1->title);printf("月薪:");scanf("%ld",&p1->wage);printf("住址:");scanf("%s&quo
42、t;,p1->addr);printf("電話:");scanf("%s",p1->telep);n=n+1;/給統(tǒng)計錄入的教師數(shù)n加一/*判斷是否為第一個錄入的信息,是則將鏈表頭指向p1,否則將p2指向p1*/ if(n=1) head=p1; else p2->next=p1;p2=p1;/p2用來記錄鏈表的最后一個結點p1=(struct teacher *)malloc(LEN);/重新申請空間printf("請輸入一位教師的教師號(結束錄入請輸入0): ");scanf("%ld",&a
43、mp;p1->num);p2->next=NULL;/將最后一個結點指向空void print()/輸出教師信息的函數(shù)struct teacher *p;int i;p=head;if(head!=NULL)/判斷鏈表是否為空 printf("n這%d位教師的信息為:n",n);doprintf("教師號:%ld,姓名:%s,性別:%s,年齡:%d,學歷:%s,職稱:%sn",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld
44、,住址:%s,電話:%sn",p->wage,p->addr,p->telep);p=p->next;/將下一個結點的首地址賦給pwhile(p!=NULL);/到鏈表尾時結束循環(huán)else/鏈表為空時執(zhí)行以下部分printf("n你此次登錄系統(tǒng)還沒有錄入教師信息,可進行以下操作:n");printf(" 1:【瀏覽以前保存在文件中的教師信息】 2:【開始錄入教師信息】n");printf(" 3:【退出系統(tǒng)】 4:【返回菜單】n");printf("請選擇:");scanf(&qu
45、ot;%d",&i);while(i<1)&&(i>4)printf("選擇無效,請重新輸入正確選項:");scanf("%d",&i);if(i=1) read();/調用從文件讀取數(shù)據(jù)的函數(shù) if(i=2) creat();/調用錄入信息的函數(shù)if(i=3) exit(0);/退出系統(tǒng)void del()/刪除教師信息的函數(shù)struct teacher *p1,*p2;long i;if(head=NULL)/判斷鏈表是否為空printf("n還未錄入過教師信息n");/鏈表為
46、空時輸出return;printf("請輸入要刪除教師信息的教師號:");scanf("%ld",&i);p1=head;while(i!=p1->num)/直到p1指向的結點是要刪除的信息位置if(p1->next=NULL) break;/p1的下個結點為空則退出循環(huán)p2=p1;/p2用來記錄p1的前一個結點p1=p1->next;/p1指向下一個結點if(i=p1->num)/判斷p1是否為要刪除的信息if(p1=head) head=p1->next;/*若p1為頭結點則將頭指針指向p1的下一個結點*/els
47、e p2->next=p1->next;/*p1非頭結點則將p1后面的結點連接到p1前一個結點的后面*/printf("n已刪除教師號為%ld的教師信息n",i);n=n-1;/記錄教師數(shù)的n要減一/p1不是要刪除的信息則表示要刪除的信息不再鏈表中else printf("n已錄入的教師信息中沒有教師號為%ld的n",i);return;void sort1()/按教師號進行排序的函數(shù)struct teacher *p1,*p2,*p3,*p4;int i,j;if(head=NULL)printf("n還未錄入過教師信息n&quo
48、t;);return;if(head->next!=NULL) /判斷是否只有一個信息/用冒泡法排序p1=head;/p1記錄用來比較的兩個結點中的前面一個 p2=head->next;/p2記錄比較的兩個結點中的后面?zhèn)€ for(i=1;i<n;i+)/實現(xiàn)n-1趟比較的外循環(huán) for(j=0;j<n-i;j+)/在每一趟中進行n-i次比較的內循環(huán) if(p1->num>p2->num)/*比較相鄰兩個結點中教師號大小*/當p1的教師號大時則對調兩個結點的位置if(p1=head) head=p2;else p3->next=p2;/*p1為頭結
49、點時則將頭指針指向p2,否則就將p2連接到用來記錄p1前一個結點的p3的后面*/p4=p2->next;/p4用來記錄p2后面的結點p2->next=p1;/p1的結點換到原來p2的位置p1->next=p4;/原來p2后面的結點連接到p1p3=p2;/p3記錄下p2的位置p2=p4;/p2指向原來位置的下一個結點else/*p1中教師號沒有打過p2中教師號,則將p1,p2都指向它們各自位置的下一個結點*/p3=p1;/記錄p1后移一位后它前個結點的位置p1=p2;p2=p2->next;p1=head;/p1指向鏈表頭,開始下一趟外循環(huán)的準備p2=p1->nex
50、t;/p2指向鏈表第二個結點printf("n按教師號排序后的教師信息如下:n");print();/調用教師信息瀏覽函數(shù)void sort2()/按月薪排序的函數(shù),算法跟按教師號排序的一樣struct teacher *p1,*p2,*p3,*p4;int i,j;if(head=NULL)printf("n還未錄入過教師信息n");return;if(head->next!=NULL) p1=head; p2=head->next; for(i=1;i<n;i+) for(j=0;j<n-i;j+) if(p1->wag
51、e>p2->wage)if(p1=head) head=p2;else p3->next=p2;p4=p2->next;p2->next=p1;p1->next=p4;p3=p2;p2=p4;elsep3=p1;p1=p2;p2=p2->next;p1=head;p2=p1->next;printf("n按月薪排序后的教師信息如下:n");print();void sort3()/按年齡排序的函數(shù),算法跟按教師號排序的一樣struct teacher *p1,*p2,*p3,*p4;int i,j; if(head=NULL)
52、printf("n還未錄入過教師信息n");return;if(head->next!=NULL) p1=head; p2=head->next; for(i=1;i<n;i+) for(j=0;j<n-i;j+) if(p1->age>p2->age)if(p1=head) head=p2;else p3->next=p2;p4=p2->next;p2->next=p1;p1->next=p4;p3=p2;p2=p4;elsep3=p1;p1=p2;p2=p2->next;p1=head;p2=p1-
53、>next;printf("n按年齡排序后的教師信息如下:n");print();void choose1()/選擇排序方式的函數(shù)int i;printf(" 排序方式n");printf(" 1:【按教師號排序】 2:【按年齡排序】n");printf(" 3:【按月薪排序】n");printf("請選擇:");scanf("%d",&i); while(i<1)|(i>3)printf("選擇無效,請重新輸入正確選項:");s
54、canf("%d",&i);switch(i) case 1:sort1();break; case 2:sort3();break; case 3:sort2();break;void search1()/按教師號查找的函數(shù)struct teacher *p;long i;/存儲用戶輸入的想要刪除的教師號if(head=NULL)printf("n還未錄入過教師信息n");return;printf("請輸入要查找的教師信息的教師號:"); scanf("%ld",&i);for(p=head;p
55、!=NULL;p=p->next) /p順序指向結點與i比較,找出有i的數(shù)據(jù)的結點并輸出if(p->num=i) printf("教師號:%ld,姓名:%s,性別:%s,年齡:%d,學歷:%s,職稱:%sn",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld,住址:%s,電話:%sn",p->wage,p->addr,p->telep);return;printf("已錄入的教師信息中不存在該教師號n&qu
56、ot;);void search2()/按姓名查找的函數(shù)struct teacher *p;char i20;/記錄用戶輸入的想要刪除的姓名int j=0;/j用來記錄找到了多少個信息if(head=NULL)printf("n還未錄入過教師信息n");return;printf("請輸入要查找的信息的教師姓名:"); scanf("%s",i);for(p=head;p!=NULL;p=p->next)if(strcmp(p->name,i)=0)/比較p指向的結點中的姓名跟i的是否一致,是則輸出 printf(&quo
57、t;教師號:%ld,姓名:%s,性別:%s,年齡:%d,學歷:%s,職稱:%sn",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld,住址:%s,電話:%sn",p->wage,p->addr,p->telep);j=j+1;/每輸出一個教師的信息則j加一if(j=0) printf("已錄入的教師信息中不存在該姓名的教師n");void search3()/按職稱查找的函數(shù),算法與按姓名查找的一樣struct tea
58、cher *p;char i20;int j=0;if(head=NULL)printf("n還未錄入過教師信息n");return;printf("請輸入要查找的信息的教師職稱:"); scanf("%s",i);for(p=head;p!=NULL;p=p->next)if(strcmp(p->title,i)=0) printf("教師號:%ld,姓名:%s,性別:%s,年齡:%d,學歷:%s,職稱:%sn",p->num,p->name,p->sex,p->age,p-&
59、gt;edu,p->title);printf(" 月薪:%ld,住址:%s,電話:%sn",p->wage,p->addr,p->telep); j=j+1;if(j=0) printf("已錄入的教師信息中不存在該職稱的教師n");void search4()/按年齡查找的函數(shù),算法與按教師號查找的一樣struct teacher *p;int i,j=0;if(head=NULL)printf("n還未錄入過教師信息n");return;printf("請輸入要查找的信息的教師年齡:"
60、); scanf("%d",&i);for(p=head;p!=NULL;p=p->next)if(p->age=i)printf("教師號:%ld,姓名:%s,性別:%s,年齡:%d,學歷:%s,職稱:%sn",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld,住址:%s,電話:%sn",p->wage,p->addr,p->telep); j=j+1;if(j=0) printf("已錄入的教師信息中不存在該年齡的教師n");void choose2()/選擇查找方式的函數(shù)int i;printf(" 查詢方式n");printf(" 1:【按教師號查詢】 2:【按姓名查詢】n");printf(" 3:【按職稱查詢】 4:【按年齡查詢】n");printf("請選擇:");scanf("%d",&i);while(i<1)|(i>4)pri
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中物理實驗教學面臨的挑戰(zhàn)與深度學習的解決潛力
- 2025年養(yǎng)老金制度與金融市場投資收益研究報告
- 工作場所中的互動娛樂元素設計研究
- 2025年中國彩色纖維浮雕墻衣行業(yè)投資前景及策略咨詢研究報告
- 基于大數(shù)據(jù)的教育心理學模型構建與應用研究
- 2025年鄉(xiāng)村振興戰(zhàn)略中職業(yè)技能培訓與農(nóng)村生態(tài)農(nóng)業(yè)發(fā)展融合報告
- 浙江省嘉興市八校2024-2025學年高一下學期4月期中考試化學試題(含答案)
- 《數(shù)控車床項目化教學(第四版)》項目六 零件綜合加工和CADCAM加工(章節(jié)任務習題及答案)
- 數(shù)字技術在數(shù)學游戲化教育中的角色與挑戰(zhàn)
- 教育心理學在商業(yè)培訓中的運用
- 旅游景區(qū)安全事故課件
- 中國心力衰竭診斷和治療指南2024解讀
- 《飼料添加劑學》課件
- 2025年長江財產(chǎn)保險股份有限公司招聘筆試參考題庫含答案解析
- (高清版)DB21∕T 2487-2015 中尺度對流天氣分析技術規(guī)范
- 公共設施環(huán)境保護管理方案
- 2025年廣東廣州市越秀區(qū)建設街招聘勞動保障監(jiān)察協(xié)管員1人歷年高頻重點提升(共500題)附帶答案詳解
- 有限空間作業(yè)安全技術規(guī)范(DB3212T 1099-2022)
- 少年志不渝奮斗正當時
- 2025年中電科太力通信科技限公司招聘高頻重點提升(共500題)附帶答案詳解
- 《城鎮(zhèn)用水單位智慧節(jié)水系統(tǒng)技術要求》
評論
0/150
提交評論