欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      c++大作業(yè) 學生成績管理系統(tǒng) 學生實驗報告 樣本[最終版]

      時間:2019-05-12 14:32:07下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《c++大作業(yè) 學生成績管理系統(tǒng) 學生實驗報告 樣本[最終版]》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《c++大作業(yè) 學生成績管理系統(tǒng) 學生實驗報告 樣本[最終版]》。

      第一篇:c++大作業(yè) 學生成績管理系統(tǒng) 學生實驗報告 樣本[最終版]

      學生實驗報告

      實驗課名稱: C++程序設計

      實驗項目名稱:綜合大作業(yè)——學生成績管理系統(tǒng) 專業(yè)名稱:

      學級:號:

      學生姓名:

      同組成員:

      教師姓名:

      題目:學生成績管理系統(tǒng)一、實驗目的:

      (1)對C++語法、基礎知識和編程技巧進行綜合運用,編寫具有一定綜合應用價值的稍大一些的程序。培養(yǎng)學生分析和解決實際問題的能力。

      (2)熟悉掌握C++的語法和面向對象程序設計方法。進一步理解和運用結構化和面向對象程設計想結合的思想和方法

      (3)培養(yǎng)學生的邏輯思維能力,編程能力和程序調試能力以及工程項目分析和管理能力。

      (4)學會利用流程圖或N-S圖表示算法;

      (5)掌握書寫程設計開發(fā)文檔的能力(書寫課程設計報告);

      二、設計任務與要求:

      (1)要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計。

      (2)在系統(tǒng)的設計中,能夠運用面向對象的機制(繼承、派生)來實現(xiàn)系統(tǒng)功能,并且要建立清晰的類層次關系。

      (3)主函數(shù)中提供菜單選項,并給出足夠的選擇信息以及提示信息。界面友好(良好的人機交互),加必要的注釋;

      (4)程序具有一定的健壯性,不會因為用戶的輸入錯誤引起程序運行錯誤而中斷執(zhí)行。

      三、系統(tǒng)需求分析:

      (1)需求分析

      建立成績管理系統(tǒng),包含了學生的全部信息,包括學號,姓名,出生日期,年齡(通過計算得出),各科成績等。然后對其相關操作。

      (2)系統(tǒng)功能分析

      信息錄入、信息顯示、信息查詢、信息刪除、信息修改、信息保存。

      (3)系統(tǒng)功能模塊

      a、主程序模塊

      本程序各個模塊功能均用函數(shù)實現(xiàn),主程序主要用來實現(xiàn)數(shù)據(jù)的初始化,定義變量,調用函數(shù)等,實現(xiàn)對程序的整體控制。

      b、登錄密碼模塊

      本模塊用于管理登錄,只保存了兩個管理員,并且輸入錯誤,會提示錯誤原因,管理員不存在或者密碼錯誤,同時有輸入上限,三次輸入錯誤即退出系統(tǒng)。

      c、信息錄入模塊

      錄入學生成績信息(包括學生學號、姓名、出生日期、年齡、各門課程的成績等),將信息記錄到當前*End中,然后End指向新的內存。

      d、信息顯示模塊

      顯示錄入的所有信息,使用for循環(huán),起始條件Head->Next,終止于End。

      e、信息查詢模塊

      輸入學號或名字,查詢學生各門課程的成績及總成績,輸入姓名查詢,將查詢到指針保存到指針數(shù)組中,同時使用i記錄保存指針的數(shù)目,然后將End賦給指針數(shù)組作為結束條件;輸入學號查詢,成功則返回上一個指針,不成功就返回空。

      f、信息刪除模塊

      兩種方式,通過姓名,調用FindItem(char * name,student *a[])并返回i,i=0不存在,i=1直接刪除,i>1顯示所有相同姓名的信息供用戶選擇刪除,通過學號(唯一性)直接刪除該學生的成績信息;

      g、信息修改模塊

      同刪除模塊類似,首先查詢,出現(xiàn)重名選擇修改。

      h、信息排序模塊

      根據(jù)總成績高低排序,交換兩個數(shù)據(jù)域完成排序,用for循環(huán)完成所有的信息排序。h、信息保存模塊

      退出時,將學生的學號、姓名及各門課程的成績等信息保存于外部存儲器的sort.txt文件中。

      (4)模塊功能框架圖

      四、系統(tǒng)設計與實現(xiàn)

      1、基類class Student用來封裝學生的所有信息,以及基本操作即讀寫數(shù)據(jù)。

      2、派生類class Studentmessage繼承了Student的所有功能,同時增加了增加信息,顯示,修改等功能,實現(xiàn)對信息的所有操作。

      3、main()用來實現(xiàn)對程序的整體控制;code()用于保護信息安全性,限制登錄。

      4、定義文件輸入流對象in和輸出流對象out,實現(xiàn)對外部文件的操作,使得數(shù)據(jù)得

      以保存。

      5、Student * Next用于實現(xiàn)鏈表的操作,保存下一個對象的地址。

      五、調試過程:測試數(shù)據(jù)及結果

      1、新建

      2、查找

      3、修改

      4、刪除

      六、系統(tǒng)有待改進的地方

      七、設計心得與體會

      八、參考資料

      八、系統(tǒng)有待改進的地方

      九、設計心得與體會

      此次c++課程設計,在指導教師的精心教導下,我們學會了如何用C++編寫一個簡單的應用程序。首先要對程序的設計要求有一個比較明確的認識,然后系統(tǒng)分析與系統(tǒng)設計,最后是代碼設計與調試。程序實現(xiàn)上,設計了簡單的查詢界面,將各個功能集中出來按照程序編寫原則,便于查詢。

      根據(jù)C++課程所學的概念、理論和方法,按照C++程序設計的基本步驟,設計出一個適當規(guī)模的程序;進一步加深對C++語言的理解和掌握。理論聯(lián)系實際,加深和鞏固所學的理論知識,提高實踐能力和計算機的綜合運用能力。我們編寫程序的過程是辛苦與快樂的,程序的編寫原則很重要,只要我們在編程,就必須不斷改進,才能更好提高編程能力。

      十、參考資料

      《C++primer》(美)普拉塔(Prata,S.)著 人民郵電出版社 《數(shù)據(jù)結構》嚴蔚敏 著清華大學出版社

      第二篇:學生成績管理系統(tǒng)實驗報告

      中南大學

      二○一三~二○一四學年第二學期 信息科學與工程學院

      C++課程設計報告

      課程名稱: C++課程設計班級: 通信工程1304班學號:0905130417姓名:毛騰指導教師:

      二○一四年七月

      目錄

      一. 需求分析

      二.三.

      四.五.六.

      程序結構

      算法分析運行結果

      學之心得

      程序源碼

      一. 需求分析

      (一)小型學生成績管理系統(tǒng)

      1、需要處理的基礎數(shù)據(jù)

      ? 學生基本信息:如班級、學號、姓名、性別、年齡、宿舍號碼、電話號

      碼等。

      ? 學生選修課程的基本信息:課程編號、課程名稱、考試成績、平時成績、綜合成績、學分、重修否等。

      2、系統(tǒng)的基本功能

      ? 數(shù)據(jù)的錄入:如錄入學生的基本信息,以及該學生選修課程的基本信息; ? 數(shù)據(jù)的修改:如修改指定學號、或者指定姓名的學生信息,或者修改其

      選修課程信息;

      ? 數(shù)據(jù)的插入:插入某個學生信息;

      ? 數(shù)據(jù)的查詢:如按學號查詢、按姓名查詢等;

      ? 數(shù)據(jù)的刪除:如刪除指定學號、或者指定姓名的學生及其選修課程信息; ?平均成績的計算:計算每個學生各門功課的平均成績,并按平均成績從

      高到低的次序輸出學生信息;

      ? 列出不及格學生清單(學號、姓名、不及格的課程和成績)。? 考慮用文件把數(shù)據(jù)保存起來(可選)。

      二.程序結構

      (1)程序框圖

      第三篇:長安大學C++設計 學生成績管理系統(tǒng)實驗報告

      C++程序設計實驗報告

      院系:電子與控制工程學院 交通信息與控制工程系 學號:2011320101 姓名:XXX

      2012年11月20

      學生信息管理系統(tǒng)一、問題描述和需求分析;

      編寫一個學生信息管理系統(tǒng),要求如下:

      ①對某個班級的學生的5門課程的學習成績進行管理,用菜單選擇操作方式完成下列基本功能: ★登記學生成績; ★查詢學生成績; ★插入學生成績; ★刪除學生成績。

      ②用菜單選擇方式完成下列擴充功能: ★每門課程的平均成績;

      ★輸出每門課程成績優(yōu)秀的學生名單及成績;

      ★輸出只要有一門課程不及格的學生名單及其每門成績; ★對5門課程中可以指定某一門課程進行排序。

      二、概要設計;

      1)主要變量:

      1)intnum;

      /*學號*/; char name[20];/*姓名*/; 2)char sex[2];

      / *性別*/; 3)int score[3];

      /*成績*/; 4)int sum;

      /*總成績*/;

      5)int n;

      /*聲明一個全局變量*/;

      6)struct student *next

      /*聲明一個結構體指針*/;(2)自定義函數(shù):

      1)Student *cin(void);

      /*學生信息成績錄入函數(shù)*/ 2)Student *sort_1(Student *head,int);/*聲明按學號排序函數(shù)*/ 3)void sort_2(Student *head);/*聲明按總分排序函數(shù)*/ 4)void print(Student *head);/*聲明顯示函數(shù)*/ 5)Student *sort_all(Student *head);/*聲明排序函數(shù)*/ 6)void find(Student *head);/*聲明查詢函數(shù)*/

      2)

      a)模塊的功能及程序說明;

      整個系統(tǒng)除了主函數(shù)外,另外還有10個函數(shù),實現(xiàn)八大功能:輸入功能、顯示功能、查找功能、排序功能、插入功能、保存功能、讀取功能。各個函數(shù)的詳細設計說明分別如下:

      1、主函數(shù) main()利用無限次循環(huán)for(;;)和swithch()實現(xiàn)各函數(shù)的調用,系統(tǒng)根據(jù)輸入的數(shù)字選項來調用相應的函數(shù)。

      2、初始化函數(shù)STUDENT *init()這是一個無參函數(shù),里面只有一個語句,它的作用是使鏈表初始化,使head的值為NULL。比如:沒有這個函數(shù)的話,在你沒有輸入任何數(shù)據(jù)的情況下,去執(zhí)行顯示功能的時候會顯示一些亂碼!

      3、菜單選擇函數(shù)intmenu_select();這是一個無參函數(shù),主要實現(xiàn)“功能選擇”的界面,在這個界面里有顯示系統(tǒng)的九大功能,根據(jù)每個功能前面的序號進行選擇,中間還顯示系統(tǒng)當前的時間。等執(zhí)行完每一個函數(shù)功能后,按任一鍵回到主界面也要通過這個函數(shù)來實現(xiàn)!

      4、輸入記錄函數(shù) STUDENT *create()這是一個無參函數(shù),用來執(zhí)行第學生成績記錄的輸入,當學生為0時停止輸入,函數(shù)結束后,帶回一個指向鏈表頭的指針head。

      算法:先聲明一個首節(jié)點head,并將head->next設為NULL。每輸入一個數(shù)據(jù)就聲明一個新節(jié)點p,把p->next設為NULL,并且鏈接到之前列表的尾端。

      5、顯示記錄函數(shù) void print(STUDENT *head)這是一個不返回值的有參函數(shù),形參為“鏈表頭的指針”,負責對全部學生成績記錄的輸出,不足之處就是不能對學生成績進行分頁顯示。

      算法:先將p結點的指針指向第一個結點,將p結點(即第一個結點)的數(shù)據(jù)輸出。然后再將p結點的指針指向p指針的的指針(即下一結點),將p結點(即第一結點)的數(shù)據(jù)輸出。重復執(zhí)行此步聚直到p指針指向NULL為止。

      6、查找記錄函數(shù) void search(STUDENT *head)這是一個不返回值的有參函數(shù),形參為“鏈表頭的指針”,實現(xiàn)按學號對某個學生進行查找,并顯示所查找到的記錄。

      算法:采用線性查找法往下一個節(jié)點查找。輸入所要查找的學生的學號s,設一個指針變量p,先指向第一個結點,當strcmp(p->name,s)&& p!= NULL時,使p后移一個結點,如果p!=NULL,輸出p所指的結點。

      7、刪除記錄函數(shù) STUDENT *delete(STUDENT *head)這是一個有參函數(shù),形參為“鏈表頭的指針”,先輸入要刪除的學生記錄的學號,找到后顯示該學生信息,等確認后便可按“Y”進行刪除。算法:從p指向的第一個結點開始,檢查該結點中的num值是否等于輸入的要求刪除的那個學號。如果相等就將該結點刪除,如不相等,就將p后移一個結點,再如此進行下去,直到遇到表尾為止。

      8、排序函數(shù) STUDENT *sort(STUDENT *head)這是一個有參函數(shù),形參為“鏈表頭的指針”,按學生成績的平均分高低進行排序,還可以顯示名次。

      9、插入函數(shù) STUDENT *insert(STUDENT *head,STUDENT *new)這是一個有參函數(shù),形參有兩個,一個是“鏈表頭的指針”,一個是“待插入指針”,按照原來成績平均分的高低進行插入,插入后會重新進行排序,并返

      回。

      算法:先將學生的成績按平均分由高分到低分進行排序,再插入一個新生的結點,要求按平均分的高低順序插入。先用指針變量p0指向待插入的結點,p1指向第一個結點。如果p0->average

      average,則待插入的結點不應插在p1所指的結點之前。此時將p1后移,并使p2指向剛才p1所指的結點。重復以上的步驟,直到p0->average>=p1->average為止。這時將p0指向的結點插到p1所指結點之前。但是如果p1所指的已是表尾結點,則p1就不應后移了。如果p0->average比所有結點的average都小,則應將p0所指的結點插到鏈表末尾。如果插入的位置既不在第一個結點之前,又不在表尾結點之后,則將p0的值賦給p2->,使p2->next指向待插入的結點,然后將p1的值賦給p0->next,使得p0->next指向p1指向的變量。如果插入位置為第一個結點之前,則將p0賦給head,將p1賦給p0->next。如果要插到表尾之后,應將p0賦給p1->next,NULL賦給p0->next。最后再調用排序的函數(shù),將學生成績重新排序.10、保存數(shù)據(jù)到文件函數(shù) void save(STUDENT *head)這是一個不返回值的有參函數(shù),形參為“鏈表頭的指針”,可以把學生記錄保存在電腦上由自己任意命名的二進制文件。a)核心算法流程圖;

      b)核心源程序模塊;

      核心源程序為驅動整個程序運行的最重要的模塊,通過核心源程序將2)中的主要模塊進行組織與構成,依次執(zhí)行上述的十個模塊中的程序,使程序能夠正常運行??傮w功能要求:

      (1)鏈表的建立,每個節(jié)點包括:學號、姓名、性別、語文、數(shù)學、英語、總分。

      (2)節(jié)點的插入,按學號的順序插入。

      (3)刪除鏈表中的節(jié)點,按學號或者姓名。

      (4)鏈表的輸出。按學號排序、按總分排序功能模塊圖、流程圖(要求有總體的功能模塊圖、各部分流程圖):

      核心源程序位于main函數(shù)中,先對系統(tǒng)進行初始化,之后進入模式選擇界面,選擇模式并進行相應的操作,返回值 模式選擇界面,直到錄入完成,進行查詢計算,查詢結束 可以選擇刪改,最后退出程序。

      四.調試分析

      (1)作為一個學生成績管理系統(tǒng),用戶可以首先使用管理員模式初始化該系統(tǒng),并產生一個開始的學生成績系統(tǒng),初始化時可輸入學生姓名、學生學號、學生各科成績等信息。初始化完成之后,用戶可選擇使用管理員模式進入系統(tǒng)修改學生信息,也可以選擇使用用戶模式進入系統(tǒng),對學生成績進行各項查詢,其中有成績最高分查詢,還可以按照不

      同的要求進行排序,有按照學號,按照分數(shù)高低等;同時可以生成學生成績表,更加直觀的對比查詢學生各項成績,最后還可以刪除或者添加學生成績及各項信息,避免開始的錄入錯誤。

      (2)通過對該課題的程序設計,我認識到了C語言作為一種程序機械語言的靈活性。C語言不僅僅是C++以及其他程序語言的基礎,也可以做出許多復雜的程序,學好C語言是很有好處的。

      五.測試結果;

      1.初次進入系統(tǒng),進行學生成績系統(tǒng)的初始化:

      可以根據(jù)學生人數(shù)的多少輸入若干學生的各項信息和成績信息,當要結束時,可以輸入0結束學生信息的錄入。

      2.可以選擇按照學生的總分進行排序,并清楚的顯示其排序結果。

      3.接下來可以進行學生成績統(tǒng)計排序。

      4.在學生成績管理系統(tǒng)中,可以根據(jù)初始化的數(shù)據(jù),對學生計算學生均分以及求出單科最高分的同學。

      六.設計體會;

      此次C語言程序設計實踐,本人實在是獲益不淺!C語言是上個學期開的課程,所以這個學期并沒怎么看過,當要開始設計的時候,還真不知從哪下手!結果,第一次的上機,我只坐了一個下午,什么也沒干!回去以后,我想,這樣不行,這樣下去還得了!我就重新學了一遍我們上個學期的教材,發(fā)覺自已有許多都遺忘了!特別是有文件的操作,幾乎是一遍空白!幾乎花了我百分之九十的時間,而且還是在一些在其他同學的幫助下和在上網查看了大量的資料之后才做出來!最后,想說兩句,這次設計,讓我重新掌握了C語言,而且還得到了用C語言解決實際問題的寶貴經驗!

      通過對該課題的程序設計,我認識到了C語言作為一種程序機械語言的靈活性。C語言不僅僅是C++以及其他程序語言的基礎,也可以做出許多復雜的程序。在試驗當中,通過對許多不甚了解的語言規(guī)則的上網查閱,豐富了我自己對C語言的知識與認識。也了解了許多C語言程序設計的基本思路,開闊了自己的視野,也鞏固了上學期對于C語言的學習。

      七、附錄

      源程序代碼:

      #include #include #include #include #define LEN sizeof(Student)typedefstruct student { intnum;/*學號*/ char name[20];/*姓名*/ char sex[2];/*性別*/ int score[3];/*成績*/ int sum;/*總成績*/ struct student *next;}Student;int n;/*聲明一個全局變量*/ Student *cin(void);Student *sort_1(Student *head,int);/*聲明按學號排序函數(shù)*/ void sort_2(Student *head);/*聲明按總分排序函數(shù)*/ void print(Student *head);/*聲明顯示函數(shù)*/ Student *sort_all(Student *head);/*聲明排序函數(shù)*/ void find(Student *head);/*聲明查詢函數(shù)*/ Student *add_new(Student *head);Student *cin(){ int flag;Student *head,*p1,*p2;n=0;10

      head=(Student *)malloc(LEN);p2=head;printf(“n請輸入第%d名學生的學號,學號為0表示結束輸入:”,n+1);scanf(“%d”,&flag);while(getchar()!='n');for(;flag;)/*輸入每個學生的信息*/ { n++;p1=(Student *)malloc(LEN);p1->num=flag;printf(“請輸入第%d名學生的姓名:”,n);/*輸入姓名*/ scanf(“%s”,p1->name);printf(“請輸入第%d學生的性別:”,n);/*輸入性別*/ scanf(“%s”,p1->sex);printf(“請輸入第%d名學生的語文成績:”,n);/*輸入語文成績*/ scanf(“%d”,&p1->score[0]);printf(“請輸入第%d名學生的數(shù)學成績:”,n);/*輸入數(shù)學成績*/ scanf(“%d”,&p1->score[1]);printf(“請輸入第%d名學生的英語成績:”,n);/*輸入英語成績*/ scanf(“%d”,&p1->score[2]);p1->sum=p1->score[0]+p1->score[1]+p1->score[2];p2->next=p1;p2=p1;printf(“n請輸入第%d名學生的學號,沒有此學生則輸入0表示結束:”,n+1);scanf(“%d”,&flag);} p2->next=NULL;printf(“nn”);return head;} Student *sort_all(Student *head)/*定義排序函數(shù)*/ { int choose;for(;;){ printf(“ntt# # # # # 學生成績統(tǒng)計排序 # # # #n”);printf(“tt#t1.按學生學號排序t #n”);printf(“tt#t2.按學生總分排序t #n”);printf(“tt#t7.單科高分及均分t #n”);printf(“tt#t8.顯示當前學生成績t #n”);printf(“tt#t0.返回上一級菜單t #n”);printf(“請輸入你要執(zhí)行的操作:”);scanf(“%d”,&choose);while(getchar()!='n');11

      switch(choose){ case 1: case 2: case 3: case 4: case 5: case 6:head=sort_1(head,choose);break;case 7:print(head);sort_2(head);break;case 8:print(head);break;case 0:return head;default: printf(“nn您的輸入有誤!請重新輸入:nn”);break;} } } Student *sort_1(Student *head,int choose)/*定義按學號排序函數(shù)*/ { Student *p1,*p2=head->next,*pm,*px;Student mid;if(!p2)return head;for(p1=p2;p1->next!=NULL;p1=p1->next){ pm=p1;for(p2=p1->next;p2!=NULL;p2=p2->next)switch(choose){ case 1:if(pm->num>p2->num)pm=p2;break;case 2:if(pm->sum

      sum)pm=p2;break;case 3:if(pm->score[0]

      score[0])pm=p2;break;case 4:if(pm->score[1]

      score[1])pm=p2;break;case 5:if(pm->score[2]

      score[2])pm=p2;break;} if(pm!=p1){ mid=*pm;*pm=*p1;*p1=mid;px=pm->next;pm->next=p1->next;p1->next=px;} } printf(“n排序后的成績表為:n”);print(head);12

      return head;} void sort_2(Student *head)/*定義按總分排序函數(shù)*/ { Student *p=head->next;int max_1,max_2,max_3,min_1,min_2,min_3;intmax_sum,min_sum;int sum_1=0,sum_2=0,sum_3=0;float aver_1,aver_2,aver_3,aver_sum;if(!p)return;max_1=min_1=p->score[0];max_2=min_2=p->score[1];max_3=min_3=p->score[2];max_sum=min_sum=p->sum;for(;p;p=p->next){ if(max_1

      score[0])max_1=p->score[0];else if(min_1>p->score[0])min_1=p->score[0];if(max_2

      score[1])max_2=p->score[1];else if(min_2>p->score[1])min_2=p->score[1];if(max_3

      score[2])max_3=p->score[2];else if(min_3>p->score[2])min_3=p->score[2];if(max_sum

      sum)max_sum=p->sum;else if(min_sum>p->sum)min_sum=p->sum;sum_1+=p->score[0];sum_2+=p->score[1];sum_3+=p->score[2];} aver_1=1.0*sum_1/n;aver_2=1.0*sum_2/n;aver_3=1.0*sum_3/n;aver_sum=aver_1+aver_2+aver_3;printf(“總共%d名學生,具體數(shù)據(jù)為:n”,n);printf(“總分最高分為%d,最低分位%d,平均分為%.2fn”, max_sum,min_sum,aver_sum);} void find(Student *head)/*定義查詢函數(shù)*/ { Student *p;intchoose,fnum;char tem[20];if(n==0){printf(“n當前系統(tǒng)沒有任何學生數(shù)據(jù)!n ”);return;} for(;;){ printf(“n請輸入您要查詢學生的方式:nn”);printf(“

      1、按學號查詢;

      2、按姓名查詢;0、我不查詢了。nn”);printf(“請選擇:”);scanf(“%d”,&choose);while(getchar()!='n');13

      if(choose==1){ printf(“n請輸入你要查詢的學生的學號,輸入0退出學號查詢:”);scanf(“%d”,&fnum);for(;fnum;){ for(p=head->next;p!=NULL&&p->num!=fnum;p=p->next);if(!p){ printf(“nn找不到你要查詢的學號,請重新輸入,輸入0表示結束:”);scanf(“%d”,&fnum);} else if(p->num==fnum){ printf(“n學號為%d學生的數(shù)據(jù)為:n”,p->num);printf(“學號t姓名t性別t 語文成績 數(shù)學成績 英語成績 總分n”);/*輸出所有的學生信息*/ printf(“%dt%st%st %d %d %d %dn”,p->num, p->name,p->sex ,p->score[0],p->score[1],p->score[2],p->sum);printf(“nn請輸入你還要查詢的學生的學號,輸入0表示不按學號查詢了:”);scanf(“%d”,&fnum);} } } else if(choose==2){ printf(“n請輸入你要查詢的學生的姓名,輸入0退出姓名查詢:”);scanf(“%s”,tem);for(;strcmp(tem,“0”);){ for(p=head->next;p!=NULL&&strcmp(p->name,tem);p=p->next);if(!p){ printf(“nn找不到你要查詢的姓名,請重新輸入,輸入0表示結束:”);scanf(“%s”,tem);} else if(!strcmp(p->name,tem)){ printf(“n姓名為%s學生的數(shù)據(jù)為:n”,p->name);printf(“學號t姓名t性別t 語文成績 數(shù)學成績 英語成績 總分n”);printf(“%dt%st%st %d %d %d %dn”,p->num,p->name,p->sex ,p->score[0],p->score[1],p->score[2],p->sum);printf(“nn請輸入你還要查詢的學生的姓名,輸入0表示不按姓名查詢了:”);14

      scanf(“%s”,tem);} } } else if(choose==0){printf(“n你選擇了不查詢!n”);break;} else {printf(“n你以其他方式選擇了不查詢!n”);break;} } } Student *add_new(Student *head)/*定義插入函數(shù)*/ { Student *p;int flag;printf(“nn請輸入你要新加入學生的學號,學號為0表示結束輸入:”);scanf(“%d”,&flag);while(getchar()!='n');for(;flag;){ p=(Student *)malloc(LEN);p->num=flag;printf(“請輸入新加入學生的姓名:”,n);/*輸入姓名*/ scanf(“%s”,p->name);printf(“請輸入新加入學生的性別:”);/*輸入性別*/ scanf(“%s”,p->sex);printf(“請輸入新加入學生的語文成績:”,n);/*輸入語文成績*/ scanf(“%d”,&p->score[0]);printf(“請輸入新加入學生的數(shù)學成績:”,n);/*輸入數(shù)學成績*/ scanf(“%d”,&p->score[1]);printf(“請輸入新加入學生的英語成績:”,n);/*輸入英語成績*/ scanf(“%d”,&p->score[2]);p->sum=p->score[0]+p->score[1]+p->score[2];p->next=head->next;head->next=p;n++;printf(“n請輸入還要加入學生的學號,沒有此學生則輸入0表示結束:”);scanf(“%d”,&flag);} head=sort_1(head,1);printf(“加入后的成績表為:n”);print(head);return head;} void print(Student *head){ Student *p=head->next;15

      if(!p){printf(“nn此系統(tǒng)目前沒有任何學生數(shù)據(jù)!nnn”);return;} printf(“此系統(tǒng)目前共計學生%d名:n”,n);printf(“**************************學生成績統(tǒng)計一覽************************ *****n”);printf(“學號t姓名t性別t 語文成績 數(shù)學成績 英語成績 總分n”);for(;p;p=p->next)printf(“%dt%st%st

      %d

      %d

      %d

      %dn”, p->num,p->name,p->sex ,p->score[0],p->score[1],p->score[2],p->sum=p->score[0]+p->score[1]+p->score[2]);} struct student *del(struct student *head,longnum)/*定義刪除學生信息函數(shù)*/ {struct student *p1,*p2;if(head==NULL){printf(“nlist null!n”);return head;} p1=head;while(num!=p1->num&& p1->next!=NULL){p2=p1;p1=p1->next;} if(num==p1->num){if(p1==head)head=p1->next;else p2->next=p1->next;printf(“delete:%ldn”,num);n=n-1;} elseprintf(“%ld not deen found!n”,num);return(head);} int main()/*主函數(shù)即用戶的操作界面*/ { Student *head;intchoose,i,num;/*聲明局部變量*/ head=(Student *)malloc(LEN);head->next=NULL;for(;;){ printf(“ntt* * * * * 學生成績管理系統(tǒng) * * * *n”);/*學生成績管理系統(tǒng)*/ printf(“tt*t1.學生數(shù)據(jù)鍵盤錄入t *n”);/*.學生數(shù)據(jù)鍵盤錄入*/ printf(“tt*t2.學生數(shù)據(jù)統(tǒng)計排序t *n”);/*學生數(shù)據(jù)統(tǒng)計排序*/ printf(“tt*t3.查詢學生數(shù)據(jù)tt *n”);/*.查詢學生數(shù)據(jù)*/ printf(“tt*t4.插入學生數(shù)據(jù)tt *n”);/*插入學生數(shù)據(jù)*/ printf(“tt*t5.顯示當前成績表t *n”);/*顯示當前成績表*/ printf(“tt*t6.刪除學生數(shù)據(jù)tt *n”);/*刪除學生數(shù)據(jù)*/ printf(“tt*t0.退出成績管理系統(tǒng)t *n”);/*退出成績管理系統(tǒng)*/ printf(“n請輸入你要執(zhí)行的操作:”);/*請輸入你要執(zhí)行的操作*/ scanf(“%d”,&choose);while(getchar()!='n');16

      switch(choose){ case 1:printf(“ntttt**************注意**************”);printf(“nn 此選項將會建立新的學生數(shù)據(jù)系統(tǒng) ,原來的數(shù)據(jù)將不再存在,你確信要刪除原來的數(shù)據(jù)并建立新的數(shù)據(jù)系統(tǒng)么?nn”);printf(“

      1、建立新的數(shù)據(jù)系統(tǒng);0、放棄建立新的數(shù)據(jù)系統(tǒng)。nn”);printf(“請選擇:”);scanf(“%d”,&i);if(i==1){head=cin();print(head);break;} else if(i==0){ printf(“n你選擇了放棄建立新的數(shù)據(jù)系統(tǒng)!n”);break;} else { printf(“n你做出別的選擇,當作放棄建立!n”);break;} case 2:head=sort_all(head);break;/*調用排序函數(shù)*/ case 3:find(head);break;/*調用查詢函數(shù)*/ case 4:head=add_new(head);/*調用插入函數(shù)*/ case 5:print(head);break;/*調用顯示函數(shù)*/ case 6:printf(“請輸入要刪除的學生學號:”);scanf(“%d”,&num);del(head,num);/*調用刪除函數(shù)*/ case 0:system(“pause”);return 0;/*退出系統(tǒng)*/ default: printf(“nn您的輸入有誤!請重新輸入:nn”);break;} } }

      第四篇:C++課程設計學生成績管理分析系統(tǒng)

      五、解決方案 C++程序設計實踐教學環(huán)節(jié)任務書

      1.分析程序的功能要求,劃分程序功能模塊。

      2.畫出系統(tǒng)流程圖。

      一、題目: 學生成績管理分析系統(tǒng) 3.代碼的編寫。定義類和各個功能函數(shù)。

      4.程序的功能調試。

      二、目的與要求 5.完成系統(tǒng)總結報告以及使用說明書。

      1.目的:

      六、進度安排

      1)鞏固C++基礎知識;此次課程設計時間為一周或兩周,分四個階段完成:

      2)能夠運用面向對象方法進行類的設計; 1.分析設計階段。指導教師應積極引導學生自主學習和鉆研問題,明確設計要

      3)鍛煉學生編程能力,解決實際問題的能力。求,找出實現(xiàn)方法,按照需求分析、總體設計、詳細設計這幾個步驟進行。2.編碼調試階段:根據(jù)設計分析方案設計類并編寫代碼,然后調試該代碼,實

      2.要求現(xiàn)課題要求的功能。3.總結報告階段:總結設計工作,寫出課程設計說明書,要求學生寫出需求分析、基本要求: 總體設計、詳細設計、編碼、測試的步驟和內容。

      1)按照軟件開發(fā)流程進行開發(fā) 4.考核階段。

      2)類的設計合理;包括類的繼承多態(tài)等;

      3)模塊劃分清晰合理;

      七、撰寫課程設計報告或課程設計總結

      4)實用性好。課程設計報告要求: 創(chuàng)新要求:

      在基本要求達到后,可進行創(chuàng)新設計,比如系統(tǒng)用戶功能控制,對管理員級和一總結報告包括需求分析、總體設計、詳細設計、編碼(詳細寫出編程步驟)、測試的步般級別的用戶系統(tǒng)功能操作不同。驟和內容、課程設計總結、參考資料等,不符合以上要求者,則本次設計以不及格記。

      三、信息描述

      八、參考資料1.《C++程序設計》.鄭莉.清華大學出版社 有關該系統(tǒng)基本信息的描述,如:學號、姓名、系別、班級和所選科目及各科成績2.《C++編程思想》.Bruce Eckel [劉宗田].機械工業(yè)出版社等。3.《C++ Primer》中文版.Lippman[潘愛民].中國電力出版社出版4.《Effective C++中文版》Scott Meyers[侯捷].華中科技大學出版社

      四、功能描述

      1.學生基本信息及成績所選科目成績的錄入修改和刪除。

      2.基本信息的查詢(分系、班級;分科目)。

      3.對每系或每班各科成績進行分析(即求單科平均成績、及格率和優(yōu)秀率);

      4.對所開課程的成績分析(求其平均成績,最高分和最低分);

      5.對學生考試成績進行排名(單科按系別或班級進行排名,對每一個班級,同一

      學期學生總體成績進行排名,并顯示各科成績信息)

      第五篇:學生信息及成績管理系統(tǒng)作業(yè)

      學生信息及成績管理系統(tǒng)(至少10人)

      學生信息包括職學號、姓名、性別、年齡、課程(五門課程)基本信息等(學號不重復)。

      試設計一學生成績管理系統(tǒng),使之能提供以下功能:

      ? 學生信息錄入功能(學生信息用文件保存)

      ? 學生信息瀏覽功能

      ? 學生總成績的統(tǒng)計功能

      ? 學生每門課程的成績?yōu)g覽

      課程的基本構成如下:

      考試: 數(shù)學分析高等代數(shù)英語概率統(tǒng)計

      考查: 體育(優(yōu) 良 中 及 差 五檔,對應分數(shù)90 80 70 60 50)

      下載c++大作業(yè) 學生成績管理系統(tǒng) 學生實驗報告 樣本[最終版]word格式文檔
      下載c++大作業(yè) 學生成績管理系統(tǒng) 學生實驗報告 樣本[最終版].doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內聯(lián)系你,一經查實,本站將立刻刪除涉嫌侵權內容。

      相關范文推薦

        學生成績管理系統(tǒng)C++程序設計(共5篇)

        項目設計題目(學生成績管理系統(tǒng)) 學號: 姓名: 自評成績:成績:1.選題意義、依據(jù) 學生成績系統(tǒng)的設計從學生的應用中而來,學生了解該系統(tǒng)的組成和運行過程,它貼近學生的生活能使學生......

        PHP學生成績管理系統(tǒng)綜合實驗報告(模版)

        一、 實驗目的: 1、掌握PHP基本語法及應用。 2、掌握SESSION和COOKIE的使用。 3、掌握使用PHP和頁面進行交互。 4、掌握PHP圖像處理應用。 5、掌握MySQL數(shù)據(jù)庫的使用及使用PH......

        學生成績管理系統(tǒng)

        //*學生成績管理系統(tǒng)*// #include #define N 3 struct student { int no; char name[20]; float english; float computer; float math; float average; }; void getclass(s......

        學生管理系統(tǒng)實驗報告

        數(shù)據(jù)庫課程設計報告-----學生管理系統(tǒng)一、需求分析根據(jù)老師的要求,我主要把精力集中在學生選課的功能實現(xiàn)上,角色分為管理員與學生 實現(xiàn)功能包括如下兩部分:A.學生端實現(xiàn)功能:1.系......

        c語言實驗報告三 學生成績管理系統(tǒng)

        1. 實驗內容 實現(xiàn)一個學生成績處理程序,先輸入多名學生的學號和成績,然后進入菜單,可以選擇打印,添加,修改,刪除或查詢成績(學號查詢和成績段查詢)。 2. 實驗步驟 2.1 程序1 2.1.1......

        簡單學生信息管理系統(tǒng)C++范文

        #include #include using namespace std; int i=0; void layout() { cout......

        簡易學生成績管理系統(tǒng)

        Option Explicit Option Base 1 Dim st() As String Dim grade() As chengji, str1$, str2$, prog() As kecheng Private Sub chengji_Click() ' 輸出序號、成績及分數(shù) Cls......

        畢業(yè)設計 學生成績管理系統(tǒng)

        目錄 目 錄 摘要 ....................................................................................... 錯誤!未定義書簽。 Abstract ....................................