版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機(jī)科學(xué)與技術(shù)系課程設(shè)計任務(wù)及成績評定表專業(yè):計算機(jī)科學(xué)與技術(shù)系 教研室:學(xué)號姓名班級課程設(shè)計題目單位員工通訊錄管理系統(tǒng)的設(shè)計設(shè)計的任務(wù)與要求(1)掌握數(shù)據(jù)結(jié)構(gòu)編程的基礎(chǔ)知識。(2)較熟練地編寫數(shù)據(jù)結(jié)構(gòu)應(yīng)用程序。(3)了解數(shù)據(jù)結(jié)構(gòu)的常用標(biāo)準(zhǔn)函數(shù)、編程技巧、異常處理。(4)聯(lián)系已學(xué)過的內(nèi)容,鞏固所學(xué)的理論,增強(qiáng)獨立學(xué)習(xí)能力。(5)通過設(shè)計主要使學(xué)生有一個獨立編寫程序的過程,對理論學(xué)習(xí)及動手能力有一個較大的提高。(6)通過本次設(shè)計,使學(xué)生對本專業(yè)有進(jìn)一步的了解,進(jìn)一步培養(yǎng)學(xué)生熱愛專業(yè)的思想,同時對本專業(yè)綜合素質(zhì)的提高起積極的推動作用。(7)課程設(shè)計過程中,要嚴(yán)格遵守實踐環(huán)節(jié)的時間安排,聽從指導(dǎo)教
2、師的指導(dǎo)。正確地完成上述內(nèi)容,做好記錄(日記),規(guī)范完整地撰寫出課程設(shè)計報告。學(xué)生課程設(shè)計方案綜述#include <stdio.h>#include <string.h>#include<stdlib.h> typedef struct /*員工通訊信息的結(jié)構(gòu)類型定義*/ char num5; /*員工編號*/ char name15; /*員工姓名*/ char sex15; /*員工性別*/ char phone13; /*手機(jī)號碼*/ char call15; /*辦公室電話號碼*/ char e_mail30; /*員工郵箱*/datatype;
3、/*通訊錄單鏈表的結(jié)點類型*/ typedef struct node datatype data; /*結(jié)點的數(shù)據(jù)域*/ struct node * next; /*結(jié)點的指針域*/ Dnode;Dnode *head;Dnode *p;typedef struct node linklist;int menu() int i; printf("ntt*單位員工通訊錄管理系統(tǒng)*n"); printf("ntt| 1.通訊錄的建立 |n"); 學(xué)生課程設(shè)計方案綜述(續(xù)) printf("ntt| 2.添加員工信息 |n"); prin
4、tf("ntt| 3.刪除員工信息 |n"); printf("ntt| 4.查詢員工信息 |n"); printf("ntt| 5.輸出員工信息 |n"); printf("ntt| 6.修改員工信息 |n"); printf("ntt| 0.結(jié)束所有操作 |n"); printf("ntt| 請選擇(0-6): |n"); printf("ntt*n"); scanf("%d",&i);return i;Dnode *cre
5、atelist()Dnode *head=(Dnode *)malloc(sizeof(Dnode);Dnode *p;Dnode *rear;char c='n' rear=head;while(c='n') p=(Dnode *)malloc(sizeof(Dnode); printf("請輸入編號: n"); scanf("%s",p->data.num); printf("請輸入姓名: n"); scanf("%s",p->); printf(&
6、quot;請輸入性別: n"); scanf("%s",p->data.sex); printf("請輸入手機(jī)號碼: n"); scanf("%s",p->data.phone); printf("請輸入辦公室電話號碼: n"); scanf("%s",p->data.call); printf("請輸入電子郵箱: n"); scanf("%s",p->data.e_mail); rear->next=p; rear
7、=p; scanf("%c",&c); rear->next=NULL; return head;void Add(Dnode *head,Dnode *p) Dnode *p1; Dnode *p2;學(xué)生課程設(shè)計方案綜述(續(xù)) p1=head; p2=p1->next; while(p2!=NULL&&strcmp(p2->data.num,p->data.num)<0) p1=p2; p2=p2->next; p1->next=p; p->next=p2;void Delete(Dnode *hea
8、d) char a,b; Dnode *p; Dnode *q; char num5; char name10; int x; printf("1.按編號刪除n"); printf("2.按姓名刪除n "); printf("請選擇(1或2): "); p=head->next; scanf("%d",&x); if(x=1) printf("請輸入要查詢者的編號:"); scanf("%s",num); while(p&&strcmp(p-&g
9、t;data.num,num)<0) p=p->next; if(p=NULL|strcmp(p->data.num,num)>0) p=NULL; if(x=2) printf("請輸入要查詢者的姓名:"); scanf("%s",name); while(p&&strcmp(p->,name)!=0) p=p->next; scanf("%c",&b); if(p=NULL)學(xué)生課程設(shè)計方案綜述(續(xù)) printf("對不起沒有您要查詢者的信息
10、n"); return; printf("要刪除該結(jié)點嗎?(y/n) :"); scanf("%c",&a); printf("通訊者已經(jīng)被刪除 n");Dnode *research(Dnode *head) Dnode *p; char num5; char name10; char phone15; char call15; int x; printf("1.按編號查詢:n"); printf("2.按姓名查詢:n"); printf("3.按手機(jī)號碼查詢:n&
11、quot;); printf("4.按辦公室電話號碼查詢:n"); printf("請選擇(1-4): "); p=head->next; scanf("%d",&x); if(x=1) printf("請輸入要查詢者的編號:"); scanf("%s",num); while(p&&strcmp(p->data.num,num)<0) p=p->next; if(p=NULL|strcmp(p->data.num,num)>0) p=
12、NULL; if(x=2) printf("請輸入要查詢者的姓名:"); scanf("%s",name); while(p&&strcmp(p->,name)!=0) p=p->next; if(x=3)學(xué)生課程設(shè)計方案綜述(續(xù)) printf("請輸入要查詢者的手機(jī)號碼:"); scanf("%s",phone); while(p&&strcmp(p->data.phone,phone)!=0) p=p->next; if(x=4) pr
13、intf("請輸入要查詢者的辦公室電話號碼:"); scanf("%s",call); while(p&&strcmp(p->data.call,call)!=0) p=p->next; return p;void print_list(Dnode *head) Dnode *p; p=head->next; printf("編號 姓名 性別 手機(jī)號碼 辦公室電話號碼 郵箱n"); while(p!=NULL) printf("%-5st",p->data.num); pri
14、ntf("%-10st",p->); printf("%-10st",p->data.sex); printf("%-10st",p->data.phone); printf("%-10st",p->data.call); printf("%-15stn",p->data.e_mail); p=p->next; Dnode *Change(Dnode *head,char k) Dnode *q; q=research(head); if(q
15、=0) printf("沒有要修改的信息!n"); return 0; else 學(xué)生課程設(shè)計方案綜述(續(xù)) int i; k15='0' printf("編號 姓名 性別 手機(jī)號碼 辦公室電話號碼 郵箱n"); printf("%-5st%-10st%-10st%-10st%-15stn",q->data.num,q->,q->data.phone,q->data.call,q->data.e_mail); printf("1-修改姓名n");pri
16、ntf("2-修改性別n"); printf("3-修改手機(jī)號碼n"); printf("4-修改辦公室電話號碼n"); printf("5-修改電子郵箱n"); printf("請選擇按鍵(1-5):n"); scanf("%d",&i); switch(i) case 1: printf("修改姓名-n"); strcpy(q->,k); printf("請輸入要改的姓名:n"); getchar()
17、; gets(k); printf("n"); strcpy(q->,k); break; case 2: printf("修改性別-n"); strcpy(q->data.sex,k); printf("請輸入要修改的性別:n"); getchar(); gets(k); printf("n"); strcpy(q->data.sex,k ); break; case 3: printf("修改手機(jī)號碼-n"); strcpy(q->data.phon
18、e,k); printf("請輸入要修改的號碼:n"); getchar(); gets(k); printf("n"); strcpy(q->data.phone,k ); break; case 4: printf("修改辦公室電話號碼-n"); strcpy(q->data.call,k); printf("請輸入要修改的號碼:n"); getchar(); 學(xué)生課程設(shè)計方案綜述(續(xù)) gets(k); printf("n"); strcpy(q->data.call,k
19、); break; case 5: printf("修改電子郵箱-n"); strcpy(q->data.e_mail,k); printf("請輸入要修改的電子郵箱:n"); getchar(); gets(k); printf("n"); strcpy(q->data.e_mail,k); break; default :printf("輸入錯誤!n");break; return q; void Saveandfree() linklist *p=NULL; FILE *fp; char *zil
20、iao="ziliao.txt" if(head=NULL) printf("n記錄為空!n"); return; else p=head->next; if(fp=fopen(ziliao,"wb+")=NULL) printf("n打不開文件!n"); return; while(p!=NULL) fwrite(p,sizeof(linklist),1,fp); p=p->next; printf("保存完畢!n"); fclose(fp); for( ;head->nex
21、t!=NULL; )學(xué)生課程設(shè)計方案綜述(續(xù)) p=head->next; head->next=head->next->next; free(p); free(head);void Open() FILE *fp; linklist *p1=NULL,*p2=NULL,*temp=NULL; if(fp=fopen("ziliao.txt","rb+")=NULL) printf("ntt*通訊錄*n"); return; head=(linklist *)malloc(sizeof(linklist); h
22、ead->next=NULL; temp=p2=head; while(! feof(fp) p1=(linklist *)malloc(sizeof(linklist); temp=p2; p2->next=p1; p2=p1; fread(p1,sizeof(linklist),1,fp); temp->next=NULL; fclose(fp); void main()Open();while(1)system("color 3E");switch(menu() case 1: printf("tt*n"); printf(&qu
23、ot;tt 通 訊 錄 鏈 表 的 建 立 n"); printf("tt*n"); head=createlist(); break;學(xué)生課程設(shè)計方案綜述(續(xù)) case 2:p=(Dnode *)malloc(sizeof(Dnode); printf("tt*n"); printf("tt 通 訊 者 信 息 的 添 加 n"); printf("tt*n"); printf("員工編號: n");scanf("%s",p->data.num); pri
24、ntf("員工姓名: n");scanf("%s",p->); printf("員工性別: n");scanf("%s",p->data.sex); printf("員工手機(jī)號碼: n");scanf("%s",p->data.phone); printf("員工辦公室電話號碼: n");scanf("%s",p->data.call); printf("員工電子郵箱: n");scanf("%s",p->data.e_mail);printf("操作已成功!n"); Add(head,p); break; case 3: printf("tt*n"); printf("tt 通 訊 錄 信 息 的 刪 除 n"); printf("tt*n"); Delete(head); break; case 4: pri
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度農(nóng)業(yè)種植與銷售合同
- 2024年健康醫(yī)療服務(wù)合同
- 2024年寶石開采權(quán)轉(zhuǎn)讓合同
- 2024年度物流運輸合同:物流公司與貨主就2024年度貨物運輸達(dá)成協(xié)議
- 2024年度電競游戲內(nèi)容制作與發(fā)行合同
- 2024年度技術(shù)咨詢合同:化工行業(yè)生產(chǎn)工藝改進(jìn)咨詢
- 2024光伏發(fā)電項目土石方運輸服務(wù)合同
- 2024玉米買賣合同
- 2024年度項目管理咨詢服務(wù)合同
- 2024年丁方環(huán)境評估服務(wù)合同
- 招投標(biāo)咨詢合同文本
- 2024統(tǒng)編版(2024)道德與法治小學(xué)一年級上冊教學(xué)設(shè)計(附目錄)
- 2.2 直線的方程(分層練習(xí))(解析版)
- 《保密法》培訓(xùn)課件
- 2024年秋季新統(tǒng)編版七年級上冊道德與法治全冊教案
- 行政復(fù)議法-形考作業(yè)1-國開(ZJ)-參考資料
- 錯漏混料點檢稽核表空白模板
- 登高作業(yè)錯題解析
- (完整版)英語一般現(xiàn)在時練習(xí)題及答案
- (完整版)鋼結(jié)構(gòu)工程施工質(zhì)量驗收記錄
- 知識競賽PPT(計時功能、動畫、必答、搶答題等)ppt課件
評論
0/150
提交評論