學(xué)生成績(jī)管理系統(tǒng)[共28頁(yè)]
《學(xué)生成績(jī)管理系統(tǒng)[共28頁(yè)]》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生成績(jī)管理系統(tǒng)[共28頁(yè)](28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、成績(jī)?cè)u(píng)定教師簽名嘉應(yīng)學(xué)院 計(jì)算機(jī)學(xué)院數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告課程名稱(chēng):數(shù)據(jù)結(jié)構(gòu)開(kāi)課學(xué)期:2016-2017學(xué)年第1學(xué)期班 級(jí):1401指導(dǎo)老師:鐘治初實(shí)驗(yàn)題目:學(xué)生成績(jī)管理系統(tǒng)學(xué) 號(hào):141110043姓 名:蘇永達(dá)提交時(shí)間:2016年10月27日一、 實(shí)驗(yàn)要求:(1) 設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng),模擬高考成績(jī)的管理。功能至少包括數(shù)據(jù)輸入,輸出,查找,插入,刪除,修改,排序,統(tǒng)計(jì)各成績(jī)段的人數(shù),考生成績(jī)的排位,報(bào)考志愿的檢索等。(2) 所有輸入輸出數(shù)據(jù)均使用文本文件進(jìn)行讀寫(xiě)。(3) 所有過(guò)渡性數(shù)據(jù)使用二進(jìn)制文件進(jìn)行讀寫(xiě)和保存。(4) 設(shè)計(jì)使用平行志愿進(jìn)行出檔。(5) 設(shè)計(jì)使用非平行志愿行進(jìn)出檔。(6)
2、設(shè)計(jì)志愿時(shí),可以設(shè)計(jì)12個(gè)志愿,如果平行志愿,則前后各6個(gè)分別為第一組和第二組平行志愿處理。(7) 設(shè)計(jì)考生記錄的字段時(shí),可以預(yù)留補(bǔ)錄志愿的字段?;蛘邔⑽翠浫】忌臄?shù)據(jù)進(jìn)行備份,然后將志愿清空后再增加補(bǔ)錄志愿。28二、功能: (1) 按學(xué)號(hào)順序輸入學(xué)生信息,包括學(xué)號(hào)、姓名、性別、課程單科成績(jī)(單科成績(jī)包括C語(yǔ)言、高數(shù)、大學(xué)語(yǔ)文、匯編、中近史),并存入文件中。(2) 從文件讀取數(shù)據(jù)(3) 刪除學(xué)生信息(4) 查詢(xún)學(xué)生信息(查詢(xún)可分為精確查詢(xún)和模糊查詢(xún))(5) 修改學(xué)生信息(要求修改后,數(shù)據(jù)依然是按學(xué)號(hào)順序排列)(6) 插入學(xué)生信息(要求插入后,數(shù)據(jù)依然是按學(xué)號(hào)順序排列)(7) 附加功能,學(xué)生可自
3、由發(fā)揮,如:排名、求各門(mén)課程平均分等。三、實(shí)驗(yàn)?zāi)康?、掌握和鞏固C語(yǔ)言編寫(xiě)的相關(guān)知識(shí)和技巧,特別是函數(shù)、指針、結(jié)構(gòu)體。2、能夠采用模塊化思想調(diào)試程序。3、通過(guò)該課程設(shè)計(jì)的操作與實(shí)踐,能夠根據(jù)數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái),并培養(yǎng)基本的、良好的程序設(shè)計(jì)技能,全面提高學(xué)生的程序設(shè)計(jì)、開(kāi)發(fā)能力。四、系統(tǒng)分析4.1 相關(guān)基礎(chǔ)知識(shí) 選擇、循環(huán)、函數(shù)、指針、結(jié)構(gòu)體、鏈表4.2 總體方案 架構(gòu)圖: 方案描述:菜單:運(yùn)用switch case選擇功能,在每個(gè)case中有相對(duì)應(yīng)的調(diào)用語(yǔ)句,調(diào)用相對(duì)應(yīng)的函數(shù)。刪除功能:調(diào)用刪除函數(shù),判斷是否保存,如果保存寫(xiě)入文件。插
4、入功能:運(yùn)用鏈表插入。修改功能:調(diào)用刪除函數(shù)跟插入函數(shù),先刪除再插入,從而實(shí)現(xiàn)修改功能。查詢(xún)功能:調(diào)用菜單中的查詢(xún)函數(shù),用循環(huán)實(shí)現(xiàn)查詢(xún)功能。排名功能:調(diào)用菜單中的排名函數(shù),通過(guò)冒泡排序法實(shí)現(xiàn)功能。保存功能:運(yùn)用寫(xiě)入文件。五、系統(tǒng)設(shè)計(jì)定義一個(gè)student類(lèi)型的結(jié)構(gòu)體,里面包含學(xué)生信息,包括學(xué)號(hào)、姓名、性別、課程單科成績(jī)(單科成績(jī)包括C語(yǔ)言、高數(shù)、大學(xué)語(yǔ)文、匯編、中近史)、總分、平均成績(jī)。5.1 新建功能 從鍵盤(pán)輸入N個(gè)學(xué)生基本信息,包括學(xué)號(hào)、姓名、性別、課程單科成績(jī)(單科成績(jī)包括C語(yǔ)言、高數(shù)、大學(xué)語(yǔ)文、匯編、中近史),編程根據(jù)輸入信息計(jì)算各學(xué)生總分和平均分。創(chuàng)建動(dòng)態(tài)鏈表,將學(xué)生信息存入鏈表中。
5、在DOS屏幕上打印鏈表內(nèi)所有學(xué)生信息。新建一個(gè)文件,將動(dòng)態(tài)鏈表中的數(shù)據(jù)(即輸入的學(xué)生信息)存入文件中。5.2 打開(kāi)功能打開(kāi)一個(gè)文件,從文件中讀取學(xué)生信息,并新建鏈表,將數(shù)據(jù)存入動(dòng)態(tài)鏈表。在DOS屏幕上打印鏈表內(nèi)所有學(xué)生信息。5.3 修改功能 在DOS屏幕上打印出當(dāng)前的所有學(xué)生信息。輸入待修改的學(xué)生學(xué)號(hào),若不存在,輸出“查無(wú)此人”;若存在,則輸入修改的信息,并存回學(xué)生信息鏈表中,存回后學(xué)生信息鏈表依然是按學(xué)號(hào)順序排列。最后在DOS屏幕上打印出新的所有學(xué)生信息。5.4 插入功能在DOS屏幕上打印出當(dāng)前的所有學(xué)生信息。輸入插入信息的條數(shù),從第一條開(kāi)始到最后一條,依次輸入每條學(xué)生信息,包括學(xué)號(hào)、姓名、
6、性別、課程單科成績(jī)(單科成績(jī)包括C語(yǔ)言、高數(shù)、大學(xué)語(yǔ)文、匯編、中近史),根據(jù)輸入信息計(jì)算各學(xué)生總分和平均分。若輸入的學(xué)生學(xué)號(hào)已經(jīng)存在,則輸出“該學(xué)號(hào)已存在,無(wú)法操作!”,否則將學(xué)生信息插入到鏈表中,插入后鏈表中的數(shù)據(jù)依然按照學(xué)號(hào)排列。最后在DOS屏幕上打印出新的所有學(xué)生信息。5.5 查詢(xún)功能查詢(xún)分為:精確查詢(xún)、模糊查詢(xún)精確查詢(xún):(1) 按姓名查詢(xún) 輸入待查詢(xún)的姓名; 根據(jù)順序查詢(xún)的方法,對(duì)學(xué)生的姓名依次查詢(xún),直到查詢(xún)到與輸入的信息相匹配的信息,并在DOS屏幕上顯示出來(lái)。若需要查詢(xún)的信息不存在,系統(tǒng)則會(huì)提示找不到此人。可重復(fù)查詢(xún)。(2) 按學(xué)號(hào)查詢(xún)輸入待查詢(xún)的學(xué)號(hào); 根據(jù)順序查詢(xún)的方法,對(duì)學(xué)生的
7、學(xué)號(hào)依次查詢(xún),直到查詢(xún)到與輸入的信息相匹配的信息,并在DOS屏幕顯示出來(lái)。若需要查詢(xún)的信息不存在,系統(tǒng)則會(huì)提示找不到此人??芍貜?fù)查詢(xún)。模糊查詢(xún):(1) 按姓氏查詢(xún) 輸入待查詢(xún)的姓氏; 根據(jù)順序查詢(xún)的方法,對(duì)學(xué)生的姓依次查詢(xún),當(dāng)查詢(xún)到與輸入的信息相匹配的信息,則在DOS屏幕顯示出來(lái),直到鏈表結(jié)束。若需要查詢(xún)的信息不存在,系統(tǒng)則會(huì)提示找不到相關(guān)信息。可重復(fù)查詢(xún)。(2) 按性別查詢(xún) 輸入待查詢(xún)的性別; 根據(jù)順序查詢(xún)的方法,對(duì)學(xué)生的性別依次查詢(xún),當(dāng)查詢(xún)到與輸入的信息相匹配的信息,則在DOS屏幕顯示出來(lái),直到鏈表結(jié)束??芍貜?fù)查詢(xún)。5.6 刪除功能 在DOS屏幕上打印出當(dāng)前的所有學(xué)生信息。(1)按姓名刪除
8、輸入需要?jiǎng)h除的學(xué)生姓名; 根據(jù)順序查詢(xún)的方法,對(duì)學(xué)生的姓名依次查詢(xún),當(dāng)查詢(xún)到與輸入的信息相匹配的信息,則刪除該生信息,并在DOS屏幕顯示出新的所有學(xué)生信息。若需要?jiǎng)h除的信息不存在,系統(tǒng)則會(huì)提示刪除失敗。(2)按學(xué)號(hào)刪除輸入需要?jiǎng)h除的學(xué)生學(xué)號(hào); 根據(jù)順序查詢(xún)的方法,對(duì)學(xué)生的學(xué)號(hào)依次查詢(xún),當(dāng)查詢(xún)到與輸入的信息相匹配的信息,則刪除該生信息,并在DOS屏幕顯示出新的所有學(xué)生信息。若需要?jiǎng)h除的信息不存在,系統(tǒng)則會(huì)提示刪除失敗。5.7排名功能 可根據(jù)學(xué)生的總分進(jìn)行排名,并在DOS屏幕上輸出排名結(jié)果。5.8 關(guān)于我們 在DOS屏幕上輸出系統(tǒng)相關(guān)信息。5.9 軟件說(shuō)明5.10 退出保存 選擇0退出系統(tǒng),保存功
9、能在每段函數(shù)結(jié)束后實(shí)現(xiàn)。5.10運(yùn)行結(jié)果5.10.0 主界面 5.10.1 新建文件(輸入一組數(shù)據(jù),存入文件中)5.10.2 打開(kāi)文件(打開(kāi)文件,讀取文件數(shù)據(jù)存入鏈表)5.10.3 修改功能5.10.4 插入功能5.10.5 查詢(xún)功能精確查詢(xún)-按姓名查詢(xún)精確查詢(xún)-按學(xué)號(hào)查詢(xún)模糊查詢(xún)-按姓氏查詢(xún)模糊查詢(xún)-按性別查詢(xún)5.10.6 刪除功能按姓名刪除按學(xué)號(hào)刪除5.10.7 總分排名功能5.10.9 軟件說(shuō)明5.10.10 退出保存保存功能在每段函數(shù)結(jié)束后實(shí)現(xiàn)。六、心得體會(huì)通過(guò)這次實(shí)驗(yàn)我們更好的掌握和鞏固C語(yǔ)言編寫(xiě)的相關(guān)知識(shí)和技巧,特別是函數(shù)、指針、結(jié)構(gòu)體、鏈表等功能。通過(guò)該課程設(shè)計(jì)的操作與實(shí)踐,能夠
10、根據(jù)數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái),并培養(yǎng)基本的、良好的程序設(shè)計(jì)技能,雖然在設(shè)計(jì)過(guò)程中遇到了不少問(wèn)題麻煩,在教材數(shù)據(jù)的幫助下,完成了這次程序設(shè)計(jì)。 七、源代碼#include #include #include /*-*/#define LEN sizeof(struct student)/結(jié)構(gòu)體長(zhǎng)度/*-*/#define NEW (struct student *)malloc(LEN)/*-*/FILE *fp;/*文件指針*/*-*/struct student int num; char name20;int score1,score2
11、,score3,score4,score5;char sex;double aver;float sum; struct student *next;char filename100;struct student *creat( ) struct student *h; struct student *p,*q; printf(需要輸入幾條信息:); int i,n; scanf(%d,&n); printf(n-請(qǐng)按學(xué)號(hào)順序依次輸入學(xué)生信息-n); char c=getchar(); h=NULL; for(i=1;i=n;i+) p=NEW; if (p=NULL) printf(Allo
12、cation failuren); exit(0); printf(n); printf(輸入姓名: ); gets(p-name); printf(輸入學(xué)號(hào): ); scanf(%d,&p-num); c=getchar(); printf(輸入性別: ); scanf(%c,&p-sex); printf(輸入c語(yǔ)言成績(jī): ); scanf(%d,&p-score1); printf(輸入高數(shù)成績(jī): ); scanf(%d,&p-score2); printf(輸入大學(xué)語(yǔ)文成績(jī): ); scanf(%d,&p-score3); printf(輸入?yún)R編語(yǔ)言成績(jī): ); scanf(%d,&p
13、-score4); printf(輸入中近史成績(jī): ); scanf(%d,&p-score5); c=getchar(); p-sum=p-score1+p-score2+p-score3+p-score4+p-score5; p-aver=(p-score1+p-score2+p-score3+p-score4+p-score5)/5.0; p-next=NULL; if (h=NULL) /* h為空,表示新結(jié)點(diǎn)為第一個(gè)結(jié)點(diǎn) */ h=p; /* 頭指針指向第一個(gè)結(jié)點(diǎn) */ else /* h不為空 */ q-next=p; /* 新結(jié)點(diǎn)與尾結(jié)點(diǎn)相連接 */ q=p;/* 使q指向新的尾
14、結(jié)點(diǎn) */ return h; struct student *paixu (struct student *head) /* 總分排名 */ system(cls); printf(總分排名如下:n); struct student *op; struct student *p; struct student *p1,*p2; p1 = (struct student *) malloc (LEN); p1-next = head; head = p1; for (op = NULL; op != head; op = p) for (p = p1 = head; p1-next-next!
15、=op; p1 = p1-next) if (p1-next-sum next-next-sum) p2 = p1-next-next; p1-next-next = p2-next; p2-next = p1-next; p1-next = p2; p = p1-next-next; p1 = head; head = head-next; free (p1); p1 = NULL; return head; void prlist(struct student *head)/*輸出函數(shù)*/ struct student *p; p=head; printf(n學(xué)號(hào) 姓名 性別 c語(yǔ)言 高數(shù)
16、 大學(xué)語(yǔ)文 匯編語(yǔ)言 中近史 總分 平均分n); while (p!=NULL) printf(%d %s %c %d %d %d %d %d %.1f %.2fn,p-num,p-name,p-sex,p-score1,p-score2,p-score3,p-score4,p-score5,p-sum,p-aver); p=p-next; system(pause); /*-write將數(shù)據(jù)存入文件-*/void write(struct student *head) struct student *p; p=head; if(head!=NULL) while(p!=NULL)fwrite
17、(p,LEN,1,fp);p=p-next; printf(文件更新成功!n);fclose(fp); system(pause);system(cls);/*-read將文件數(shù)據(jù)讀入一個(gè)新鏈表中-*/struct student *read(void) struct student *head; struct student *p1,*p2; head=NULL;p1=NEW;rewind(fp);/指向文件頭fread(p1,LEN,1,fp); while(!feof(fp) if(head=NULL) head=p1; else p2-next=p1; p2=p1;p1=NEW; fr
18、ead(p1,LEN,1,fp); p2-next=NULL;fclose(fp); return(head);void find(struct student *head)/* 查詢(xún)功能 */ int t,s,i,j; struct student *p,*q; char x10,y2=0,c2; char k,f; p=head; printf(精確查找:n *1 按姓名查找n *2 按學(xué)號(hào)查找n 模糊查找n *3 按姓氏查找:n *4 按性別查找n); scanf(%d,&s); k=getchar(); if(s=1) printf(請(qǐng)輸入姓名:); gets(x); while (p
19、!=NULL) if (strcmp(x,p-name)=0) printf(n學(xué)號(hào) 姓名 性別 c語(yǔ)言 高數(shù) 大學(xué)語(yǔ)文 匯編語(yǔ)言 中近史 總分 平均分n);printf(%d %s %c %d %d %d %d %d %.1f %.2fn,p-num,p-name,p-sex,p-score1,p-score2,p-score3,p-score4,p-score5,p-sum,p-aver);j=1;else i=1;q=p;p=p-next; else if(s=2) printf(按學(xué)號(hào)查找:n);scanf(%d,&t);while (p!=NULL)if (t=p-num) prin
20、tf(n學(xué)號(hào) 姓名 性別 c語(yǔ)言 高數(shù) 大學(xué)語(yǔ)文 匯編語(yǔ)言 中近史 總分 平均分n);printf(%d %s %c %d %d %d %d %d %.1f %.2fn,p-num,p-name,p-sex,p-score1,p-score2,p-score3,p-score4,p-score5,p-sum,p-aver);j=1;else i=1; q=p;p=p-next; else if(s=3) printf(按姓氏查詢(xún):n); gets(c); while ( p!=NULL) if (strncmp(c,p-name,1)=0) printf(n學(xué)號(hào) 姓名 性別 c語(yǔ)言 高數(shù) 大學(xué)
21、語(yǔ)文 匯編語(yǔ)言 中近史 總分 平均分n);printf(%d %s %c %d %d %d %d %d %.1f %.2fn,p-num,p-name,p-sex,p-score1,p-score2,p-score3,p-score4,p-score5,p-sum,p-aver);j=1;else i=1;q=p;p=p-next; else if(s=4) printf(按性別查詢(xún):n); f=getchar(); while(p!=NULL) if(f=p-sex) printf(n學(xué)號(hào) 姓名 性別 c語(yǔ)言 高數(shù) 大學(xué)語(yǔ)文 匯編語(yǔ)言 中近史 總分 平均分n); printf(%d %s %
22、c %d %d %d %d %d %.1f %.2fn,p-num,p-name,p-sex,p-score1,p-score2,p-score3,p-score4,p-score5,p-sum,p-aver); j=1; else i=1; q=p;p=p-next; if(i=1&j!=1) printf(Not found.輸入錯(cuò)誤n);system(pause);system(cls); struct student *delstudent(struct student *head)/* 刪除功能 */ int s,n,m=1; char c; struct student *p,*q
23、; char x10; while(m) printf( *1 按學(xué)號(hào)刪除n *2 按姓名刪除n); scanf(%d,&s); c=getchar(); printf(已有信息如下:n); prlist(head); if (head=NULL) printf(This is a empty list.); return head; p=head; switch(s) case 2: printf(請(qǐng)輸入姓名:); gets(x); while (strcmp(x,p-name)!=0 & p-next!=NULL) q=p;p=p-next; if (strcmp(x,p-name)=0)
24、 if (p=head) head=p-next; else q-next=p-next; free(p); else printf(Not found.n);continue; ;m=0;break; case 1: printf(請(qǐng)輸入學(xué)號(hào):); scanf(%d,&n); c=getchar(); while (n!=p-num & p-next!=NULL) q=p;p=p-next; if (n=p-num) if (p=head) head=p-next; else q-next=p-next; free(p); else printf(Not found.n);continue;
25、 ;m=0;break; default: printf(輸入錯(cuò)誤n);break; return head; void about()/* 關(guān)于我們 */ system(cls); printf( , _ nn);printf( (. ) ()nn);printf( / / Hinn); printf( 成員介紹nn);printf( 1.組長(zhǎng):nn);printf( 2.組員:nn);printf( 3.組員:nn);printf( 4.組員:nn);printf( 產(chǎn)品信息nn); printf( 一.產(chǎn)品用途:主要用于學(xué)生成績(jī)管理與查詢(xún).nn);printf( 二.班級(jí)成績(jī)管理系統(tǒng)主要
26、包括:數(shù)據(jù)的錄入 nn);printf( 讀取 顯示 刪除 插入 查找 修改 排名.nn);system(pause);system(cls); void end() /*退出系統(tǒng)*/ char s;printf(是否退出系統(tǒng)Y/N?n);scanf(%c,&s);if(s=Y | s=y)exit(0);else if(s=N | s=n) return; else printf(輸入錯(cuò)誤,請(qǐng)重新輸入nn);system(pause);return; struct student *insert(struct student *head, struct student *op)/* 插入功能
27、 */ struct student *p,*q; if (head=NULL) head=op; /* 空表時(shí),插入結(jié)點(diǎn) */ op-next=NULL; else p=head; while (op-num p-num & p-next!=NULL) q=p;p=q-next; if (op-num=p-num) printf(n該學(xué)號(hào)已存在,無(wú)法插入!n); return head; else if(op-numnum) if (p=head) head=op; /* 在表頭插入結(jié)點(diǎn) */ else q-next=op; /* 在表中間插入結(jié)點(diǎn) */ op-next=p; else p-
28、next=op; /* 在表尾插入結(jié)點(diǎn) */ op-next=NULL; return head; struct student *xiugai(struct student *head)/*修改功能*/struct student *op=NEW;int c;head=delstudent(head);printf(請(qǐng)輸入新名字:);gets(op-name); printf(請(qǐng)輸入新學(xué)號(hào):);scanf(%d,&op-num);c=getchar();printf(請(qǐng)輸入新性別:);scanf(%c,&op-sex); printf(請(qǐng)輸入新C語(yǔ)言成績(jī):); scanf(%d,&op-sc
29、ore1); printf(請(qǐng)輸入新高數(shù)成績(jī):); scanf(%d,&op-score2); printf(請(qǐng)輸入新大學(xué)語(yǔ)文成績(jī):); scanf(%d,&op-score3);printf(請(qǐng)輸入新匯編成績(jī):); scanf(%d,&op-score4);printf(請(qǐng)輸入新中近史成績(jī):); scanf(%d,&op-score5);c=getchar();op-sum=op-score1+op-score2+op-score3+op-score4+op-score5; op-aver=(op-score1+op-score2+op-score3+op-score4+op-score5)
30、/5.0; op-next=NULL; head=insert(head,op);return head;struct student *ca(struct student *head)/*插入功能*/ struct student *op=NEW; char c; printf(請(qǐng)輸入名字:);gets(op-name); printf(請(qǐng)輸入學(xué)號(hào):);scanf(%d,&op-num);c=getchar(); printf(請(qǐng)輸入性別:);scanf(%c,&op-sex); printf(請(qǐng)輸入C語(yǔ)言成績(jī):); scanf(%d,&op-score1); printf(請(qǐng)輸入高數(shù)成績(jī):
31、); scanf(%d,&op-score2); printf(請(qǐng)輸入大學(xué)語(yǔ)文成績(jī):); scanf(%d,&op-score3);printf(請(qǐng)輸入?yún)R編成績(jī):); scanf(%d,&op-score4);printf(請(qǐng)輸入中近史成績(jī):); scanf(%d,&op-score5);c=getchar();op-next=NULL;head=insert(head,op); op-sum=op-score1+op-score2+op-score3+op-score4+op-score5; op-aver=(op-score1+op-score2+op-score3+op-score4+o
32、p-score5)/5.0; return head;void help()/* 軟件說(shuō)明 */ system(cls);printf(n 說(shuō)明 nnn);printf( 運(yùn)行本軟件需先使用新建文件或打開(kāi)文件功能,否則運(yùn)行出錯(cuò)。n); printf( 每次使用修改 插入 刪除等功能后需重新打開(kāi)文件讀取數(shù)據(jù),n);printf( 否則得到的數(shù)據(jù)是未保存的。每運(yùn)行完一個(gè)功能會(huì)自動(dòng)返回到 n);printf( 主界面。 nnn); printf(nn 純屬原創(chuàng) 禁止抄襲 nn); system(pause);system(cls);/*-主函數(shù) 菜單-*/int main() system(colo
33、r 9f);char c,r; struct student *head;int z; while(1)printf(n);printf( - nn);printf( 歡迎使用學(xué)生成績(jī)管理系統(tǒng) nn);printf( - nn);printf(*菜單*nn);printf(=nn);printf(* 1.新建文件 * 2.打開(kāi)文件 *);printf(nn);printf(* 3.修改功能 * 4.插入功能 *);printf(nn);printf(* 5.查詢(xún)功能 * 6.刪除功能 *);printf(nn); printf(* 7.排名功能 * 8.關(guān)于我們 *);printf(nn);
34、printf(* 9.軟件說(shuō)明 * 0.退出系統(tǒng) *);printf(nn); printf(請(qǐng)輸入指令:);scanf(%d,&z);c=getchar(); switch(z) case 1: printf(請(qǐng)輸入文件路徑和新建文件名(如:d:/123):);scanf(%s,filename);/-輸入文件名,如d:/123 if(fp=fopen(filename,w+)=NULL)/W+先新建文件在寫(xiě)入數(shù)據(jù)printf(新建文件失敗!n);elseprintf(新建文件成功!n);head=creat();write(head);break; case 2:printf(nn讀取文件
35、數(shù)據(jù)n); printf(請(qǐng)輸入讀取的文件路徑和文件名(如:d:/123):);scanf(%s,filename);/*-輸入文件名,如d:/123-*/ c=getchar();if(fp=fopen(filename,r+)=NULL)/r+讀文件printf(打開(kāi)文件失敗n);elseprintf(打開(kāi)文件成功n); head=read();system(pause);printf(信息如下:n);prlist(head);system(cls);break; case 3:head=xiugai(head);prlist(head); printf(是否保存Y/N?n);scanf(
36、%c,&r); if(r=y|r=Y) fp=fopen(filename,w+);write(head);else printf(未保存n);system(pause);system(cls);break; case 4:head=ca(head);prlist(head); printf(是否保存Y/N?);scanf(%c,&r); if(r=y|r=Y) fp=fopen(filename,w+);write(head);break; case 5:find(head);break; case 6:head=delstudent(head);prlist(head);printf(是否保存Y/N?n);scanf(%c,&r); if(r=y|r=Y) fp=fopen(filename,w+);write(head); else printf(未保存n);system(pause);system(cls);break; case 7:head=paixu(head);prlist(head);system(cls);break; case 8:about();break; case 9:help();break; case 0:end();break; default:printf(輸入錯(cuò)誤,請(qǐng)重新輸入n);break;return 0;
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)銀行理財(cái)產(chǎn)品托管業(yè)務(wù)培訓(xùn)
- 任務(wù)四 數(shù)字萬(wàn)用表電子課件 中職 《電子測(cè)量?jī)x器及應(yīng)用》高教版
- 八級(jí)物理全冊(cè)第八章第一節(jié)壓力的作用效果習(xí)題課件新滬科20032143
- 八級(jí)物理上冊(cè)1.3長(zhǎng)度和時(shí)間測(cè)量的應(yīng)用 粵教滬科
- XX招商依山郡3號(hào)線公寓空看報(bào)告
- 平頂山天意項(xiàng)目?jī)r(jià)格確定與營(yíng)銷(xiāo)控制
- 某樓盤(pán)二期營(yíng)銷(xiāo)診斷PPT課件
- 7第七章政府采購(gòu)合同及項(xiàng)目的
- 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用-第06講數(shù)據(jù)庫(kù)權(quán)限與角色管理
- 期末復(fù)習(xí)專(zhuān)項(xiàng)一----詞語(yǔ)..課件
- 有機(jī)玻璃演示文稿、要點(diǎn)課件
- 財(cái)務(wù)會(huì)計(jì)-費(fèi)用的涉稅處理
- 初一數(shù)學(xué)下冊(cè)3.1認(rèn)識(shí)三角形
- 初一上冊(cè)第六課大自然的色彩
- 廣州開(kāi)發(fā)區(qū)二小學(xué)