版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> C語言課程設計</b></p><p> 專 業(yè): </p><p> 班 級: </p><p> 姓 名: </p><p> 學 號: </
2、p><p> 指導教師: </p><p> 自動化與電氣工程學院</p><p> 2012 年 7月 6日</p><p><b> 1 基本題目</b></p><p><b> 1.1題目</b></p><
3、p> 編寫一個程序,求3X4數(shù)組的轉置矩陣。要求在main函數(shù)里讀數(shù),在change函數(shù)里把矩陣轉置。</p><p><b> 1.2 題目分析</b></p><p> 分析:先定義兩個數(shù)組,數(shù)組a中為3行4列,輸入12個數(shù),數(shù)組b為4行3列,開始時未賦值,只要在調(diào)用語句中將a數(shù)組中的a[i][j]存放到b數(shù)組中的b[j][i]元素中,再用嵌套的for
4、循環(huán)即可完成任務。</p><p><b> 流程圖如圖1所示:</b></p><p> 圖1 基本題目流程圖</p><p><b> 1.3 程序 </b></p><p> #include<stdio.h></p><p> void chan
5、ge(int c[3][4]);</p><p> int a[3][4],b[4][3];</p><p> int main()</p><p><b> {</b></p><p><b> int i,j;</b></p><p> printf("
6、;請輸入3乘4方陣:\n");</p><p> for(i=0;i<=2;i++)</p><p> for(j=0;j<=3;j++)</p><p> scanf("%d",&a[i][j]);</p><p> printf("3乘4矩陣:\n");<
7、/p><p> change(a);</p><p> printf("4乘3矩陣:\n");</p><p> for(i=0;i<=3;i++)</p><p> { for(j=0;j<=2;j++)</p><p> printf("%6d",b[i]
8、[j]);</p><p> printf("\n");}</p><p><b> return 0;</b></p><p><b> }</b></p><p> void change(int c[3][4])</p><p><b&
9、gt; { </b></p><p><b> int i,j;</b></p><p> for(i=0;i<=2;i++)</p><p> { for(j=0;j<=3;j++)</p><p> { printf("%6d",c[i][j]);<
10、/p><p> b[j][i]=c[i][j];</p><p><b> }</b></p><p> printf("\n");</p><p><b> }</b></p><p><b> }</b></p>
11、<p> 1.4 程序的運行結果</p><p> 上述程序的運行結果如圖2所示:</p><p> 圖2 基本題目運行結果</p><p> 從圖2可以看出,將3乘4矩陣轉換成4乘3矩陣。</p><p><b> 2 改錯題目</b></p><p><b>
12、 2.1 改正后程序</b></p><p> #include<stdio.h></p><p><b> main()</b></p><p> {int x=1,y;</p><p><b> y=x++; </b></p><p>
13、; printf("y=%d ",y);</p><p><b> int z;</b></p><p><b> z=++x;</b></p><p> printf("z=%d\n",z);</p><p><b> }</b&
14、gt;</p><p> 2.2 程序運行結果</p><p> 程序運行結果如圖3所示:</p><p> 圖3 改錯題運行結果</p><p> 從圖三可以看出:將x的值賦值給y,將x自加1的值再自加1后的值賦值給z。</p><p><b> 3 綜合題目</b></p>
15、;<p><b> 3.1 題目</b></p><p> 綜合題目為:《公司職工檔案管理系統(tǒng)》。</p><p> 本設計只設計系統(tǒng)的錄入與顯示模塊。</p><p><b> 3.2 數(shù)據(jù)結構</b></p><p> 對上述題目進行分析,定義結構體數(shù)據(jù)結構如下:<
16、/p><p> struct worker </p><p><b> {</b></p><p> char number[10];</p><p> char name[20]; </p><p> char sex[2];</p><p><b>
17、 int age;</b></p><p> char note[200];</p><p><b> };</b></p><p> 3.3 程序的主要功能</p><p> 本系統(tǒng)采用一個包含3個數(shù)據(jù)的結構體數(shù)組,每個數(shù)據(jù)的結構應當包括:號、姓名、性別、年齡、備注。</p><
18、;p> 本系統(tǒng)顯示這樣的菜單:</p><p> a. 學生基本信息錄入</p><p> b. 學生基本信息顯示</p><p> c. 學生基本信息保存</p><p><b> g. 退出系統(tǒng)</b></p><p> 執(zhí)行一個具體的功能之后,程序將重新顯示菜單。</
19、p><p> 將學生基本信息保存到文件中。</p><p> 3.3 各函數(shù)的功能</p><p> (1) entering()</p><p> 對所需數(shù)據(jù)進行輸入并保存到文件。</p><p> (2) show()</p><p> 打開存有數(shù)據(jù)的文件,并對文件中的數(shù)據(jù)進行顯示。
20、</p><p> 錄入模塊的流程圖如圖4所示:</p><p> 圖4 錄入模塊流程圖</p><p> 顯示模塊的流程圖如圖5所示:</p><p> 圖5 顯示模塊流程圖</p><p><b> 3.4 源程序</b></p><p> #include
21、<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #include<conio.h></p><p> #define N 3
22、 //測試數(shù)據(jù)員工人數(shù)為3個</p><p> struct worker //設定一個內(nèi)容為員工信息的結構體</p><p><b> {</b></p><p> char number[10]; //工號的長度允許
23、最大為十</p><p> char name[20]; //名字的長度允許最大為二十 </p><p> char sex[2];</p><p> int age; //定義年齡為整型</p><p>
24、char note[200]; //備注的長度為允許最大200</p><p><b> };</b></p><p> void entering(struct worker wor[N]); //錄入函數(shù)</p><p> void show(stru
25、ct worker wor[N]); //顯示函數(shù)</p><p> void preserve(struct worker wor[N]); //保存函數(shù)</p><p> void main() //主函數(shù)</p><p><b>
26、 { </b></p><p> int select;</p><p> struct worker wor1[N];</p><p> printf("\t\t\t(>>>>>歡迎使用公司檔案管理系統(tǒng)<<<<<)\t\t\t\t\n");</p>
27、<p> printf("\t\t\t\t(*請進行功能選擇*)\t\t\t\t\n");</p><p> printf("\t\t\t\t(*員工信息的錄入功能,請按 1*)\t\t\t\t\n"); </p><p> printf("\t\t\t\t(*員工信息的顯示功能,請按 2*)\t\t\t\t\n&
28、quot;); </p><p> printf("\t\t\t\t(*員工信息的保存功能,請按 3*)\t\t\t\t\n"); </p><p> printf("\t\t\t\t(*退出系統(tǒng),請按 4*)\t\t\t\t\n");</p><p> printf("請進行功能選擇");<
29、;/p><p> scanf("%d",&select);</p><p> while (0<select && select <5 ) //功能選擇</p><p><b> { </b></p><p> switch (se
30、lect) //功能選擇</p><p><b> {</b></p><p> case 1:entering(wor1);break;</p><p> case 2:show(wor1);break;</p><p> case 3:preserve(wor1);br
31、eak;</p><p> case 4:exit(0);</p><p> default:break;</p><p><b> }</b></p><p> printf("\t\t\t(>>>>>歡迎使用公司檔案管理系統(tǒng)<<<<<)\t
32、\t\t\t\n");</p><p> printf("\t\t\t\t(***請進行功能選擇***)\t\t\t\t\n");</p><p> printf("\t\t\t(*員工管理系統(tǒng)信息錄入功能,請按 1*)\t\t\t\t\n"); </p><p> printf("\t\t\
33、t(*員工管理系統(tǒng)信息顯示功能,請按 2*)\t\t\t\t\n"); </p><p> printf("\t\t\t(*員工管理系統(tǒng)信息保存功能,請按 3*)\t\t\t\t\n"); </p><p> printf("\t\t\t\t(*退出系統(tǒng),請按 7*)\t\t\t\t\n");</p><p>
34、; printf("請進行功能選擇");</p><p> scanf("%d",&select);</p><p><b> }</b></p><p><b> }</b></p><p> void entering(struct wo
35、rker wor[N]) //員工信息錄入功能</p><p><b> {</b></p><p> for (int i=0;i<N;i++) //循環(huán)控制</p><p><b> {</b></p><p>
36、 printf("請輸入員工的姓名:");</p><p> scanf("%s",wor[i].name);</p><p> printf("請輸入員工的工號");</p><p> scanf("%s",wor[i].number);</p><p>
37、; printf("請輸入員工的性別:");</p><p> scanf("%s",wor[i].sex);</p><p> printf("請輸入v的年齡:");</p><p> scanf("%d",&wor[i].age);</p><p&
38、gt; printf("請輸入備注:"); </p><p> scanf("%s",wor[i].note);</p><p><b> }</b></p><p><b> }</b></p><p> void show(struct wor
39、ker wor[N]) //員工信息顯示功能</p><p><b> {</b></p><p> printf("此員工的信息為: name number sex age note\n");</p><p> for (int i = 0;i<N;i++)
40、 //循環(huán)控制</p><p><b> {</b></p><p> printf("%15s%15s%15s%15d%15s\n",wor[i].name,wor[i].number,wor[i].sex,&wor[i].age,wor[i].note); } </p><
41、;p><b> }</b></p><p> void preserve(struct worker wor[N])//員工信息保存功能,保存在c:\\worker management.txt</p><p><b> {</b></p><p> FILE * fp;
42、 //定義一個指向文件的指針變量fp</p><p> fp= fopen("c:\\worker management.txt","w+");//打開文件worker management.txt</p><p> if (fp == NULL) //如果指針指向空,輸出“文件不存在
43、”</p><p><b> {</b></p><p> printf("文件不存在!\n");</p><p><b> }</b></p><p> for(int i=0;i<N;i++) //循環(huán)語句<
44、;/p><p> fwrite(&wor[i],sizeof(struct worker),1,fp);//寫入員工信息</p><p> fclose(fp); //關閉文件</p><p> printf("該學生信息已保存!");</p><p&
45、gt;<b> }</b></p><p> 3.5 程序運行結果</p><p> 上述程序中錄入的運行結果如圖6所示:</p><p> 圖6 綜合題目中錄入的運行結果</p><p> 上述程序中顯示的運行結果如圖7所示:</p><p> 圖7 綜合題目中顯示的運行結果<
46、/p><p><b> 4 結論</b></p><p> 通過做這個課程設計,讓我進一步熟悉了c語言,也讓我了解了c語言的強大功能。在本設計中做公司職工的檔案管理系統(tǒng),系統(tǒng)中可以處理簡單的職工信息管理,當然,本設計中的系統(tǒng)也存在很大缺陷,比如:輸入時無法退出,顯示中的年齡無法準確顯示,等等。另外,在這次的課程設計中不僅檢驗了我所學習的知識,也培養(yǎng)了我如何去把握一件事
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稀疏矩陣的轉置課程設計報告
- c課程設計--矩陣轉置與乘法計算
- C課程設計--矩陣轉置與乘法計算.doc
- c語言課程設計-數(shù)組游戲
- 課程設計-- 4-4 矩陣的轉置與乘法計算
- 課程設計--矩陣轉置與乘法.doc
- 課程設計-- 4-4 矩陣的轉置與乘法計算.doc
- c語言課程設計--矩陣問題
- 趣味矩陣c語言課程設計
- 數(shù)據(jù)結構課程設計論文----稀疏矩陣的轉置
- 稀疏矩陣的轉置論文-數(shù)據(jù)結構課程設計論文
- c語言課程設計報告
- c語言課程設計報告
- c語言課程設計報告
- c語言課程設計報告
- c語言語言課程設計報告
- c語言年歷課程設計報告
- C語言課程設計報告.doc
- c語言課程設計實踐報告
- c語言課程設計報告模版
評論
0/150
提交評論