




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、遼 寧 科 技 大 學課程設計報告設計題目: 學生成績管理學院、系: 電子與信息工程學院專業(yè)班級: 計算機 11-2 班 學生姓名: 趙月 指導教師: 龍艷彬 成 績: 2013年 1月 8 日目錄一、需求分析-3二、概要設計-3三、詳細設計-53.1系統流程圖-53。2界面設計-63。3各功能模塊的設計-7四、測試與分析-9五、總結-15六、附錄(源代碼)-161. 需求分析11問題描述本系統實現了學生成績管理的功能,具有學生成績的輸入、讀取、查詢、修改、插入、刪除、排序,統計等功能。12基本要求(1) 輸入的形式和輸入值的范圍; 首先輸入學生個數,按回車鍵.按照提示選擇,將學生信
2、息保存在文本文檔中,具體對學生信息進行插入刪除查詢操作時,將保存在文本文檔中的學生信息提取出來,保存在自己定義的數據結構中,然后再對該數據結構進行操作,所有操作完成,或者在相應的命令后,再將學生信息保存到文本文檔中。輸入數據類型主要是char、int、float等數據類型,輸入內容包括:學期、學號、姓名、高等數學成績,數據機構成績,大學英語成績總分,平均分等數據。(2) 輸出的形式;學期、學號、姓名、高等數學成績,數據結構成績,大學英語成績,總分,平均分等數據。(3) 程序所能達到的功能;1。數據輸入功能,輸入的數據能最終保存在文件中;2.數據刪除功能,能最終從文件中刪除;
3、3.排序功能,根據自己設計的數據結構,設計排序算法4。多種查詢(如按學號查詢、按姓名查詢、按成績查詢等)及輸出功能;6。 學生信息的修改(比如修改學生姓名,修改學生某門課程的成績) 7。其它功能(如各種統計,統計每個學生所有課程的平均分,統計某門課程所有學生的平均分等等)2、 概要設計1. 數據結構:數組(順序存儲結構)2. 程序模塊:(1)先編入系統所需的庫函數,使程序可運行include iostream。h#include <stdlib。h#include iomanip.h /主要是對cin,cout之類的一些操縱運算,是I/O流控制頭文件。 include conio。h/文
4、件和標準控制臺的輸入輸出include <stdio。h>(2) 主界面的設計在主界面中包括“輸入學生信息并保存到文件 讀取文件并輸出學生信息 按學號及學期查詢 按姓名及學期查詢 按學號及學期修改信息 插入信息 按學號及學期刪除信息 按數據結構降序(冒泡)排序 按總分降序(選擇)排序 統計各科成績的總分和平均分 11退出”等全部的功能。每個函數體如下:void input(Student r); /輸入void output(Student r); /輸出void searchnum(Student r); /按 學號及學期 查找void searchname(Student r)
5、; /按 姓名及學期 查找void change(Student r); /按 學號及學期 修改信息Student insert(Student r); /插入信息void shanchu(Student r); /按 學號及學期 刪除信息void maopao(Student *r); /按數據結構降序(冒泡)排序void xuanze(Student r); /按總分降序(選擇)排序void tongji(Student *r); /統計各科總分和平均分信息(3) Main()函數的設計在main()函數中主要運用do-while循環(huán)語句和switch()-case選擇判斷語句來調用相關功
6、能模塊.系統的運行是在一個循環(huán)里進行的,只有在主界面并選擇“退出”時,才會跳出循環(huán),并退出程序。void main()cout<"輸入學生的個數:"cinnum; /全局變量Student *p=(Student *)new Studentnum;/定義指針數組,存放學生個數int m;docout<endl;cout<<endl;cout<<”t-菜單欄<-n”endl;cout<”t 1 輸入學生信息并保存到文件 <2 讀取文件并輸出學生信息 *”<endl;cout<”t 3 按學號及學期查詢 4>
7、; 按姓名及學期查詢 ”<endl;cout<"t <5 按學號及學期修改信息 6 插入信息 *”<endl;cout<”t <7 按學號及學期刪除信息 8 按數據結構降序(冒泡)排序 ”<<endl;cout<"t* 9 按總分降序(選擇)排序 <10 統計各科成績的總分和平均分”<endl;cout”t* 11 退出 ”<endl;cout<”t-*n”<endl;cout”請選擇:";cin>m;switch(m)case 1: input(p); /輸入break;c
8、ase 2:output(p);break;case 3: searchnum(p);break;case 4: searchname(p);break;case 5: change(p);break;case 6: p=insert(p);break;case 7: shanchu(p);break;case 8: maopao(p);break;case 9:xuanze(p);break;case 10: tongji(p);break;case 11: /退出break;while(m!=11); 3、詳細設計1、系統流程圖輸入學生個數主界面輸入學生成績輸出學生成績查詢學生成績修改學生
9、成績插入學生成績刪除學生信息按總分排序按單科排序統計分數退出退出2、界面設計在此界面用戶可以選擇要操作的選項,回車之后即可進入相關的頁面進行操作(例如:選擇1,即可進入輸入學生信息頁面)3、各功能模塊的設計主函數模塊:用函數void main()來實現 主要是來顯示主菜單,使用戶選擇操作.首先定義一個指針數組(全局使用)Student p=(Student )new Studentnum;在此處num是指學生個數,并不是學號,在這里應用了dowhile和switch-case語句來進行選擇。最后若選擇“11"則是保存記錄并退出循環(huán).輸入學生記錄模塊:用函數void input(Stu
10、dent *r);來實現 主要功能用來對學生的成績進行輸入。首先會有個提示“輸入學生的個數",之后跳出主菜單,選擇"1”,進入輸入模塊輸入所需學生個數的學生信息,比如學期,學號,姓名,成績等。輸完之后會自動跳出主菜單。期間會有一些提示語,按照提示操作。根據if和for語句來判定是否有重復學號輸入,在本操作中,允許有重復學生姓名出現。t=1表示找到了與之重復的學號,t=0表示未出現重復學號。在此期間會根據語句算出總分和平均分,并默認按學號排序保存到文件中去。之后返回主菜單。輸出學生記錄模塊:用函數void output(Student *r);來實現 主要功能是用來輸出學生的
11、信息。在系統已經錄入了學生資料的前提下,用該功能可以顯示學生的信息資料.同時也會自動跳出主菜單進行后續(xù)操作。其中stew()指的是兩字節(jié)之間的間隔,在括號中填入數字就會有相應的間隔。按學號及學期來查找學生記錄模塊: 用函數void searchnum(Student *r);來實現 主要功能時用來查找學生記錄。首先會有提示輸入學號及學期,再用for循環(huán)語句和if判斷語句來進行查找,if(rm。num=n&rm.term=k)若找到則顯示學生記錄并跳出循環(huán);if(rm.num!=n&rm。term!=k)若沒有則提示“該學號不存在,或沒有這個學期的成績!”。按姓名及學期來查找學生
12、記錄模塊:用函數void searchname(Student r)來實現 主要功能也是用來查找學生記錄的。首先會有提示輸入姓名及學期,再用for循環(huán)語句和if判斷語句來進行查找,if((0 = n0) && (rm.term = k))若找到則顯示學生記錄并跳出循環(huán);if(0!=n0&&rm。term!=k)若沒有則提示”該姓名不存在,或沒有這個學期的成績!"按學號及學期修改信息:用函數void change(Student r)來實現 主要功能是用來修改學生記錄.首先也要有個判斷語句,判斷學生是否存在,這個是通過學號及學
13、期來判斷的,這里會有提示輸入學號及學期,之后是for和if語句,if(rm。num=n & rm。term=k)若存在則先輸出修改之前的信息,查看是否正確.若正確,則修改此學生記錄,這里有個while循環(huán)語句,和switch-case選擇語句,用來選擇修改哪科成績,和是否進行再修改記錄(通過選擇Y或y來實現)。最后將修改過后的記錄保存到文件中去,并輸出提示"文件已修改并寫入”。插入學生資料模塊:用函數Student insert(Student *r);實現 主要功能是用來添加學生資料,成績.若顯示沒有此學生的信息,就可以使用本模塊來進行添加。在此模塊代碼中定義了另一個指針數
14、組:Student *y = (Student *)new Studentnum+1;用來存放新添加的學生記錄。再利用for循環(huán)進行輸入新學生記錄,for(m=0;m<num;m+)最后會有一個提示語句cout”是否繼續(xù)輸入?(繼續(xù),輸入y,否則輸入其他)”<endl;若輸入y則繼續(xù)輸入,否則將返回主菜單。按學號及學期刪除學生記錄模塊用函數void shanchu(Student r)來實現 主要功能是用來刪除學生記錄.首先有個讀文件的操作,之后會有判斷語句,根據所輸入的學號及學期,來顯示刪除前的信息記錄,添加for循環(huán)語句,循環(huán)把后一位的信息提前一位,整體數量減一,來進行全局變量
15、的修改,之后再把修改過后的信息記錄保存到文件中去。按數據結構成績(冒泡)降序排序模塊用函數void maopao(Student r)來實現 主要功能時是用來對學生的記錄來按單科成績(這里以數據結構成績?yōu)槔?進行排序。這樣方便對某科成績有個大致的了解.首先會有一個讀文件操作,為排序做基礎。本排序使用冒泡排序。它有兩個優(yōu)點:一是很容易寫出代碼;二是具有穩(wěn)定性,這里的穩(wěn)定性是指原序列中相同兩元素的相對順序仍然保持到排序后的序列。冒泡排序時進過n-1趟子排序完成的,第i趟子排序從第1個數至第n+1個數,若第i個數比后一個數大(則升序,小則降序。本程序一律采用降序)則交換兩數.排序之后,將排序之后的結
16、果寫入文件,再打開文件的時候,里面顯示的就是按單科成績排序后的結果。按總分(選擇)降序排序: 用函數void xuanze(Student r)來實現主要功能時是用來對學生的記錄來按總分成績進行排序。這樣方便對學生總體有個大致的了解.首先會有一個讀文件操作,為排序做基礎.本排序使用選擇排序。其基本思想是:n個記錄的文件的直接選擇排序可進過n1趟直接選擇排序得到有序結果:初始狀態(tài),無序區(qū)為R1。.n,有序區(qū)為空。第一趟排序 在無序區(qū)R1.。n中選出關鍵字最小的記錄Rk,將它與無序區(qū)的第一個記錄R1交換,使R1。.n和R2.n分別變?yōu)橛涗泜€數增加1個的新有序區(qū)記錄和記錄數減少1個的新無序區(qū)。 。.
17、。 第i趟排序 第i趟排序開始時,當前有序區(qū)和無序區(qū)分別為R1.i-1和R(1in-1).該趟排序從當前無序區(qū)中選出關鍵字最小的記錄Rk,將它與無序區(qū)的第一個記錄與R交換,使R1.。i和R分別變成為記錄個數增加1個的新有序區(qū)和記錄個數減少1個的新無序區(qū)。這樣,n個記錄的文件的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。統計各科總分及平均分模塊:用函數void tongji(Student r)來實現 主要功能是計算總分和各科平均分,計算完之后將總分保存到文件中.4、 測試與分析進入主界面選擇<1>輸入學生信息輸入結束后的界面:Student.txt:23 趙月 89。0 9
18、2。0 88.0 3 269。0 89。712 李麗 92。0 85。0 88。0 3 265。0 88。331 王虎 87.0 79。0 45.0 3 211.0 70.3選擇<2>,輸出了學生信息:選擇<3,按學號及學期查詢學生信息:選擇4>,按姓名及學期查詢學生信息:選擇5>,按學號及學期修改學生信息:Student.txt:23 趙月 89.0 92。0 88。0 3 269。0 89。712 李麗 92。0 85.0 88.0 3 265。0 88。331 王虎 87.0 79.0 85。0 3 211。0 70。3選擇<6,插入學生信息:Stud
19、ent。txt:23 趙月 89。0 92.0 88。0 3 269。0 89。712 李麗 92.0 85.0 88.0 3 265.0 88。331 王虎 87.0 79。0 85。0 3 211。0 70。317 王萬 78.0 79。0 86。0 3 243。0 81.0選擇<7,按學號及學期刪除學生信息:Student。txt:23 趙月 89。0 88.0 88。0 3 269.0 89.712 李麗 92。0 88.0 88。0 3 265。0 88.317 王萬 78.0 86.0 86.0 3 243.0 81.0選擇8,按數據結構降序冒泡排序:Student。txt:
20、23 趙月 89。0 88。0 88。0 3 269。0 89.712 李麗 92。0 88.0 88.0 3 265。0 88。317 王萬 78.0 86。0 86。0 3 243。0 81。0選擇<9,按總分降序選擇排序:Student。txt:23 趙月 89.0 88。0 88。0 3 269.0 89。712 李麗 92。0 88。0 88。0 3 265.0 88。317 王萬 78。0 86。0 86.0 3 243.0 81。選擇10,統計各科成績的總分和平均分:選擇<11,退出:5、 總結 課程設計終于結束了感覺有很多的收獲,通過課程設計我又一次鞏固了所學的知識
21、,對學習到的理論知識進行了鞏固,真正的理解及體會了。平時有很多知識都是似懂非懂,通過平時上機操作,自己也了解了一些,但在這次的課設上,之前的困惑也通過這次的課設解決了一些,雖然還是不能夠全面的理解,但是有進步就很有成就感。在課程設計中遇到不少困難,通過查閱資料,詢問同學,在應用課本的前提下,拓展課外知識,完成了此次課程設計,雖然還有許多不足之處,但是從中我學到了許多東西.我懂得了我們不能拘泥于所學知識,應對其靈活運用。通過此次課程的設計使我認識到對知識的掌握不全面,而且感覺我們在學習專業(yè)知識的同時還需要再加強其他方面知識的學習,因為編程有時候涉及到其他方面的知識,只有了解了其他方面的知識才能收
22、集資料,然后編程.在編程的過程中,又重新復習了課本,從中學到了許多以前未學到的知識,感覺非常有成就感,特別當自己把程序一點點完善時,讓我對自己更加有信心,讓我對數據結構這門課程也更感興趣了,以前我一直感覺枯燥難學的數據結構,在編程的過程中我也愿意去認真研究學習了.這次數據結構課程設計中,多虧了同學的耐心幫助。如果沒有同學的指導改錯,我會花更多的時間去找錯誤.在以后的學習過程中,我一定會認真負責地對待課本中的每一個知識點,進一步充實自己,提高自己.爭取在不斷的練習中提高自己的層次。也希望可以在以后的專業(yè)課當中多增加一些實踐的內容,只有多動手,我們才能不斷提高。6、附錄:源程序清單 #includ
23、e iostream。hinclude <stdlib。hinclude iomanip。h /主要是對cin,cout之類的一些操縱運算,是I/O流控制頭文件. #include <conio。h /文件和標準控制臺的輸入輸出#include stdio。h /數組、結構體struct Student /結構體int term; /學期int num; /學號char name12; /姓名float mark1; /成績1float mark2; /成績2float mark3; /成績3float sum; /總分float average; /平均分;int num=0;/
24、聲明void input(Student *r); /輸入void output(Student r); /輸出void searchnum(Student r); /按 學號及學期 查找void searchname(Student *r); /按 姓名及學期 查找void change(Student r); /按 學號及學期 修改信息Student insert(Student r); /插入信息void shanchu(Student *r); /按 學號及學期 刪除信息void maopao(Student r); /按數據結構降序(冒泡)排序void xuanze(Student
25、*r); /按總分降序(選擇)排序void tongji(Student r); /統計各科總分和平均分信息void main()cout”輸入學生的個數:”;cin>num; /全局變量Student p=(Student *)new Studentnum;/定義指針數組,存放學生個數int m;docout<endl;cout<endl;cout<<”t*-菜單欄-n”endl;cout<<"t 1 輸入學生信息并保存到文件 2 讀取文件并輸出學生信息 "endl;cout<”t* 3 按學號及學期查詢 4 按姓名及學期查
26、詢 ”endl;cout<”t 5 按學號及學期修改信息 <6 插入信息 ”endl;cout<<"t <7 按學號及學期刪除信息 <8 按數據結構降序(冒泡)排序 ”<endl;cout"t* 9 按總分降序(選擇)排序 10> 統計各科成績的總分和平均分*"<endl;cout<”t* 11 退出 *”<endl;cout<<”t-n”<endl;cout<”請選擇:"cin>m;switch(m)case 1: input(p); /輸入break;ca
27、se 2:output(p);break;case 3: searchnum(p);break;case 4: searchname(p);break;case 5: change(p);break;case 6: p=insert(p);break;case 7: shanchu(p);break;case 8: maopao(p);break;case 9:xuanze(p);break;case 10: tongji(p);break;case 11: /退出break;while(m!=11); /輸入信息void input(Student r)FILE fp;int n=0;int
28、 i;int t=0;/t為標志位,1為找到,0為未找到 cout<endl”- 請輸入學生信息 <-”<<endl;for(i=0;i<num;i+)cout<<”請輸入學期:"cin>ri。term;cout”請輸入第”<i+1”個人的學號:”;cin>ri。num; if(i=1)for(n=0;n<i;n+)if(rn.num=ri。num) cout<”該學號已存在!"<endl;t=1;if(t=1)/表示有重復i;t=0;continue;cout<”請輸入姓名:”;cin&g
29、t;>;cout<"請輸入 高等數學 成績:"cin>ri。mark1;cout”請輸入 數據結構 成績:";cin>ri.mark2;cout”請輸入 大學英語 成績:”;cin>ri。mark3;ri。sum=ri。mark1+ri.mark2+ri.mark3;ri。average=(ri。mark1+ri。mark2+ri。mark3)/3;fp=fopen(”student。txt”,”w+”);if(!fp) cout<"文件不能打開”<endl;exit(0); for(n=0;ni;
30、n+)fprintf(fp,"d %s %。1f 。1f %.1f d %。1f 。1f”,rn。num,,rn。mark1,rn.mark2,rn.mark3,rn。term,rn。sum,rn。average);fprintf(fp,”n”);fclose(fp);cout<<"文件已經寫入”<<endl;/輸出信息void output(Student *r) int m;system("cls”); /清屏if(num0)FILE *fp;if(fp=fopen(”student。txt”,"r”))=NUL
31、L) /r只讀cout<<"文件不能打開”<<endl;exit(0); for(int n=0;nnum;n+)fscanf(fp,”%dsfffdf%f”,rn.num,,&rn。mark1,rn.mark2,&rn。mark3,&rn。term,rn。sum,&rn。average);fclose(fp); /關閉文件cout”文件已經讀入”endl;cout<<”- 學生信息如下 -”<endl;cout<”學號”<setw(6)<"姓名”setw(10)<
32、;”高等數學"<<setw(10)<<”數據結構”setw(10) /setw(6) 設置輸出寬度<”大學英語”<<setw(6)<<”學期”setw(6)<"總分”setw(8)<”平均分”<endl;cout<”-”endl;for(m=0;mnum;m+)coutrm。numsetw(6)<<<setw(7)rm。mark1setw(10)rm.mark2<<setw(10)<rm.mark3<setw(8)rm。term<set
33、w(6)<rm。sum<setw(6)<rm。averageendl;cout<<"00"endl;elsecout"未輸入任何信息!”endl;/按學號及學期查找void searchnum(Student r)int n,k;system("cls"); /清屏if(num0)cout<”請輸入要查找學生的學號:";cin>n;cout<”請輸入學期號:”;cin>k;for(int m=0;m<num;m+)if(rm。num=n&rm.term=k)/如果找到
34、了輸出并跳出循環(huán)cout<<endl;cout<”- 要查找的信息如下 -"<endl;cout<<”學號”<setw(6)<<”姓名”<setw(10)”高等數學"<setw(10)”數據結構"setw(10)<”大學英語"<setw(6)<”學期"<setw(6)"總分”setw(8)"平均分”endl;coutrm.numsetw(6)<setw(7)<<rm。mark1<setw(10)rm
35、。mark2setw(10)<rm。mark3setw(8)rm。termsetw(6)rm。sumsetw(8)rm。average<endl;break;if(rm.num!=n&rm。term!=k)/若沒找到提示不存在cout<”該學號不存在,或沒有這個學期的成績!”endl;elsecout"未輸入任何信息!!"<endl;/按姓名及學期查找void searchname(Student *r)char n12;int k;system("cls"); /清屏if(num0) /如果沒輸入就查找提示cout”請輸
36、入要查找學生的姓名:”;cin>>n;cout<"請輸入學期號:”;cin>k;for(int m=0;mnum;m+)if((0 = n0) (rm.term = k) /如果找到了輸出并跳出循環(huán)cout<endl;cout”- 要查找的信息如下 -”<endl;cout<”學號"<setw(6)<"姓名"setw(10)<"高等數學”setw(10)<<”數據結構”<setw(10)”大學英語”<setw(6)”學期”<<setw(
37、6)”總分”<<setw(8)”平均分"<<endl;coutrm.numsetw(6)<<setw(7)rm。mark1<setw(10)rm。mark2setw(10)rm。mark3setw(8)rm.termsetw(6)rm。sum<setw(8)<rm。average<endl;break;if(0!=n0&rm。term!=k) /若沒找到提示不存在cout<”該姓名不存在,或沒有這個學期的成績!”<endl;elsecout"未輸入任何信息!”<
38、<endl;/按學號及學期修改信息 void change(Student *r) FILE fp;int n=0;char chiose =Y;if(num>0)int n,k;int t=0;system(”cls"); /清屏cout<"輸入要修改成績的學生學號:”;cin>>n;cout<"所需修改的學期:";cink;for(int m=0;m<num;m+)if(rm。num=n rm。term=k)int j;coutendl;cout<”-> 修改前的信息如下 -"endl;
39、cout"學號"<setw(6)<”姓名”<setw(10)”高等數學"setw(10)<”數據結構”setw(10)<"大學英語"setw(6)<”學期"setw(6)”總分”<setw(8)<<"平均分”<endl;cout<rm.num<setw(6)<setw(7)<rm。mark1setw(10)rm。mark2setw(10)rm.mark3setw(8)rm。term<setw(6)rm。sumsetw(8)
40、rm。averageendl;coutendl;while (chiose=Y'chiose=y')cout<”ttt-> 可以修改的項目如下 -n”<endl;cout<”ttt 1.修改學生的 高等數學 成績記錄n"<endl;cout<<”ttt 2。修改學生的 數據結構 成績記錄n”endl;cout<"ttt 3。修改學生的 大學英語 成績記錄n”endl; cout<"請選擇:";cinj;switch(j)case 1:cout<<”輸入新的 高等數學 成績:
41、";cinrm。mark1;break;case 2:cout<<"輸入新的 數據結構 成績:”;cin>rm.mark2;break;case 3: cout”輸入新的 大學英語 成績:”;cin>rm。mark3;break;t=1;cout<”是否要繼續(xù)修改此學生的其他成績記錄?(Y/N)"fflush(stdin);/清空輸入緩沖區(qū),通常是為了確保不影響后面的數據讀取cin>chiose;elsecout<<"未輸入任何信息!"<endl;if(fp=fopen("stud
42、ent.txt”,”w")=NULL) cout<<”文件不能打開”<<endl;exit(0); for(n=0;nnum;n+)fprintf(fp,”d s 。1f %。1f .1f d .1f %。1f”,rn.num,,rn。mark1,rn.mark2,rn。mark3,rn.term,rn。sum,rn。average);fprintf(fp,”n”);fclose(fp);cout”文件已修改并寫入"<endl;/插入Student *insert(Student r) FILE *fp;int m;char n;
43、doif(fp=fopen(”student.txt”,”r”)=NULL) cout"文件不能打開”endl;exit(0); for(int o=0;onum;o+)fscanf(fp,"d%s%f%ffd%ff",ro。num,,ro。mark1,&ro。mark2,ro.mark3,&ro。term,ro。sum,&ro.average);Student y = (Student )new Studentnum+1;/定義另一個數組,用于存放新添加的記錄for(m=0;mnum;m+)ym=rm;r=y;cout<
44、;"請輸入學期:”;cinrnum.term;cout<”請輸入學號:"cin>rnum。num;cout”請輸入姓名:”;cin>>;cout"請輸入 高等數學 成績:”;cin>rnum.mark1;cout"請輸入 數據結構 成績:”;cinrnum.mark2;cout<”請輸入 大學英語 成績:”;cin>rnum。mark3;rnum.sum=rnum。mark1+rnum。mark2+rnum。mark3;/計算總分rnum。average=(rnum。mark1+rnum。mar
45、k2+rnum.mark3)/3;num+;cout"是否繼續(xù)輸入?(繼續(xù),輸入y,否則輸入其他)”endl;cin>n;while(n=y);if(fp=fopen(”student。txt",”w+"))=NULL)cout"文件不能打開"<endl;exit(0); for(n=0;n<num;n+)fprintf(fp,”d s .1f 。1f %。1f d %.1f 。1f”,rn。num,,rn。mark1,rn.mark2,rn.mark3,rn。term,rn。sum,rn。average);fprintf(fp,"n”);fclose(fp);cout<"文件已經寫入"endl;return r;/按學號及學期刪除信息void shanchu(Student r)FILE *fp;if(num0)if((fp=fopen("stu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技與文化太原文化產業(yè)的雙輪驅動策略
- 電子商務平臺的營銷策略及效果比較
- 棗莊房屋租賃合同范本
- 領帶訂做合同范本
- 2025至2030年中國煙塵過濾檢測器數據監(jiān)測研究報告
- 知識產教育推廣助力科技發(fā)展與創(chuàng)新
- 2025年中儲糧集團紀檢監(jiān)察組招聘(4人)筆試參考題庫附帶答案詳解
- 上海購房合同范本
- 科技引領下的食品安全管理-以肉類產品為例的實踐研究
- 2025至2030年中國水移畫裝飾門數據監(jiān)測研究報告
- 液壓滑動模板施工方案
- 農產品電商運營-完整全套課件
- 唐河縣泌陽凹陷郭橋天然堿礦產資源開采與生態(tài)修復方案
- 科研項目匯報ppt
- 建設工程項目法律風險防控培訓稿PPT講座
- “不作為、慢作為、亂作為”自查自糾報告范文(三篇)
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
- 課件《中國式現代化》
- 公共事業(yè)管理案例
- 建筑電工考試題庫與答案
- TCSES 71-2022 二氧化碳地質利用與封存項目泄漏風險評價規(guī)范
評論
0/150
提交評論