版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、理工大課程實驗報告課程名稱計算機程序設(shè)計(C)班級軟件111實驗日期2011.04.21姓名趙業(yè)東學(xué)號201107209實驗成績實驗名稱實驗一 C程序的運行環(huán)境和運行 C程序的方法實驗?zāi)康募耙? 熟悉 Visual C+6.0 環(huán)境。2了解建立控制臺應(yīng)用程序的基本步驟。3.初步了解Visual C+6.0的環(huán)境設(shè)置。4初步學(xué)會簡單的程序調(diào)試方法。5. 學(xué)會編寫簡單的C程序。6. 初步熟悉C語言操輸入seanf函數(shù)、輸出printf函數(shù)的使用。7. 掌握C語言基本數(shù)據(jù)類型,熟悉變量的疋義及變量的初始化和賦 值操作。8. 掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律。9. 掌握C語言的算術(shù)運算符的使用以及算
2、術(shù)表達式的使用;掌握自 加自減運算符的特點及使用。實 驗 環(huán) 境Visual 6.0+Windows 7實 驗 內(nèi) 容1.按照上述步驟,創(chuàng)建一個基于控制臺的應(yīng)用程序,該程序項目中只包含一 個源程序文件。功能為求兩個整數(shù)的和,數(shù)據(jù)從鍵盤輸入。2創(chuàng)建一個基于控制臺的應(yīng)用程序,求一元二次方程的根。使得當輸入三個實數(shù)a,b,e (滿足b*b-4*a*c0 ),能夠求出方程 a*x*x+b*x+c=0的兩個實根, 并顯示在屏幕上。分析提示:通過鍵盤輸入方程系數(shù) a,b,c的值,而后根據(jù) 求根公式計算并輸出它的兩個根。算法描述及一實驗一1先定義兩個變量 a,b。2、鍵入a和b。3、輸出兩個數(shù)的和。 實驗二
3、1 定義并輸入a b e。2、判斷d=bA2-4ae的大小。3、如果小于零則 無解,等于零 有一個解,x1=(-b)/(2*a)。4、大于 零有兩 個解。實 驗 步 驟x仁(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);5、輸出結(jié)果。調(diào) 試 過 程 及 實 驗 結(jié) 果111 115618+156=204Piess any七oi_nueB2 1斑個解;xl=-2,x2 3 *i*ess an51 1舉夕 to conta b c =121個解:x=-lPr&ST any key to continue|a b c; :4 1 1匡解IPtess 代ny k巳W tc
4、 cont inuc總結(jié)掌握了掌握C語言基本數(shù)據(jù)類型,變量的定義及變量的初始化和賦值 操作,不同的類型數(shù)據(jù)之間賦值的規(guī)律。了解了 C語言的算術(shù)運算符的使用以及算術(shù)表達式的使用,自加自減運算符的特點及使用。附 錄實驗一 1#i ncludevoid mai n()int a,b,s;sca nf(%d%d,&a,&b);kprin tf(s=%dn,a+b);實驗一 2#i nclude#in cludevoid mai n()double a,b,c,d,x1,x2;prin tf(a b c :);sca nf(%lf%lf%lf,&a,&b,&c); d=b*b-4*a*c;if (d0)
5、printf(無解 n);else if (d=0)x仁(-b)/(2*a);printf( 一個解:x=%gn,x1);elsex1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a);printf(兩個解:x%g,x2=%gn,x1,x2);青島理工大學(xué)課程實驗報告課程名 稱計算機程序設(shè)計(C)班級軟件111實驗日期2012428姓名趙業(yè)東學(xué)號201107209實驗成績實驗名 稱實驗二選擇結(jié)構(gòu)程序設(shè)計實驗?zāi)康募耙?掌握賦值語句的使用方法。2.掌握各種類型數(shù)據(jù)的輸入輸出方法,能正確使用各種格式轉(zhuǎn)換符。3能正確使用關(guān)系運算符及表達式、邏輯運算符及表達式。4. 熟練
6、掌握if語句,學(xué)會使用if-else語句設(shè)計雙分支和多分支結(jié)構(gòu) 程序。5. 熟練掌握switch語句的特點,學(xué)會使用switch語句設(shè)計多分支結(jié) 構(gòu)程序。實 驗 環(huán) 境Visual 6.0+Win dows 7實 驗 內(nèi) 容3. 編寫程序,根據(jù)輸入的學(xué)生成績,給出相應(yīng)的等級。90分以上的 等級為A,60分以下的等級為E,其余每10分為一個等級。要求分 別用if語句和switch語句實現(xiàn)。4. 使用switch語句編寫簡單的四則運算程序。算 法 描 述 及 實 驗 步 驟實驗3用if語句時:先輸入學(xué)生成績,判斷等級,然后直接輸出等 級代號 A,B,C,D,E。用switch語句時:先輸入學(xué)生成績
7、,除以十,取整。根據(jù)數(shù) 值6到9判斷等級。然后輸出等級代號 A,B,C,D,E。實驗4先疋義子符變量c和數(shù)值變量a,b。然后判斷子符變量為何種 運算符號。最后輸出相應(yīng)結(jié)果。調(diào) 試 過 程 及 實 驗 結(jié) 果翔入學(xué)生成績1專學(xué)生咸續(xù)等級是Bbrcs& anv liey to continue4/540000006Pwss anto continue.000300Press 曰n屮 kei/ to CDntInue掌握了賦值語句的使用方法,各種類型數(shù)據(jù)的輸入輸出方法,能 正確使用各種格式轉(zhuǎn)換符、關(guān)系運算符及表達式、邏輯運算符及表達 式。掌握了 if語句,學(xué)會使用if-else 語句設(shè)計雙分支和多分
8、支結(jié) 構(gòu)程序;掌握了 switch語句的特點,學(xué)會使用switch語句設(shè)計多分 支結(jié)構(gòu)程序?qū)嶒灦?用if語句:#i ncludevoid main() int a;printf(請輸入學(xué)生成績:n); sca nf(%d,&a);if (a90)printf(該學(xué)生成績等級是An);else if (a80)printf(該學(xué)生成績等級是Bn);else if (a70)printf(該學(xué)生成績等級是Cn);else if (a60)printf(該學(xué)生成績等級是Dn);elseprintf(該學(xué)生成績等級是En);用switch語句:#i nclude void main()int a,m;
9、printf(請輸入學(xué)生成績:n); scan f(%d,&a);m=a/10; switch(m)case 9:printf(該學(xué)生的成績等級是:An); case 8:printf(該學(xué)生的成績等級是:Bn); case 7:printf(該學(xué)生的成績等級是:Cn); case 6:printf(該學(xué)生的成績等級是:Dn); default:printf(該學(xué)生的成績等級是:En); 實驗二 4#i ncludevoid mai n()float a,b;char c;scan f(%f%c%f,&a,&c,&b);switch(c)case +:pri ntf(%fn,a+b);brea
10、k;case -:pri ntf(%fn,a-b);break; case *:pri ntf(%fn,a*b);break;case /:pri ntf(%fn,a/b);break;丄青島理工大學(xué)課程實驗報告課程 名稱計算機程序設(shè)計(C)班級軟件111實驗日 期2012-5-2姓名趙業(yè)東學(xué)號201107209實驗成 績實驗 名稱實驗三循環(huán)結(jié)構(gòu)程序設(shè)計實驗?zāi)康募耙?熟練掌握while、do-while、for語句的特點,學(xué)會設(shè)計循環(huán)結(jié)構(gòu)程序。2. 掌握break語句以及continue語句的特點及使用范圍。3. 學(xué)會編寫循環(huán)嵌套程序。3. 結(jié)合程序掌握一些簡單的算法。4. 進一步學(xué)習(xí)調(diào)試程
11、序。實 驗 環(huán) 境Visual 6.0+Win dows 7實 驗 內(nèi) 容4. 編程練習(xí)。求x2xn的部分和。直到最后一項的值小于1.0e-4oe 1 x.2!n!提示:第 n 項 un=xn/n!,第 n+1 項 un+i= xn+1/(n+1)! 及 un+1 = un(x/( n+1)5. 編程練習(xí)。有1、2、3、4四個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?分 別是多少?算法描述及實驗步驟頭驗四1、調(diào)用函數(shù)。2、疋義x s i j。輸入x。3、直到n大于10000。4、 i=i*(x/(j+1);s=s+i; 5、輸出 s實驗五 1、定義 i j k fre=0。2、利用三重
12、for 語句。for(i=1;i=4;i+) for(j=1;j=4;j+) ; for(k=1;k=4;k+)。3、if(i!=k&i!=j&k!=j),輸出 i*100+j*10+k。4、最后輸出(總數(shù)為:%dn,fre)調(diào) 試 過 程 及3、45=8103亨1回 Press anv kt屮 to :ontinueta、實驗結(jié)果總 結(jié) 附錄123124132134142143213214231231241243312314321323 電342412413421423431432總數(shù)為:嗣IVinss any key co continue(對實驗結(jié)果進行分析,問題回答,實驗心得體會及改進
13、意見)實驗三3#i nclude#in cludevoid mai n()int x;double s,i,j;sca nf(%d, &x);s=1,j=O;for(i=1;i=pow(10,-4);j+)i=i*(x/(j+1);s=s+i;prin tf(s=%fn,s);實驗三4#i nclude void mai n() int i,j,k,fre=0;for(i=1;i=4;i+) for(j=1;j=4;j+)for(k=1;k=4;k+)if(i!=k&i!=j&k!=j)prin tf(%5d,i*100+j*10+k); fre=fre+1;prin tf(n);printf
14、(總數(shù)為:%dn,fre);青島理工大學(xué)課程實驗報告課程 名稱計算機程序設(shè)計(C)班級軟件111實驗日 期2012-5-2姓名趙業(yè)東學(xué)號201107209實驗成 績實驗 名稱實驗四數(shù)組程序設(shè)計實 驗 目 的 及 要 求1掌握一維數(shù)組、二維數(shù)組的定義、引用及其存儲方式。 2掌握字符數(shù)組、字符串以及字符串數(shù)組的含義及區(qū)別。 3掌握常用字符函數(shù)及字符串函數(shù)的使用。4掌握常用數(shù)組的排序、查找等算法。實 驗 環(huán) 境Visual C+6.0Windows XP實 驗 內(nèi) 容2編寫程序,定義一個含有30個兀素的int類型數(shù)組依次給數(shù)組兀素賦奇數(shù)1、3、5、7;然后按每行十個數(shù)順序輸出,最后再按每行十個數(shù)逆序
15、輸出。3.已知數(shù)組中的值在 0-9的范圍內(nèi),統(tǒng)計每個整數(shù)的個數(shù)。算法描述及實1驗 步 驟實驗21、定義一個一維數(shù)組 a30,i,j=1。2、利用for循環(huán)輸出,ai+1=ai+2;printf(%6d,ai)。3、輸出數(shù)組,定義初始值1或者59。確定順、逆序。 實驗3 1、定義一個一維隨機數(shù)組含 20個數(shù)。2、輸出該一維數(shù)組。3、利用 for 循環(huán) int m,n,k;for(m=0;m=9;m+) for(n=0;*20;n+)if(m=an)。4、輸出每個數(shù)各有幾個。調(diào) 試 過 程 及 實 驗 結(jié) 果25?39371?1?Piess any key 1S79112
16、S2729314547495553514?35333129IS13119to cantinuB373953砧G7594?45434127252321753131711527&7個個個個個個個個個個 14-20331221 1有有有有有有有有有有 0 1 M3-4 .5 U 7key to continue總結(jié)附 錄掌握常用字符函數(shù)及字符串函數(shù)的使用,掌握常用數(shù)組的排 序、查找等算法。實驗2#i ncludevoid mai n()int a30,i,j=1;for(i=1;i31;i+)a1=1; ai+1=ai+2;prin tf(%6d,ai); if(i%10=
17、0) prin tf(n);prin tf(n);for(i=1;i31;i+)a1=59; ai+1=ai-2;prin tf(%6d,ai); if(i%10=0) prin tf(n);實驗4#i nclude#i ncludevoid mai n()int i,a20;for(i=0;i20;i+)ai=ra nd()%10; prin tf(%3d,ai);prin tf(n);int m, n,k;for(m=0;m=9;m+)k=0;for(n=0; * 20; n+) if(m=a n) k+;printf(%d 有%d 個n,m,k);青島理工大學(xué)課程實驗報告課程名稱計算機程
18、序設(shè)計(C)班級軟件111實驗日期2012-5-7姓名趙業(yè)東學(xué)號201107209實驗成績實驗名稱實驗五函數(shù)實驗?zāi)康募耙?掌握函數(shù)定義的各個要素。如函數(shù)返回值的類型、形式參數(shù)與實際參數(shù)等。 2掌握變量的作用域和生存期的概念。3掌握局部變量與全局變量的區(qū)別、靜態(tài)局部變量和局部變量的區(qū)別、靜態(tài) 全局變量和全局變量的區(qū)別;理解外部變量和外部函數(shù)的概念。4理解數(shù)組作為函數(shù)的參數(shù)的含義。5 理解函數(shù)的嵌套調(diào)用。6掌握函數(shù)的遞歸調(diào)用。實 驗 環(huán) 境Visual C+6.0window7實 驗 內(nèi) 容3. 求100200之間的素數(shù)。要求:每行10個數(shù)輸出;定義子函數(shù)isprime,函數(shù)原型為int isp
19、rime( int n);4. 設(shè) f(x)=(2x 3+3x2-4x+1(10x 2+3),q(x)=3f(x) 3+2f(x) 2+f(x),編程實現(xiàn)輸入 x 的值,計算輸出q(x)的值,要求有q(x)和f(x)的定義。5. 求菲波那契數(shù)列1, 1, 2, 3, 5, 8, 13, 21 , 34的前20項。要求:使用遞歸;每行輸出5個數(shù)。算 法 描 述 及 實 驗 步 驟實驗31、定義函數(shù)isprime(int n)。2、當(n%i=0)時,返回0.否則返回1。3、定義main函數(shù)。確定范圍100200. 4當isprime函數(shù)成 立,每五個一行輸出。實驗41、定義函數(shù)f= (2*pow
20、(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3); q=3*pow(f(x),3)+2*pow(f(x),2)+f(x); 。2、定義 main 函數(shù)。3、輸出 q 函數(shù)。實驗51、定義fib函數(shù)。前兩項為1.2、利用遞歸函。Fib(x)= fib(x-1)+fib(x-2);。3、每五項一行輸出。調(diào) 試 過 程 及3、1011B3107151157163199Fiess any key to1091131271313?129149167173179181191193197continue實驗結(jié)果1123S&132134S5S914422337?14、3Press
21、 曰nytc continue5、?871597 2564 4191Press any ke to co nt inue總結(jié)1, 掌握了函數(shù)定義的各個要素。2, 如函數(shù)返回值的類型、形式參數(shù)與實際參數(shù)等.3, 需要進一步掌握函數(shù)。附 錄實驗3#i ncludeint isprime(i nt n)int i;for(i=2;i n ;i+)if(n %i=0) return 0; return 1;mai n()int n,m=O;for(n=100; n=200; n+)if(isprime( n)prin tf(%5d ,n); m+;if(m%10=0) prin tf(n); prin
22、 tf(n);實驗4#i nclude#in cludedouble f(float x)double c;c=(2*pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3); return c;double q(float x)double c;c=3*pow(f(x),3)+2*pow(f(x),2)+f(x); return c;mai n()float x;double y;scan f(%f, &x);y=q(x);prin tf(%lfn,y);實驗5#i ncludeint fib(i nt x)if(x=1|x=2)return 1;elseretu
23、rn fib(x-1)+fib(x-2);mai n()int n ,s;for(n=1; n=20; n+)s=fib( n);prin tf(%-5d,s);if(n %5=0)prin tf(n);prin tf(%n);青島理工大學(xué)課程實驗報告課程名稱姓名計算機程序設(shè)計(C)趙亞東班級軟件111實驗日期學(xué)號 201107209實驗成績2012-5-16實驗名稱實驗六指針實驗?zāi)康募耙?理解指針的定義,學(xué)會指針變量的初始化以及指針可以參與的運 算。2. 掌握指針和一維數(shù)組的關(guān)系。3. 理解指針和二維數(shù)組的關(guān)系、理解行指針(或數(shù)組指針)的概念 4理解指針數(shù)組和數(shù)組指針的區(qū)別。5理解指針和函
24、數(shù)的關(guān)系以及指針函數(shù)和函數(shù)指針的含義。6了解指針的指針(即二級指針)。實 驗 環(huán) 境 實 驗 內(nèi) 容算法描述及實q驗步驟調(diào) 試 過 程 及 實 驗 結(jié) 果Visual C+6.0window76編寫程序。讀入三個浮點數(shù),將整數(shù)部分和小數(shù)部分分別輸出。 要求使用指針作形參。7編寫一個函數(shù),返回數(shù)組元素中最大值的地址,并在主函數(shù)中輸 出該元素。實驗6 1、定義函數(shù),指針做形參。2、定義a為整數(shù)部分,*p-a既 是小數(shù)部分。然后輸出。3、主函數(shù)中,鍵入三個浮點型數(shù)。并使用 fu函數(shù)。實驗71、定義dizhi函數(shù),指針做形參。返回地址。2、定義主函數(shù), 以及一個數(shù)組。3、調(diào)用dizhi函數(shù),輸出數(shù)組和
25、最大值。6、7、7 1 2 6是是是y3 ZZZZZJr a 弓弓專2音音自s Ln-sfe-頻 整整整PF*分分分nt I7I-I-W a 曲口N口咅C 數(shù)數(shù)數(shù)0 t是是臥 inue1740948824最大數(shù)是? 9地址是:124491ZPibes 曰n屮 ke 1/ tn contiifflUBH總1運用指針時應(yīng)時刻注意指針指向的改變,避免邏輯上的錯誤,加大編程時的難度。2.通過指針變量可以提高程序質(zhì)量,編寫程序方便靈活,可以實現(xiàn)多個值的返回 實驗6#i ncludevoid fu(float *p)int a;a=(i nt)*p;printf(整數(shù)部分是%d 小數(shù)部分是fn,a,*p-
26、a); mai n()float a3;int i;for(i=0;i3;i+)sca nf(%f,&ai); fu(&ai);實驗7#i ncludeint dizhi (int *p)int s;P=&s;printf(地址是:%dn,p);return p;mai n()int i,s,a10,*p;for(i=0;i10;i+) jai=rand()%10;prin tf(%d,ai);prin tf(n);s=a0;for(i=0;i10;i+)if(sai+1) s=ai;printf(最大數(shù)是;%dn,s); dizhi(&s);青島理工大學(xué)課程實驗報告課程名稱姓名計算機程序設(shè)計
27、(C)趙亞東班級軟件111實驗日期學(xué)號 201107209實驗成績2012-5-16實驗名稱指針實驗?zāi)康募耙?理解指針的定義,學(xué)會指針變量的初始化以及指針可以參與的運 算。2. 掌握指針和一維數(shù)組的關(guān)系。3. 理解指針和二維數(shù)組的關(guān)系、理解行指針(或數(shù)組指針)的概念 4理解指針數(shù)組和數(shù)組指針的區(qū)別。5理解指針和函數(shù)的關(guān)系以及指針函數(shù)和函數(shù)指針的含義。6了解指針的指針(即二級指針)。實 驗 環(huán) 境 實 驗 內(nèi) 容算法描述及實q驗步驟調(diào) 試 過 程 及 實 驗 結(jié) 果Visual C+6.0window76編寫程序。讀入三個浮點數(shù),將整數(shù)部分和小數(shù)部分分別輸出。 要求使用指針作形參。7編寫一個函
28、數(shù),返回數(shù)組元素中最大值的地址,并在主函數(shù)中輸 出該元素。實驗6 1、定義函數(shù),指針做形參。2、定義a為整數(shù)部分,*p-a既 是小數(shù)部分。然后輸出。3、主函數(shù)中,鍵入三個浮點型數(shù)。并使用 fu函數(shù)。實驗71、定義dizhi函數(shù),指針做形參。返回地址。2、定義主函數(shù), 以及一個數(shù)組。3、調(diào)用dizhi函數(shù),輸出數(shù)組和最大值。6、7、7 1 2 6是是是y3 ZZZZZJr a 弓弓專2音音自s Ln-sfe-頻 整整整PF*分分分nt I7I-I-W a 曲口N口咅C 數(shù)數(shù)數(shù)0 t是是臥 inue1740948824最大數(shù)是? 9地址是:124491ZPibes 曰n屮 ke 1/ tn con
29、tiifflUBH總1運用指針時應(yīng)時刻注意指針指向的改變,避免邏輯上的錯誤,加大編程時的難度。2.通過指針變量可以提高程序質(zhì)量,編寫程序方便靈結(jié)活,可以實現(xiàn)多個值的返回附 錄實驗6#i ncludevoid fu(float *p)int a;a=(i nt)*p;printf(整數(shù)部分是%d 小數(shù)部分是fn,a,*p-a);mai n()float a3;int i;for(i=0;i3;i+)sca nf(%f,&ai);fu(&ai);實驗7#i ncludeint dizhi (int *p)int s;P=&s;printf(地址是:%dn,p);return p;mai n()in
30、t i,s,a10,*p;for(i=0;i10;i+)ai=ra nd()%10;prin tf(%d,ai);prin tf(n);s=a0;for(i=0;i10;i+)if(srbess Bn#匸。continueI定義一個可以刪除節(jié)點的函數(shù), 當輸入一個年齡時,如果鏈表中的結(jié)點所 包含的年齡等于此年齡,則將此結(jié)點刪去。2總結(jié)熟練地掌握共用體;在寫程序時可以熟練地使用鏈表進行數(shù)據(jù)操作。附 錄/第一題代碼如下:#i nclude#defi ne N 5void input(struct student stud);double av1(struct stude nt stud);doub
31、le av2(struct stude nt stud);double av3(struct stude nt stud);int max(struct stude nt stud);struct stude ntint no;char n ame10;double degree1;double degree2;double degree3;void mai n()struct student studN;double aver3,avg;i nt a,i;in put(stud);aver0=av1(stud);aver1=av2(stud);aver2=av3(stud);a=max(st
32、ud);avg=(studa.degree1+studa.degree2+studa.degree3)/3.0;for(i=0;i3;i+)printf(第%d 門平均分:t,i+1);prin tf(%.2lfn,averi);printf(分數(shù)最高的學(xué)生信息如下:n);prin tf(%dt%st%.2lf%.2lf %.2lf %.2lfn,studa. no,studa. name,studa.degree1,studa.degree2,studa.degree3,avg);void input(struct student stud)輸入 N 個學(xué)生的信息int i;printf(學(xué)
33、生信息輸入格式:學(xué)號、姓名、分開輸入三門分數(shù)n);for(i=0;iN;i+)printf(輸入第%d個學(xué)生信息:n,i+1);sea nf(%d%s%lf%lf%lf,&studi. no,studi. name,&studi.degree1,&stu di.degree2,&studi.degree3);double av1(struct stude nt stud)/計算第一門課的平均分int i;double a=0.0,b;for(i=0;iN;i+) a+=studi.degree1; b=a/N;return b;double av2(struct stude nt stud)/
34、計算第二門課的平均分int i;double a=0.0,b;for(i=0;iN;i+)a+=studi.degree2;b=a/N;return b;double av3(struct stude nt stud)/計算第三門課的平均分int i;double a=0.0,b;for(i=0;iN;i+)a+=studi.degree3;b=a/N;return b;int max(struct stude nt stud)查找分數(shù)最大的學(xué)生下標double m=0,aN;int i,k=0;for(i=0;iN;i+)ai=studi.degree1+studi.degree2+stud
35、i.degree3;if(mai)m=ai;k=i;return k;/第二題代碼如下:#i nclude#i nclude#defi ne N 3typedef struct studint no;char n ame10;char sex10;int age;struct stud *n ext;Stud;Stud *create();void show(Stud *head);void delet(Stud *head);Stud *getnode(Stud *head,int n);void sha n( Stud *head);void ma in ()/ 主函數(shù)Stud *head
36、;int n;doprintf(1-創(chuàng)建鏈表,2-顯示鏈表,3-刪除相同年齡,0-退出操作n); sca nf(%d,&n);switch( n)case 1:head=create();break;case 2:show(head);break;case 3:delet(head);break;default:break;while( n!=0);Stud *create()/創(chuàng)建鏈表儲存學(xué)生信息Stud *p,*head,*r;int i;head=(Stud *)malloc(sizeof(Stud); r=head;printf(輸入學(xué)生信息格式:學(xué)號、姓名、性別、年齡n); for(
37、i=1;in o,p-n ame,p-sex,&p-age); r-n ext=p;r=p;r-n ext=NULL;return head;void show(Stud *head)顯示學(xué)生信息int i=0;Stud *p=head-n ext;printf(學(xué)生信息如下:n);while(p!=NULL)printf(第%d 個學(xué)生信息:nn,i+1);prin tf(%dt%st%st%dn ,p-no ,p-n ame,p-sex,p-age); p=p-n ext;i+;Stud *getnode(Stud *head,int n)int i=1;Stud *p=head;if(n
38、1)return NULL;while(p!=NULL&in ext;i+;if(p!=NULL)return p;elsereturn NULL;void delet(Stud *head)/刪除與輸入年齡相同的學(xué)生信息int year,i=1,k=1;Stud *p=head-n ext,*q;printf(輸入要刪除的年齡n); sea nf(%d, &year);while(p!=NULL) if(year=p-age)if(k=1)head-n ext=p-n ext; free(p);p=head; elseq=get no de(head,k); q-n ext=p-n ext;
39、 free(p);p=q;elsek+; p=p-n ext;printf(相同年齡已刪除n);青島理工大學(xué)課程實驗報告課程名稱計算機程序設(shè)計(C)班級軟件111實驗日期2012-6-8姓名趙業(yè)東學(xué)號201107209實驗成績實驗名稱實驗八綜合程序設(shè)計實驗?zāi)康募耙?掌握文件以及緩沖文件系統(tǒng)、文件指針的概念。2學(xué)會使用文件打開、關(guān)閉、讀、寫等文件操作函數(shù)。3.通過一個綜合程序,使學(xué)生對綜合運用C語言程序設(shè)計語言有初步的認識。實 驗 環(huán) 境VC+6.0實 驗 內(nèi) 容一、學(xué)生管理系統(tǒng)1、學(xué)生基本信息的管理,包括添加、修改、刪除、查找、全刪等 操作;2、課程數(shù)據(jù)的管理,包括添加、修改、刪除、查找、全
40、刪等操作;3、學(xué)習(xí)成績數(shù)據(jù)的管理,包括添加、修改、刪除、查找、全刪等 操作;4、學(xué)生成績查詢系統(tǒng),包括按學(xué)號、按課程號、按班號統(tǒng)計學(xué)生 的成績。算法 描首先自定義學(xué)生信息、課程數(shù)據(jù)、學(xué)生成績的結(jié)構(gòu)體,定義這些變量 的鏈表,一邊對這些數(shù)據(jù)進行操作。一、在寫主函數(shù)時,先把數(shù)據(jù)從文件中提取到鏈表中,操作后再寫入 文件中進行保存。述 及 實 驗 步 驟二、在學(xué)生信息管理系統(tǒng)中,添加,即是判斷是否存在相同學(xué)號,沒有通過鏈表進行添加操作,有的話進行提示,修改時只改對應(yīng)學(xué)號的信息,學(xué)號不需要修改,但需要同時修改成績管理系統(tǒng)中的對應(yīng) 學(xué) 號的學(xué)生姓名,在進行刪除操作時,先查找是否有和需要修改的學(xué)號 相對應(yīng)的學(xué)
41、生信息,有的話則按照鏈表刪除操作進行刪除,查找時判 斷是否有需要查找的學(xué)號,若有,輸出對應(yīng)的學(xué)生信息,進行全刪操 作時,和鏈表的釋放操作差不多,但是要注意的是不能釋放頭結(jié)點的 地址,它是一個全局變量,釋放后不能進行其他操作。在課程數(shù)據(jù)、學(xué)習(xí)成績數(shù)據(jù)的處理時,采取同樣的處理方式;三、學(xué)生成績查詢系統(tǒng)分按學(xué)號、按課程號、 按班號三種方式來統(tǒng)計 學(xué)生的成績??偨Y(jié)附錄*LCiE alVtrCTOKlft.SlUJi w,M PpLs5EDFL?ij y. t VU if.-sXc可以熟練地進行文件操作,打開文件,寫文件,向文件中添加內(nèi)容, 以及文件的讀取等操作進行編寫小型程序。Stude nt 文件#
42、i nclude #i nclude #i nclude#i nclude #in cludeschool.h void addstude nt(); void displaystude nt(); void alterstude nt();void cha ngen ame(i nt no ,char n ame); void fin dstude nt();void deletstude nt();void deleallstu();exter n StudNode *stude nthead;exter n ScoreNode *scorehead;void stude nt()int
43、x;doprintf(1-添加,2-修改,3-顯示,4-查找,5-刪除,6-全刪,0-返回n); sca nf(%d, &x);switch(x)case 1:addstude nt();break;case 2:alterstude nt();break;case 3:displaystude nt();break;case 4:fi ndstude nt();break;case 5:deletstude nt();break;case 6:deleallstu();break;case 0:break;default :printf(選擇錯誤 n);break;while(x!=0);v
44、oid addstude nt()/添加一個學(xué)生信息StudNode *p=stude nthead-n ext,*s,*q=stude nthead;int no ;StudType st;printf(輸入添加的學(xué)生學(xué)號n);sca nf(%d,&no);while(p!=NULL & p-data.no!=no)q=p;p=p-n ext;if(p=NULL)/學(xué)號不重復(fù) s=(StudNode *)malloc(sizeof(StudNode);printf(輸入學(xué)生信息格式:姓名、年齡、班號n);sca nf(%s%d%s,st. name,&st.age,st.class no);
45、st. no=no; s-data=st; s-n ext=q-n ext; q-n ext=s;elseprintf(學(xué)號重復(fù) n);void displaystude nt()StudNode *p=stude nthead-n ext;if(p!=NULL)printf(學(xué)生信息如下:n);printf(學(xué)號姓名年齡 班號n);while(p!=NULL)prin tf(%3d%8s%5d%8sn,p-data .no ,p-data .n ame,p-data.age,p-dat a.class no);p=p-n ext;printf(學(xué)生信息輸出完畢n);elseprintf(無學(xué)生信息n);void alterstude nt()修改一個學(xué)生的信息,但是學(xué)號不改變,同時改變成績管理文件的姓 名St
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新保安服務(wù)合同解讀
- 長期信用借款保證書模版
- 教師與家長攜手承諾發(fā)展
- 鏈家改進版房屋買賣協(xié)議
- 版供水工程勞務(wù)分包合同
- 文明停車維護市容的使命
- 葡萄購銷合同模板
- 景觀石料購買協(xié)議
- 招標信息酒店建設(shè)項目
- 啤酒花購銷合約
- 龍湖云河玉陛暖通系統(tǒng)報價(氟機)-20231107
- 相關(guān)分析spss課件
- 標志設(shè)計智慧樹知到期末考試答案章節(jié)答案2024年甘肅政法大學(xué)
- 現(xiàn)代奶牛飼養(yǎng)技術(shù)考試考核試卷
- GB/T 18029.8-2024輪椅車第8部分:靜態(tài)強度、沖擊強度及疲勞強度的要求和測試方法
- 工程倫理學(xué)智慧樹知到期末考試答案章節(jié)答案2024年廣東工業(yè)大學(xué)
- 國際經(jīng)濟法智慧樹知到期末考試答案章節(jié)答案2024年中南大學(xué)
- GB/T 18488-2024電動汽車用驅(qū)動電機系統(tǒng)
- 腫瘤的預(yù)防與早診早治
- 2023-2024學(xué)年成都市武侯區(qū)九年級上英語(一診)期末考試題(含答案)
- DZ∕T 0130-2006 地質(zhì)礦產(chǎn)實驗室測試質(zhì)量管理規(guī)范(正式版)
評論
0/150
提交評論