版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> C課程設(shè)計報告</b></p><p><b> 專業(yè):</b></p><p><b> 班級:</b></p><p><b> 學號:</b></p><p><b> 姓名:</b><
2、;/p><p><b> 指導老師: </b></p><p><b> 日期: </b></p><p><b> 設(shè)計任務(wù)與要求</b></p><p><b> 1.設(shè)計內(nèi)容:</b></p><p> 按班級完成對學生
3、成績的錄入,修改,能按班級統(tǒng)計學生的成績;求學生的總分及平均分;并能根據(jù)學生的平均成績進行排序,能查詢學生成績,不及格科目及學生名單;能按班級輸出學生的成績單。 </p><p> 設(shè)置學生的成績信息:學生學號、姓名、所選課程名稱、顯示學生的姓名、所選課程名稱以及平時成績、期末成績和總評成績信息。能根據(jù)學生的姓名、學號、班級進行相應(yīng)成績的查詢。</p><p> 2.課程設(shè)計的要求:&
4、lt;/p><p> 根據(jù)C++課程所學的概念、理論和方法,按照C++程序設(shè)計的基本步驟,設(shè)計出一個適當規(guī)模的程序來實現(xiàn)設(shè)計課程內(nèi)容中的全部功能;設(shè)計主控模塊程序.對給出的程序源代碼要給出各部分的詳細注釋.自己根據(jù)能力及需要添加相應(yīng)功能模塊,增強模擬系統(tǒng)功能。包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設(shè)計、程序流程圖或結(jié)構(gòu)框圖、邏輯結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫中的表、課程設(shè)計體會。</p><p><b&
5、gt; 系統(tǒng)分析</b></p><p><b> 1.要求分析:</b></p><p> 1)能對學生各科成績進行錄入</p><p> 2)能對學生的成績進行增加、刪除、修改</p><p> 3)能對學生的姓名、學號、班級進行修改</p><p> 4)能對學生的成
6、績按總成績,姓名,學號進行查詢 </p><p> 5)能輸出學生的姓名、學號、班級、成績 </p><p> 6)能進行成績統(tǒng)計、分析、排序</p><p> 7)能進行總分查詢排名 </p><p><b> 4.系統(tǒng)功能模塊</b></p><p> 學生成績查詢系統(tǒng)有:成績錄入、
7、增加、刪除、修改,數(shù)據(jù)查詢,排序顯示構(gòu)成。</p><p><b> 5.模塊框架圖</b></p><p><b> 三、程序代碼</b></p><p> #include<iostream> </p><p> #include<cstdlib><
8、/p><p> #include<cstddef></p><p> #include<string></p><p> #include<iomanip></p><p> #include<fstream></p><p> using namespace st
9、d;</p><p> struct xueshengguanli</p><p> { string name;</p><p> string banbie;</p><p><b> int num;</b></p><p> float Clanguage;</
10、p><p> xueshengguanli *next;</p><p><b> }; </b></p><p> typedef xueshengguanli* xueshengGL;</p><p> xueshengGL Input(xueshengGL head)</p><p>
11、 { char SEL='y';</p><p><b> int m=0;</b></p><p> xueshengGL p1,p2,top;</p><p> ofstream out_stream;</p><p> out_stream.open("student.txt&
12、quot;,ios::app); //以追加數(shù)據(jù)信息打開文件</p><p> if(out_stream.fail())</p><p> { cout<<"打開文件失敗.\n";</p><p><b> exit(1);</b></p><p><b> }<
13、;/b></p><p> while(SEL=='y'||SEL=='Y')</p><p> { p1=new xueshengguanli;</p><p> p1->next=NULL;</p><p> cout<<"\n請輸入姓名:";</
14、p><p> cin>>p1->name;</p><p> cout<<"\n請輸入學號:";</p><p> cin>>p1->num;</p><p> cout<<"\n請輸入班級:";</p><p>
15、 cin>>p1->banbie;</p><p> cout<<"\n請輸入C語言成績:";</p><p> cin>>p1->Clanguage;</p><p><b> if(m==0)</b></p><p> { head=p1;
16、</p><p><b> p2=head;</b></p><p><b> m=1;</b></p><p><b> }</b></p><p><b> else</b></p><p> { p2->ne
17、xt=p1;</p><p><b> p2=p1;</b></p><p><b> }</b></p><p> cout<<"\n是否繼續(xù)輸入?(y/n)\n"; //判斷是否繼續(xù)輸入</p><p><b> cin>>SEL
18、;</b></p><p><b> }</b></p><p><b> top=head;</b></p><p><b> //寫入文件</b></p><p> while(head!=NULL)</p><p> { ou
19、t_stream<<head->name<<" "<<head->num<<"\t"<<head->banbie<<"\t"<<head->Clanguage;</p><p> head=head->next;</p>
20、<p><b> }</b></p><p> out_stream.close(); //關(guān)閉文件</p><p> if(SEL=='n'||SEL=='N')</p><p> cout<<"輸入完畢.\n";</p><p>
21、 return top; //返回鏈表頭結(jié)點地址</p><p><b> }</b></p><p> //從文件里讀取數(shù)據(jù)</p><p> xueshengGL WenJian(xueshengGL top)</p><p> { int n=0;</p><p> xues
22、hengGL p,h;</p><p> ifstream in_stream;</p><p> in_stream.open("student.txt");</p><p> if(in_stream.fail())</p><p> { cout<<"打開文件失敗.\n";&l
23、t;/p><p><b> return 0;</b></p><p><b> }</b></p><p> while(1) </p><p> { if(in_stream.eof())</p><p><b> break;</b>
24、</p><p><b> else</b></p><p> {p=new xueshengguanli;</p><p> p->next=NULL;</p><p> in_stream>>p->name>>p->num>>p->banbie>
25、;>p->Clanguage;</p><p><b> if(n==0)</b></p><p><b> { top=p;</b></p><p><b> h=top;</b></p><p><b> n=1;</b><
26、/p><p><b> }</b></p><p><b> else</b></p><p> { h->next=p;</p><p><b> h=p;</b></p><p><b> }</b></p&g
27、t;<p><b> }</b></p><p><b> }</b></p><p> in_stream.close();</p><p> return top;</p><p><b> }</b></p><p> v
28、oid xuanzhe(xueshengGL top)</p><p> { int h;</p><p> while(h<1||h>2)</p><p> { cout<<"\n請輸入你要修改的項:";</p><p><b> cin>>h;</b&
29、gt;</p><p><b> if(h==1)</b></p><p> { cout<<"\n請輸入新的班級:";</p><p> cin>>top->banbie;</p><p><b> break;</b></p>
30、;<p><b> }</b></p><p> else if(h==2)</p><p> { cout<<"\n請輸入新的C語言成績:";</p><p> cin>>top->Clanguage;</p><p><b> br
31、eak;</b></p><p><b> }</b></p><p><b> else</b></p><p> cout<<"\n輸入錯誤!請重輸!\n";</p><p><b> }</b></p>&
32、lt;p><b> }</b></p><p><b> //修改</b></p><p> xueshengGL Change(xueshengGL top)</p><p> { string NAME;</p><p> int NUM,l=0;</p>&l
33、t;p> char SEL='y'; </p><p> xueshengGL q,head;</p><p> cout<<"\n請輸入修改人的姓名:";</p><p> cin>>NAME;</p><p> cout<<"\n請輸入修改人
34、的學號:";</p><p><b> cin>>NUM;</b></p><p> top=WenJian(top);</p><p><b> q=top;</b></p><p> while(top!=NULL)</p><p><
35、b> { </b></p><p> if(top->name==NAME&&top->num==NUM)</p><p><b> { l=1;</b></p><p> while(SEL=='y'||SEL=='Y')</p><p
36、> { cout<<"\n 1:班級 2:C語言成績\n";</p><p> xuanzhe(top);</p><p> cout<<"\n這是修改后的學生信息:\n";</p><p> cout<<"\n姓名"<<"\t
37、"<<"學號"<<"\t"<<"班級"<<"\t"<<"C語言成績\n";</p><p> cout<<top->name<<"\t"<<top->num<<&q
38、uot;\t"<<top->banbie<<"\t"<<top->Clanguage<<endl;</p><p> cout<<"\n是否繼續(xù)修改?(y/n)\n";</p><p><b> cin>>SEL;</b></
39、p><p><b> }</b></p><p> if(SEL=='n'||SEL=='N')</p><p> cout<<"輸入完畢,任意鍵返回\n";</p><p><b> break; </b></p>
40、<p><b> }</b></p><p><b> else</b></p><p> top=top->next;</p><p><b> }</b></p><p> //修改后學生信息寫入文件</p><p><
41、;b> if(l==1)</b></p><p> { head=q;</p><p> ofstream out_stream;</p><p> out_stream.open("student.txt",ios::trunc); //以覆蓋文件原數(shù)據(jù)方式打開文件</p><p> if(
42、out_stream.fail())</p><p> { cout<<"打開文件失敗.\n";</p><p><b> exit(1);</b></p><p><b> }</b></p><p> while(head!=NULL)</p>
43、<p> { out_stream<<head->name<<" "<<head->num<<"\t"<<"\t"<<head->banbie<<"\t"<<head->Clanguage;</p><
44、;p> head=head->next;</p><p><b> }</b></p><p> out_stream.close(); </p><p><b> }</b></p><p><b> else</b></p><p&
45、gt; cout<<"\n對不起,沒有你要修改的人.\n\n";</p><p><b> return q;</b></p><p><b> }</b></p><p><b> //刪除</b></p><p> xuesheng
46、GL Del(xueshengGL top)</p><p> { string NAME;</p><p> int NUM,l=0,n=0;</p><p> xueshengGL p,h,q,back,head;</p><p> cout<<"\n請輸入修改人的姓名:";</p>
47、<p> cin>>NAME;</p><p> cout<<"\n請輸入修改人的學號:";</p><p><b> cin>>NUM;</b></p><p> ofstream out_stream;</p><p> ifstream
48、 in_stream;</p><p> in_stream.open("student.txt");</p><p> if(in_stream.fail())</p><p> { cout<<"打開文件失敗.\n";</p><p> cout<<"還沒
49、有學生信息\n\n";</p><p><b> return 0;</b></p><p><b> }</b></p><p> while(1) </p><p> { if(in_stream.eof())</p><p><b>
50、 break;</b></p><p><b> else</b></p><p> {p=new xueshengguanli;</p><p> p->next=NULL;</p><p> in_stream>>p->name>>p->num>&
51、gt;p->banbie>>p->Clanguage;</p><p><b> if(n==0)</b></p><p><b> { top=p;</b></p><p><b> h=top;</b></p><p><b>
52、n=1;</b></p><p><b> }</b></p><p><b> else</b></p><p> { h->next=p;</p><p><b> h=p;</b></p><p><b> }
53、</b></p><p><b> }</b></p><p><b> }</b></p><p> in_stream.close(); </p><p><b> q=top;</b></p><p><b>
54、while(1)</b></p><p><b> { </b></p><p> if(NAME==top->name&&NUM==top->num&&top->next==NULL)</p><p><b> { l=2;</b></p>
55、<p> top=q->next;</p><p> out_stream.open("student.txt",ios::trunc);//刪除文件 </p><p><b> break;</b></p><p><b> }</b></p><p&g
56、t; if(NAME==top->name&&NUM==top->num&&top->next!=NULL)</p><p><b> { l=1;</b></p><p> top=q->next;</p><p> cout<<"\n刪除成功.\n&qu
57、ot;;</p><p><b> break;</b></p><p><b> }</b></p><p> if(q->next==NULL)</p><p> { printf("\n對不起,沒有找到此人!\n");</p><p>
58、<b> break;</b></p><p><b> }</b></p><p><b> back=q;</b></p><p> q=q->next;</p><p> if(NAME==q->name&&NUM==q->nu
59、m)</p><p><b> { l=1;</b></p><p> back->next=q->next;</p><p> cout<<"\n刪除成功.\n";</p><p><b> break; </b></p>&
60、lt;p><b> }</b></p><p><b> }</b></p><p> //刪除學生信息后重新寫入文件</p><p><b> if(l==1)</b></p><p> { head=top;</p><p> ou
61、t_stream.open("student.txt",ios::trunc);</p><p> if(out_stream.fail())</p><p> { cout<<"打開文件失敗.\n";</p><p><b> exit(1);</b></p><p
62、><b> }</b></p><p> while(head!=NULL)</p><p> { out_stream<<head->name<<" "<<head->num<<"\t"<<head->banbie<<&
63、quot;\t"<<head->Clanguage;</p><p> head=head->next;</p><p><b> }</b></p><p> out_stream.close(); </p><p><b> }</b></p>
64、;<p> else if(l==2)</p><p> cout<<"\n刪除成功.\n"; </p><p><b> else</b></p><p> cout<<"\n找不到此人信息!\n";</p><p> retur
65、n top;</p><p><b> }</b></p><p><b> //查詢 </b></p><p> xueshengGL LookUp(xueshengGL top)</p><p> { string XM;</p><p> int numb
66、er,l=0;</p><p> cout<<"\n請輸入你查詢的姓名:";</p><p><b> cin>>XM;</b></p><p> cout<<"\n請輸入你查詢的學號:";</p><p> cin>>num
67、ber;</p><p> top=WenJian(top);</p><p> while(top!=NULL)</p><p><b> { </b></p><p> if(XM==top->name&&number==top->num)</p><p>
68、;<b> { l=1;</b></p><p> cout<<endl;</p><p> cout<<"\n這是你要查詢?nèi)说男畔?\n";</p><p> cout<<"\n姓名"<<"\t"<<"學
69、號"<<"\t"<<"班級"<<"\t"<<"綜合成績\n";</p><p> cout<<top->name<<"\t"<<top->num<<"\t"</p>
70、<p> <<top->banbie<<"\t"<<top->Clanguage<<endl;</p><p><b> break;</b></p><p><b> }</b></p><p><b> el
71、se</b></p><p> top=top->next;</p><p><b> }</b></p><p><b> if(l==1)</b></p><p> cout<<"\n謝謝你的查詢.\n";</p><
72、p><b> else</b></p><p> cout<<"\n對不起,沒有你要查詢?nèi)说男畔?\n";</p><p> cout<<endl;</p><p> return top;</p><p><b> }</b></p
73、><p> xueshengGL sort(xueshengGL top)</p><p> { string name1,banbie1;</p><p> int num1;</p><p> float Clanguage1;</p><p> int n=0,l=0;</p><
74、;p> xueshengGL p1,p2,p3,p,h,head;</p><p> ifstream in_stream;</p><p> in_stream.open("student.txt");</p><p> if(in_stream.fail())</p><p> { cout<&
75、lt;"打開文件失敗.\n";</p><p> cout<<"還沒有學生信息保存\n\n";</p><p><b> return 0;</b></p><p><b> }</b></p><p> while(1) </
76、p><p> { if(in_stream.eof())</p><p><b> break;</b></p><p><b> else</b></p><p> {p=new xueshengguanli;</p><p> p->next=NULL;&l
77、t;/p><p> in_stream>>p->name>>p->num>>p->banbie>>p->Clanguage;</p><p><b> l=1;</b></p><p><b> if(n==0)</b></p><
78、;p><b> { top=p;</b></p><p><b> h=top;</b></p><p><b> n=1;</b></p><p><b> }</b></p><p><b> else</b>&
79、lt;/p><p> { h->next=p;</p><p><b> h=p;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p&g
80、t;<p> in_stream.close(); </p><p> for(p1=top;p1->next!=NULL;p1=p1->next)</p><p><b> { l=1;</b></p><p> for(p2=p1->next;p2!=NULL;p2=p2->next
81、)</p><p><b> {</b></p><p> if(p1->Clanguage<p2->Clanguage)</p><p> { name1=p1->name;</p><p> p1->name=p2->name;</p><p>
82、 p2->name=name1;</p><p> num1=p1->num;</p><p> p1->num=p2->num;</p><p> p2->num=num1;</p><p> banbie1=p1->banbie;</p><p> p1->ban
83、bie=p2->banbie;</p><p> p2->banbie=banbie1;</p><p> Clanguage1=p1->Clanguage;</p><p> p1->Clanguage=p2->Clanguage;</p><p> p2->Clanguage=Clanguage
84、1;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> p3=top;</b></p><p> cout<<"
85、;\n以下是全部學生的綜合成績由高到低的排序:\n";</p><p> cout<<"\n姓名"<<"\t"<<"學號"<<"\t"<<"班別"<<"\t"<<"C語言成績\n"
86、;</p><p> while(p3!=NULL)</p><p> { cout<<p3->name<<"\t"<<p3->num<<"\t"</p><p> <<p3->banbie<<"\t"<
87、;<p3->Clanguage<<endl;</p><p> p3=p3->next; </p><p><b> }</b></p><p><b> if(l==1)</b></p><p> { head=top;</p>
88、<p> ofstream out_stream;</p><p> out_stream.open("student.txt",ios::trunc); //以覆蓋文件原數(shù)據(jù)方式打開文件</p><p> if(out_stream.fail())</p><p> { cout<<"打開文件失敗.\n&
89、quot;;</p><p><b> exit(1);</b></p><p><b> }</b></p><p> while(head!=NULL)</p><p> { out_stream<<head->name<<" "&l
90、t;<head->num<<"\t"<<"\t"<<head->banbie<<"\t"<<head->Clanguage;</p><p> head=head->next;</p><p><b> }</b>&
91、lt;/p><p> out_stream.close(); </p><p><b> }</b></p><p><b> else</b></p><p> cout<<"\n謝謝.\n";</p><p> cout<<
92、;endl; </p><p> return top;</p><p><b> }</b></p><p> void display(xueshengGL top)</p><p> { int l=0,n=0;</p><p> xueshengGL p,h;</p>
93、;<p> ifstream in_stream;</p><p> in_stream.open("student.txt");</p><p> if(in_stream.fail())</p><p> { cout<<"打開文件失敗.\n";</p><p>
94、 cout<<"還沒有學生信息\n\n";</p><p><b> return;</b></p><p><b> }</b></p><p> while(1) </p><p> { if(in_stream.eof())</p>
95、<p><b> break;</b></p><p><b> else</b></p><p> {p=new xueshengguanli;</p><p> p->next=NULL;</p><p> in_stream>>p->name&g
96、t;>p->num>>p->banbie>>p->Clanguage;</p><p><b> l=1;</b></p><p><b> if(n==0)</b></p><p><b> { top=p;</b></p>&l
97、t;p><b> h=top;</b></p><p><b> n=1;</b></p><p><b> }</b></p><p><b> else</b></p><p> { h->next=p;</p>&
98、lt;p><b> h=p;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> in_stream.close(); </p><
99、;p><b> if(l==1)</b></p><p> { cout<<"\n以下是全部學生信息:\n";</p><p> cout<<"\n姓名"<<"\t"<<"學號"<<"\t"<
100、<"班別"<<"\t"<<"C語言成績\n";</p><p> while(top!=NULL)</p><p> { cout<<top->name<<"\t"<<top->num<<"\t"
101、;</p><p> <<top->banbie<<"\t"<<top->Clanguage<<endl;</p><p> top=top->next;</p><p><b> }</b></p><p> cout<
102、<endl<<endl;</p><p><b> } </b></p><p><b> return; </b></p><p><b> }</b></p><p> int main()</p><p> {
103、xueshengGL head;</p><p><b> int sel;</b></p><p><b> while(1)</b></p><p> { cout<<"\t\t-------------------------------\n"</p><
104、p> <<"\t\t 歡迎使用學生信息管理系統(tǒng)\n"</p><p> <<"\t\t 1輸入學生信息\n"</p><p> <<"\t\t 2修改學生信息\n"</p><p> <<"\t\t 3刪除學生信息\n&qu
105、ot;</p><p> <<"\t\t 4查找學生信息\n"</p><p> <<"\t\t 5學生綜合成績排序信息\n"</p><p> <<"\t\t 6顯示學生信息\n"</p><p> <<"\t
106、\t 0返回\n"</p><p> <<"\t\t-------------------------------\n\n\n";</p><p> cout<<"請你選擇操作類型:";</p><p><b> cin>>sel;</b></p
107、><p> cout<<"\n";</p><p> switch(sel)</p><p> { case 1:head=Input(head);</p><p><b> break;</b></p><p> case 2:head=Change(he
108、ad);</p><p><b> break;</b></p><p> case 3:head=Del(head);</p><p><b> break;</b></p><p> case 4:head=LookUp(head);</p><p><b&
109、gt; break;</b></p><p> case 5:head=sort(head);</p><p><b> break;</b></p><p> case 6:display(head);</p><p><b> break;</b></p>&
110、lt;p> case 0:{ cout<<"謝謝使用再見\n\n";</p><p><b> exit(0);</b></p><p><b> }</b></p><p><b> default :</b></p><p>
111、 cout<<"輸入有錯誤請重新輸入!\n\n";</p><p><b> }</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> } </b&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計學生成績管理系統(tǒng) (2)
- c語言課程設(shè)計--學生成績管理系統(tǒng) (2)
- c語言課程設(shè)計----學生成績管理系統(tǒng) (2)
- c語言課程設(shè)計--學生成績管理系統(tǒng) (2)
- c語言課程設(shè)計--學生成績管理系統(tǒng)
- c語言課程設(shè)計---學生成績管理系統(tǒng)
- c語言課程設(shè)計學生成績管理系統(tǒng)
- c語言課程設(shè)計-學生成績管理系統(tǒng)
- c語言課程設(shè)計----學生成績管理系統(tǒng)
- c語言課程設(shè)計學生成績管理系統(tǒng)
- c語言課程設(shè)計學生成績管理系統(tǒng)
- c語言課程設(shè)計-學生成績管理系統(tǒng)
- c語言課程設(shè)計--學生成績管理系統(tǒng)
- c語言課程設(shè)計---學生成績管理系統(tǒng)
- c語言課程設(shè)計-學生成績管理系統(tǒng)
- c語言課程設(shè)計———學生成績管理系統(tǒng)
- c語言課程設(shè)計學生成績管理系統(tǒng)
- c語言課程設(shè)計---學生成績管理系統(tǒng)
- c語言課程設(shè)計_學生成績管理系統(tǒng)
- c語言課程設(shè)計-學生成績管理系統(tǒng)
評論
0/150
提交評論