歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

學(xué)生成績(jī)管理系統(tǒng)[共28頁(yè)]

  • 資源ID:44295889       資源大?。?span id="knddwwk" class="font-tahoma">348KB        全文頁(yè)數(shù):28頁(yè)
  • 資源格式: DOC        下載積分:12積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要12積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

學(xué)生成績(jī)管理系統(tǒng)[共28頁(yè)]

成績(jī)?cè)u(píng)定教師簽名嘉應(yīng)學(xué)院 計(jì)算機(jī)學(xué)院數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告課程名稱:數(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)行讀寫。(3) 所有過(guò)渡性數(shù)據(jù)使用二進(jìn)制文件進(jìn)行讀寫和保存。(4) 設(shè)計(jì)使用平行志愿進(jìn)行出檔。(5) 設(shè)計(jì)使用非平行志愿行進(jìn)出檔。(6) 設(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) 查詢學(xué)生信息(查詢可分為精確查詢和模糊查詢)(5) 修改學(xué)生信息(要求修改后,數(shù)據(jù)依然是按學(xué)號(hào)順序排列)(6) 插入學(xué)生信息(要求插入后,數(shù)據(jù)依然是按學(xué)號(hào)順序排列)(7) 附加功能,學(xué)生可自由發(fā)揮,如:排名、求各門課程平均分等。三、實(shí)驗(yàn)?zāi)康?、掌握和鞏固C語(yǔ)言編寫的相關(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ù),判斷是否保存,如果保存寫入文件。插入功能:運(yùn)用鏈表插入。修改功能:調(diào)用刪除函數(shù)跟插入函數(shù),先刪除再插入,從而實(shí)現(xiàn)修改功能。查詢功能:調(diào)用菜單中的查詢函數(shù),用循環(huán)實(shí)現(xiàn)查詢功能。排名功能:調(diào)用菜單中的排名函數(shù),通過(guò)冒泡排序法實(shí)現(xiàn)功能。保存功能:運(yùn)用寫入文件。五、系統(tǒng)設(shè)計(jì)定義一個(gè)student類型的結(jié)構(gòu)體,里面包含學(xué)生信息,包括學(xué)號(hào)、姓名、性別、課程單科成績(jī)(單科成績(jī)包括C語(yǔ)言、高數(shù)、大學(xué)語(yǔ)文、匯編、中近史)、總分、平均成績(jī)。5.1 新建功能 從鍵盤輸入N個(gè)學(xué)生基本信息,包括學(xué)號(hào)、姓名、性別、課程單科成績(jī)(單科成績(jī)包括C語(yǔ)言、高數(shù)、大學(xué)語(yǔ)文、匯編、中近史),編程根據(jù)輸入信息計(jì)算各學(xué)生總分和平均分。創(chuàng)建動(dòng)態(tài)鏈表,將學(xué)生信息存入鏈表中。在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)、姓名、性別、課程單科成績(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 查詢功能查詢分為:精確查詢、模糊查詢精確查詢:(1) 按姓名查詢 輸入待查詢的姓名; 根據(jù)順序查詢的方法,對(duì)學(xué)生的姓名依次查詢,直到查詢到與輸入的信息相匹配的信息,并在DOS屏幕上顯示出來(lái)。若需要查詢的信息不存在,系統(tǒng)則會(huì)提示找不到此人??芍貜?fù)查詢。(2) 按學(xué)號(hào)查詢輸入待查詢的學(xué)號(hào); 根據(jù)順序查詢的方法,對(duì)學(xué)生的學(xué)號(hào)依次查詢,直到查詢到與輸入的信息相匹配的信息,并在DOS屏幕顯示出來(lái)。若需要查詢的信息不存在,系統(tǒng)則會(huì)提示找不到此人。可重復(fù)查詢。模糊查詢:(1) 按姓氏查詢 輸入待查詢的姓氏; 根據(jù)順序查詢的方法,對(duì)學(xué)生的姓依次查詢,當(dāng)查詢到與輸入的信息相匹配的信息,則在DOS屏幕顯示出來(lái),直到鏈表結(jié)束。若需要查詢的信息不存在,系統(tǒng)則會(huì)提示找不到相關(guān)信息??芍貜?fù)查詢。(2) 按性別查詢 輸入待查詢的性別; 根據(jù)順序查詢的方法,對(duì)學(xué)生的性別依次查詢,當(dāng)查詢到與輸入的信息相匹配的信息,則在DOS屏幕顯示出來(lái),直到鏈表結(jié)束??芍貜?fù)查詢。5.6 刪除功能 在DOS屏幕上打印出當(dāng)前的所有學(xué)生信息。(1)按姓名刪除輸入需要?jiǎng)h除的學(xué)生姓名; 根據(jù)順序查詢的方法,對(duì)學(xué)生的姓名依次查詢,當(dāng)查詢到與輸入的信息相匹配的信息,則刪除該生信息,并在DOS屏幕顯示出新的所有學(xué)生信息。若需要?jiǎng)h除的信息不存在,系統(tǒng)則會(huì)提示刪除失敗。(2)按學(xué)號(hào)刪除輸入需要?jiǎng)h除的學(xué)生學(xué)號(hào); 根據(jù)順序查詢的方法,對(duì)學(xué)生的學(xué)號(hào)依次查詢,當(dāng)查詢到與輸入的信息相匹配的信息,則刪除該生信息,并在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),保存功能在每段函數(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 查詢功能精確查詢-按姓名查詢精確查詢-按學(xué)號(hào)查詢模糊查詢-按姓氏查詢模糊查詢-按性別查詢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ǔ)言編寫的相關(guān)知識(shí)和技巧,特別是函數(shù)、指針、結(jié)構(gòu)體、鏈表等功能。通過(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ì)技能,雖然在設(shè)計(jì)過(guò)程中遇到了不少問(wèn)題麻煩,在教材數(shù)據(jù)的幫助下,完成了這次程序設(shè)計(jì)。 七、源代碼#include <stdlib.h>#include <stdio.h>#include <string.h>/*-*/#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,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("Allocation failuren"); exit(0); printf("n"); printf("輸入姓名<如:zhangsan>: "); gets(p->name); printf("輸入學(xué)號(hào)<如:1>: "); scanf("%d",&p->num); c=getchar(); printf("輸入性別<M/F>: "); 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->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指向新的尾結(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!=op; p1 = p1->next) if (p1->next->sum < p1->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ù) 大學(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(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; fread(p1,LEN,1,fp); p2->next=NULL;fclose(fp); return(head);void find(struct student *head)/* 查詢功能 */ 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!=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) 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=3) printf("按姓氏查詢:n"); gets(c); while ( p!=NULL) if (strncmp(c,p->name,1)=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=4) printf("按性別查詢: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 %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; 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) 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; ;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ī)管理與查詢.nn");printf(" 二.班級(jí)成績(jī)管理系統(tǒng)主要包括:數(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)/* 插入功能 */ 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->num<p->num) if (p=head) head=op; /* 在表頭插入結(jié)點(diǎn) */ else q->next=op; /* 在表中間插入結(jié)點(diǎn) */ op->next=p; else p->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->score1); 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)/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ī):"); 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+op->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("color 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.查詢功能 * 6.刪除功能 *");printf("nn"); printf("* 7.排名功能 * 8.關(guān)于我們 *");printf("nn"); 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+先新建文件在寫入數(shù)據(jù)printf("新建文件失??!n");elseprintf("新建文件成功!n");head=creat();write(head);break; case 2:printf("nn讀取文件數(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("%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;

注意事項(xiàng)

本文(學(xué)生成績(jī)管理系統(tǒng)[共28頁(yè)])為本站會(huì)員(gfy****yf)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!