下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、學(xué)習(xí) - 好資料流程圖:運行結(jié)果:更多精品文檔學(xué)習(xí) - 好資料更多精品文檔學(xué)習(xí) - 好資料更多精品文檔學(xué)習(xí) - 好資料程序源碼:#include #include #include #include #include#define LEN sizeof(struct student)/求字節(jié)數(shù)運算符更多精品文檔學(xué)習(xí) - 好資料struct studentchar name20;long int num;char sex4;int age;char address30;float score;struct student *next;/鏈表;/ 定義一個結(jié)構(gòu)題int TOTAL_NUM = 0;
2、/學(xué)生總數(shù)struct student *head = NULL;void mainmenu ();/主界面void record (); /記錄數(shù)據(jù)void insert(struct student *stu); /插入數(shù)據(jù)void display(struct student *stu); /顯示一個學(xué)生的信息void displayAll (); /顯示所有學(xué)生的信息void query(); /查詢學(xué)生信息void query_by_num(); /按學(xué)號查詢學(xué)生信息void query_by_name();void readData (); /讀取文件里學(xué)生的信息更多精品文檔學(xué)習(xí)
3、- 好資料void writeData (); /向文件寫入學(xué)生信息void freeAll (); /清空鏈表內(nèi)容void del (); / 刪除學(xué)生信息void change (); /更改學(xué)生信息void sort();/ 排序void devise (struct student *p); /選擇更改內(nèi)容int main (void)mainmenu ();return 0;/系統(tǒng)主菜單void mainmenu ()int choice;choice = -1;readData ();printf (ttt-n);printf (ttt|歡迎使用通信工程專業(yè)學(xué)生信息管理系統(tǒng)|n);
4、printf (ttt-n);printf (ttt本程序需要在當(dāng)前目錄下建立student.txt才可正常運行n);do更多精品文檔學(xué)習(xí) - 好資料printf (nnn);printf (ttt-n);printf (ttt通信工程專業(yè)學(xué)生信息管理系統(tǒng)|n);printf (ttt-n);printf (ttt1-錄入學(xué)生信息|n);printf (ttt2-瀏覽學(xué)生信息|n);printf (ttt3-查詢學(xué)生信息|n);printf (ttt4-刪除學(xué)生信息|n);printf (ttt5-修改學(xué)生信息|n);printf (ttt6-排序 |n);printf (ttt0-退出系統(tǒng)
5、|n);printf (ttt-n);printf ( 請輸入您的選擇);scanf (%d, &choice);switch (choice)case 0:writeData ();freeAll (); exit (0);case 1:record ();break;case 2:displayAll ();break;case 3:query ();break;case 4:del ();break;更多精品文檔學(xué)習(xí) - 好資料case 5:change ();break;case 6:sort ();break;default:printf (n無效選項 !);break;while
6、(choice != 0);/錄入學(xué)生信息void record ()struct student *p0;p0 = (struct student *)malloc(LEN);printf (ttt請輸入學(xué)生的姓名:);scanf (%s,p0-name);printf (ttt請輸入學(xué)生的學(xué)號:);scanf (%ld,&p0-num);printf (ttt請輸入學(xué)生的性別:);scanf (%s,p0-sex);printf (ttt請輸入學(xué)生的年齡:);scanf (%d,&p0-age);printf (ttt請輸入學(xué)生的地址:);scanf (%s,p0-address);pri
7、ntf (ttt請輸入學(xué)生的成績:);更多精品文檔學(xué)習(xí) - 好資料scanf (%f,&p0-score);insert (p0);printf (ttt該學(xué)生的信息為:n);printf (ttt-n);printf (ttt姓名 t 學(xué)號 tt 年齡 t 性別 t 地址 tt 成績 n);display (p0);void insert (struct student *stu)struct student *p0, *p1, *p2;p1 = head;p0 = stu;if (head = NULL)head = p0;p0-next = NULL;elsewhile (p0-num
8、p1-num)&(p1-next != NULL)p2 = p1;p1 = p1-next;更多精品文檔學(xué)習(xí) - 好資料if (p0-num num)if (head = p1)head = p0;elsep2-next = p0;p0-next = p1;elsep1-next = p0;p0-next = NULL;TOTAL_NUM+;void display (struct student *p)printf(ttt%st%ldtt%dt%st%stt%fn,p-name,p-num,p-age,p-sex,p-address, p-score);更多精品文檔學(xué)習(xí) - 好資料/瀏覽學(xué)生
9、信息void displayAll()struct student *p;printf(ttt學(xué)生總數(shù) :%dn, TOTAL_NUM);p = head;if (head != NULL)printf(ttt姓名 t 學(xué)號 tt 年齡 t 性別 t 地址 tt 成績 n);printf(ttt-n);dodisplay(p);p = p-next;while(p != NULL);printf (n);void query()更多精品文檔學(xué)習(xí) - 好資料int choice;choice = -1;doprintf(n);printf(-n);printf(|按學(xué)號查詢請按 1 |n);pr
10、intf(|按姓名查詢請按 2 |n);printf(|取消 請按 0 |n);printf(+-+n);printf( 請輸入您的選擇);scanf(%d, &choice);switch(choice)case 0:return;case 1:query_by_num();break;case 2:query_by_name();break;default:printf(n無效選項 !);break;while(choice != 0);更多精品文檔學(xué)習(xí) - 好資料/按姓名查詢學(xué)生信息void query_by_name()char name20;struct student *p1;pr
11、intf( 請輸入學(xué)生的姓名);scanf(%s, name);if(head=NULL)printf( 無學(xué)生記錄n);return;p1=head;while(strcmp(name, p1-name) & p1-next!=NULL)p1=p1-next;if(!strcmp(name, p1-name)printf(ttt姓名 t 學(xué)號 tt 年齡 t 性別 t 地址 tt 成績 n);printf(ttt-n);display(p1);else更多精品文檔學(xué)習(xí) - 好資料printf( 沒有該學(xué)生記錄請核對/按學(xué)號查詢學(xué)生信息void query_by_num ()int num;s
12、truct student *p1;printf( 請輸入學(xué)生的學(xué)號);scanf(%ld, &num);if(head=NULL)printf( 無學(xué)生記錄 n);return;p1 = head;while (num!=p1-num & p1-next!=NULL)p1 = p1-next;if (num = p1-num)printf (ttt姓名 t 學(xué)號 tt 年齡 t 性別 t 地址 tt 成績 n);printf (ttt-n);display (p1);更多精品文檔學(xué)習(xí) - 好資料elseprintf (ttt沒有該學(xué)生記錄請核對);/寫入文件void writeData ()
13、FILE* fp;/ 文件指針struct student *p;fp = fopen(1.txt, w);if (!fp)printf( 文件打開錯誤return;fprintf(fp,%dn, TOTAL_NUM);for(p = head; p!= NULL; p= p-next)fprintf(fp,%st%ldt%st%dt%st%fn,p-name,p-num,p-sex,p-age,p-address,p-score);fclose (fp);更多精品文檔學(xué)習(xí) - 好資料void freeAll ()struct student *p1, *p2;p1 = p2=head;whi
14、le(p1)p2=p1-next;free (p1);p1 = p2;/讀取文件void readData ()FILE* fp;/ 文件指針struct student *p1, *p2;fp = fopen(student.txt, r);if (!fp)printf( 文件打開錯誤);return;更多精品文檔學(xué)習(xí) - 好資料fscanf(fp,%dn, &TOTAL_NUM);head = p1 = p2 = (struct student *)malloc(LEN);fscanf(fp,%st%ldt%st%dt%st%fn,p1-name,&p1-num,p1-sex,&p1-ag
15、e,p1-address, &p1-score);while(!feof(fp)p1 = (struct student *)malloc(LEN);fscanf(fp,%st%ldt%st%dt%st%fn,p1-name,&p1-num,p1-sex,&p1-age,p1-address, &p1-score);p2-next = p1;p2 = p1;p2-next = NULL;fclose(fp);/刪除學(xué)生信息void del ()struct student *p1, *p2;long int num;if (head = NULL)更多精品文檔學(xué)習(xí) - 好資料printf( 無
16、學(xué)生記錄 n);return;printf( 請輸入您要刪除的學(xué)生的學(xué)號);scanf(%ld, &num);p1 = head;while (num != p1-num & p1-next != NULL)p2 = p1;p1 = p1-next;if(num = p1-num)if(p1 = head)head = p1-next;elsep2-next = p1-next;free(p1);TOTAL_NUM-;elseprintf( 沒有該學(xué)生記錄請核對n);更多精品文檔學(xué)習(xí) - 好資料void sort() / 排序模塊。將學(xué)生記錄按學(xué)號從小到大排列。用起泡排序算法實現(xiàn)int i;s
17、truct student *ptr,*s=head,*p;int count=0,count1;while(s)/ 統(tǒng)計鏈表結(jié)點個數(shù)count+;s=s-next;for( i=1;inext&(count1-)if(ptr-scoreptr-next-score)更多精品文檔學(xué)習(xí) - 好資料s=ptr-next;ptr-next=s-next;if(p=NULL) /ptr處于隊頭時head=s;elsep-next=s;s-next=ptr;p=s;elseptr=ptr-next;if(p=NULL) /ptr處于隊頭時p=head;elsep=p-next;displayAll ()
18、;return;更多精品文檔學(xué)習(xí) - 好資料void change ()struct student *p1, *p2;long int num;if (head = NULL)printf ( 無學(xué)生記錄 n);return;printf ( 請輸入您要修改的學(xué)生的學(xué)號);scanf (%ld, &num);p1 = head;while (num != p1-num & p1-next != NULL)p2 = p1;p1 = p1-next;if(num = p1-num)devise (p1);elseprintf( 沒有該學(xué)生記錄請核對n);更多精品文檔學(xué)習(xí) - 好資料void devise (struct student *p)int choice;choice = -1;dopr
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《證劵基礎(chǔ)知識最終》課件
- 《激光切割工藝》課件
- 荒山綠化項目可行性研究報告
- 《人力資源管理奧秘》課件
- 股份解禁協(xié)議三篇
- 專業(yè)畢業(yè)實習(xí)報告4篇
- 2023年-2024年企業(yè)主要負責(zé)人安全教育培訓(xùn)試題及答案(易錯題)
- 2024員工三級安全培訓(xùn)考試題帶解析答案可打印
- 2023年-2024年項目部安全管理人員安全培訓(xùn)考試題附答案【培優(yōu)A卷】
- 2023年-2024年企業(yè)主要負責(zé)人安全培訓(xùn)考試題(預(yù)熱題)
- JJF 1638-2017 多功能標(biāo)準(zhǔn)源校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 工業(yè)工程技術(shù)學(xué)生專業(yè)技能考核標(biāo)準(zhǔn)(高職)(高職)
- 生物化學(xué)期末考試題庫與答案
- 山東昌樂二中的“271高效課堂”
- 人教版高中物理新舊教材知識對比
- 國際結(jié)算期末復(fù)習(xí)試卷5套及參考答案
- 六年級上冊數(shù)學(xué)圓中方方中圓經(jīng)典題練習(xí)
- 現(xiàn)場組織機構(gòu)框圖及說明
- 《城鎮(zhèn)燃氣管理條例》解讀
- X62W萬能銑床電氣原理圖解析(共18頁)
- 小康煤礦水文地質(zhì)類型劃分報告
評論
0/150
提交評論