C語言課程設(shè)計實習(xí)報告_第1頁
C語言課程設(shè)計實習(xí)報告_第2頁
C語言課程設(shè)計實習(xí)報告_第3頁
C語言課程設(shè)計實習(xí)報告_第4頁
C語言課程設(shè)計實習(xí)報告_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、c語言課程設(shè)計實習(xí)報告 班級: 072115 姓名: 石鵬 學(xué)號:201110024522012-6題目一、題目描述:要求輸入兩個相對較大的正整數(shù),能夠通過程序計算出其結(jié)果。 設(shè)計思路:輸入m、n開始輸入p、qj=0jn-1 nj=j+1 yx=jxm+j nx=j yy nx=m+jcx=rx-1+am-1*bj/10 y nrx=(cx+(a0*bj)%10)/10cx=(cx+(a0*bj)%10)%10rx=(a1*bj)%10+cx+rx-1+a0*bj/10)/10cx=(cx+(ax-j*bj)%10+rx-1+ax-j-1*bj/10)%10x=x+1cm+n-1=0 y nx

2、=m+n-1x=m+n-22 x0x0 n y y輸入cx輸入cx結(jié)束x=x-1 x=x-1 由于long型數(shù)據(jù)的數(shù)據(jù)范圍并不大,所以兩個相對較大的數(shù)不能用long int類型存儲。本程序中設(shè)計用數(shù)組存儲一個大數(shù),數(shù)組的初始空間可以定義到如100或200個單元,每個單元存儲一位數(shù)據(jù),以此解決乘數(shù)及乘積的存儲問題。解決了存儲問題后,本程序設(shè)計讓乘數(shù)數(shù)組及被乘數(shù)數(shù)組中的每一位數(shù)字單獨(dú)來進(jìn)行乘法運(yùn)算,即用一個數(shù)字和另外一個數(shù)組中的每一位去相乘,得到乘法運(yùn)算中一行的數(shù)字,再將每一行數(shù)字錯位相加,最后得到預(yù)計的乘積并輸出。運(yùn)行效果截圖: 附源程序如下:#includeint main() int a10

3、0=0,b100=0,c200=0,i,j,m,n,x,r200; printf(請分別輸入乘數(shù)p、q的位數(shù)m、n:n); scanf(%d%d,&m,&n); printf(n); printf(請分別輸入兩乘數(shù)p、q:n); printf(p=); for(i=m-1;i=0;i-) scanf(%d,&ai); printf(q=); for(j=n-1;j=0;j-) scanf(%d,&bj); printf(n); for(j=0;j=n-1;j+) for(x=j;x=0;x-) printf(%d,cx); else for(x=m+n-1;x=0;x-) printf(%d,

4、cx); printf(n); return 0;題目二、題目描述:學(xué)生信息管理系統(tǒng)設(shè)計。學(xué)生信息包括:學(xué)號,姓名,年齡,性別,出生年月,地址,電話,e-mail等。試設(shè)計一學(xué)生信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以文本菜單方式工作;學(xué)生信息錄入功能(學(xué)生信息最好用文件保存)-輸入;學(xué)生信息瀏覽功能-輸出;查詢、排序功能-算法;按學(xué)號查詢;按姓名查詢;學(xué)生信息的刪除與修改。設(shè)計思路:功能函數(shù)聲明開始1調(diào)用清屏函數(shù)system(“cls”)輸出文本菜單主界面輸入cswitch c 1 2 5 6 3 4 change()dele()input()scan()sort()find()本程序中不同

5、的功能模塊均由數(shù)據(jù)的讀入、數(shù)據(jù)的處理、數(shù)據(jù)的輸出及返回封裝而成,差別僅體現(xiàn)在數(shù)據(jù)的處理上,而不同功能模塊的選擇則采用了switch語句簡單明了。運(yùn)行效果截圖:附源程序如下:#include#include#includetypedef structint num; char name20; char sex; int age;char birth20; char mail20; char add20; char tel20;inf;main() void input(); void scan(); void find(); void sort(); void dele(); void over

6、(); void change(); int c; while(1)system(cls); printf( o(_)on); printf(*歡迎來到地大學(xué)生信息管理系統(tǒng)*n); printf(n); printf( 功能選擇n); printf(n); printf(*1.信息錄入*n); printf(*2.信息瀏覽*n); printf(*3.信息查詢*n); printf(*4.信息排序*n); printf(*5.信息刪除*n); printf(*6.信息修改*n); scanf(%d,&c); switch(c) case 1:input(); break; case 2:sca

7、n(); break; case 3:find(); break; case 4:sort(); break; case 5:dele(); break; case 6:change(); break;void input()inf w1000; file *fp1,*fp2;int i,n=0,j;fp1=fopen(data.txt,r); while(!feof(fp1)fscanf(fp1,%d %s %c %d %s %s %s %s,&wn.num,,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+; fclose(

8、fp1);fp2=fopen(information.txt,w);for(i=0;in-1;i+)fprintf(fp2,%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);fclose(fp2);printf(錄入已完成!n);printf(n); printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j);if(j=1) over();void scan()inf w1000; file *fp;int i,n=0,j;fp=fopen(informat

9、ion.txt,r);while(!feof(fp)fscanf(fp,%d %s %c %d %s %s %s %s,&wn.num,,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+;fclose(fp);for(i=0;in-1;i+) printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);printf(n);printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j); if(

10、j=1) over();void find()inf w1000; file *fp;int i,n=0,j,q,r; char p20;fp=fopen(information.txt,r); while(!feof(fp)fscanf(fp,%d %s %c %d %s %s %s %s,&wn.num,,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+;fclose(fp);printf(請輸入查詢方式:n);printf(n);printf(1.按照姓名查詢 2.按照學(xué)號查詢n);scanf(%d,&q);if(q=1)

11、printf(請輸入學(xué)生姓名:); scanf(%s,p);printf(n); printf(查詢結(jié)果:n); printf(n); for(i=0;in-1;i+)if(strcmp(p,)=0)printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);elseprintf(請輸入學(xué)生學(xué)號:); scanf(%d,&r);printf(n); printf(查詢結(jié)果:n); printf(n);for(i=0;in-1;i+)if(r=wi.num)

12、printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);printf(n); printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j); if(j=1) over();void sort()inf w1000; file *fp;int i,n=0,j; inf t;fp=fopen(information.txt,r); while(!feof(fp)fscanf(fp,%d %s %c %d %s %s %s %s,&wn.num,wn.nam

13、e,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+;fclose(fp);for(i=0;in-1;i+)for(j=i+1;jn;j+)if(wi.numwj.num)t=wi; wi=wj; wj=t; printf(排序結(jié)果:n); printf(n); for(i=0;in-1;i+)printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);printf(n); printf(返回主界面請按2,結(jié)束請按1:

14、n);scanf(%d,&j); if(j=1) over();void dele()inf w1000; file *fp1,*fp2;int i,n=0,j; char p20; fp1=fopen(data.txt,r); while(!feof(fp1)fscanf(fp1,%d %s %c %d %s %s %s %s,&wn.num,,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+;fclose(fp1);printf(請輸入刪除人姓名:);scanf(%s,p);for(i=0;in;i+)if(strcmp(p

15、,)=0)for(i;in-2;i+)wi=wi+1;fp2=fopen(deleted.txt,w);for(i=0;in-2;i+)fprintf(fp2,%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);fclose(fp2);printf(n);printf(刪除已完成!修改文件以deleted.txt命名請注意查看。n);printf(n);printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j); if(j=1) over();v

16、oid change()inf w1000; file *fp1,*fp2;int i,n=0,r,q,c,t,j,y; char p20,s20,x; fp1=fopen(data.txt,r); while(!feof(fp1)fscanf(fp1,%d %s %c %d %s %s %s %s,&wn.num,,&wn.sex,&wn.age,wn.birth,wn.mail,wn.add,wn.tel);n+;fclose(fp1);printf(請先輸入查找信息:n);printf(n);printf(1.按姓名 2.按學(xué)號n);scanf(%d,&q);if(q=1)

17、printf(請輸入學(xué)生姓名:); scanf(%s,p);printf(n); for(i=0;in-1;i+)if(strcmp(p,)=0)y=i;printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel); printf(n); printf(請輸入修改信息的類:n); printf(n); printf(1. 學(xué)號 2.姓名 3.性別 4.年齡n);printf(5.出生日期 6.郵箱 7.住址 8.電話n); scanf(%d,&c); if(

18、c=1) printf(將%d改為n,wy.num); scanf(%d,&t); wy.num=t;if(c=2) printf(將%s改為n,); scanf(%s,s); strcpy(,s);if(c=3) printf(將%c改為n,wy.sex); scanf(%c,&x); wy.sex=x;if(c=4) printf(將%d改為n,wy.age); scanf(%d,&t); wy.age=t;if(c=5) printf(將%s改為n,wy.birth); scanf(%s,s); strcpy(wy.birth,s); if(c=6) prin

19、tf(將%s改為n,wy.mail); scanf(%s,s); strcpy(wy.mail,s);if(c=7) printf(將%s改為n,wy.add); scanf(%s,s); strcpy(wy.add,s);if(c=8) printf(將%s改為n,wy.tel); scanf(%s,s); strcpy(wy.tel,s);elseprintf(請輸入學(xué)生學(xué)號:); scanf(%d,&r);printf(n);for(i=0;in-1;i+)if(r=wi.num)printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,

20、wi.age,wi.birth,wi.mail,wi.add,wi.tel);printf(n);printf(請輸入修改信息的類:n);printf(n);printf(1. 學(xué)號 2.姓名 3.性別 4.年齡n);printf(5.出生日期 6.郵箱 7.住址 8.電話n);scanf(%d,&c); if(c=1) printf(將%d改為n,wr-1.num); scanf(%d,&t); wr-1.num=t;if(c=2) printf(將%s改為n,); scanf(%s,s); strcpy(,s);if(c=3) printf(將%c改為n

21、,wr-1.sex); scanf(%c,&x); wr-1.sex=x;if(c=4) printf(將%d改為n,wr-1.age); scanf(%d,&t); wr-1.age=t;if(c=5) printf(將%s改為n,wr-1.birth); scanf(%s,s); strcpy(wr-1.birth,s); if(c=6) printf(將%s改為n,wr-1.mail); scanf(%s,s); strcpy(wr-1.mail,s);if(c=7) printf(將%s改為n,wr-1.add); scanf(%s,s); strcpy(wr-1.add,s);if(

22、c=8) printf(將%s改為n,wr-1.tel); scanf(%s,s); strcpy(wr-1.tel,s);fp2=fopen(changed.txt,w);for(i=0;in-1;i+)fprintf(fp2,%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.birth,wi.mail,wi.add,wi.tel);fclose(fp2);printf(修改已完成,保存在名為changed.txt的文檔中,請注意查看!);printf(n); printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,

23、&j);if(j=1) over();void over()system(cls);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf( thanks,good bye!n);printf(n);printf( o(_)on);while(1) ;題目三、題目描述:職工信息管理系統(tǒng)設(shè)計。職工信息包括職:工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號不重復(fù))。試設(shè)計一職工信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作;v

24、職工信息錄入功能(職工信息用文件保存)輸入;v職工信息瀏覽功能輸出。v 設(shè)計思路:開始功能函數(shù)聲明 1調(diào)用清屏函數(shù)system(“cls”)輸出文本菜單主界面輸入cswitch c 1 2 5 6 3 4 change()dele()input()scan()sort()find()本程序與二題類似,不同的功能模塊均由數(shù)據(jù)的讀入、數(shù)據(jù)的處理、數(shù)據(jù)的輸出及返回封裝而成,差別僅體現(xiàn)在數(shù)據(jù)的處理上,而不同功能模塊的選擇則采用了switch語句。運(yùn)行效果截圖:附源程序如下:#include#include#includetypedef structint num; char name20; char

25、sex; int age;char eb20; int salary; char add20; char tel20;inf;main()void input(); void scan(); void find(); void sort();void dele();void over();void change(); int c;while(1)system(cls); printf( o(_)on); printf(*歡迎來到地大職工信息管理系統(tǒng)*n); printf(n); printf( 功能選擇n); printf(n); printf(*1.信息錄入*n); printf(*2.信息

26、瀏覽*n); printf(*3.信息查詢*n); printf(*4.信息排序*n);printf(*5.信息刪除*n);printf(*6.信息修改*n); scanf(%d,&c); switch(c) case 1:input(); break; case 2:scan(); break; case 3:find(); break; case 4:sort(); break; case 5:dele(); break; case 6:change(); break;void input()inf w1000; file *fp1,*fp2;int i,n=0,j;fp1=fopen(d

27、ata.txt,r); while(!feof(fp1)fscanf(fp1,%d %s %c %d %s %d %s %s,&wn.num,,&wn.sex,&wn.age,wn.eb,&wn.salary,wn.add,wn.tel);n+; fclose(fp1);fp2=fopen(information.txt,w);for(i=0;in-1;i+)fprintf(fp2,%d %s %c %d %s %d %s %sn,wi.num,,wi.sex,wi.age,wi.eb,wi.salary,wi.add,wi.tel);fclose(fp2);pri

28、ntf(錄入已完成!n);printf(n); printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j);if(j=1) over();void scan()inf w1000; file *fp;int i,n=0,j;fp=fopen(information.txt,r);while(!feof(fp)fscanf(fp,%d %s %c %d %s %d %s %s,&wn.num,,&wn.sex,&wn.age,wn.eb,&wn.salary,wn.add,wn.tel);n+;fclose(fp);for(i=0;in-1;i+) printf(%

29、d %s %c %d %s %d %s %sn,wi.num,,wi.sex,wi.age,wi.eb,wi.salary,wi.add,wi.tel);printf(n);printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j);if(j=1) over();void find()inf w1000; file *fp;int i,n=0,f,j,q,r; char p20;fp=fopen(information.txt,r); while(!feof(fp)fscanf(fp,%d %s %c %d %s %d %s %s,&wn.num,,

30、&wn.sex,&wn.age,wn.eb,&wn.salary,wn.add,wn.tel);n+;fclose(fp);printf(請輸入查詢方式:n);printf(1.按照姓名查詢 2.按照工號查詢n);scanf(%d,&q);if(q=1)printf(請輸入請姓名:); scanf(%s,p); printf(查詢結(jié)果:n); printf(n); for(i=0;in-1;i+)if(strcmp(p,)=0)printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.eb,&wi.salary

31、,wi.add,wi.tel);elseprintf(請輸入職工工號:); scanf(%d,&r); printf(查詢結(jié)果:n); printf(n);for(i=0;in-1;i+)if(r=wi.num)printf(%d %s %c %d %s %s %s %sn,wi.num,,wi.sex,wi.age,wi.eb,&wi.salary,wi.add,wi.tel);printf(n); printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j); if(j=1) over();void sort()inf w1000; file *fp;int i

32、,n=0,j; inf t;fp=fopen(information.txt,r); while(!feof(fp)fscanf(fp,%d %s %c %d %s %d %s %s,&wn.num,,&wn.sex,&wn.age,wn.eb,&wn.salary,wn.add,wn.tel);n+;fclose(fp);for(i=0;in-1;i+)for(j=i+1;jn;j+)if(wi.numwj.num)t=wi; wi=wj; wj=t; printf(排序結(jié)果:n); printf(n); for(i=0;in-1;i+)printf(%d %s %c %d %

33、s %d %s %sn,wi.num,,wi.sex,wi.age,wi.eb,wi.salary,wi.add,wi.tel);printf(n); printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j);if(j=1) over();void dele()inf w1000; file *fp1,*fp2;int i,n=0,j; char p20; fp1=fopen(data.txt,r); while(!feof(fp1)fscanf(fp1,%d %s %c %d %s %d %s %s,&wn.num,,&wn.sex,&wn.ag

34、e,wn.eb,&wn.salary,wn.add,wn.tel);n+;fclose(fp1);printf(請輸入刪除人姓名:);scanf(%s,p);for(i=0;in;i+)if(strcmp(p,)=0)for(;in-2;i+)wi=wi+1;fp2=fopen(deleted.txt,w);for(i=0;in-2;i+)fprintf(fp2,%d %s %c %d %s %d %s %sn,wi.num,,wi.sex,wi.age,wi.eb,wi.salary,wi.add,wi.tel);fclose(fp2);printf(n);pri

35、ntf(刪除已完成!修改文件以deleted.txt命名。n);printf(n);printf(返回主界面請按2,結(jié)束請按1:n);scanf(%d,&j);if(j=1) over();void change()inf w1000; file *fp1,*fp2;int i,n=0,r,q,c,t,j,y,a; char p20,s20,x; fp1=fopen(data.txt,r); while(!feof(fp1)fscanf(fp1,%d %s %c %d %s %d %s %s,&wn.num,,&wn.sex,&wn.age,wn.eb,&wn.salary,wn.add,wn.tel);n+;fclose(fp1);printf(請先輸入查找信息:n);printf(n);printf(1.按姓名 2.按工號n);scanf(%d,&q);if(q=1)printf(請輸入職工姓名:); scanf(%s,p);printf(n); for(i=0;in-1;i+)if(strcmp(p,)=0)y=i;printf(%d %s %c %d %s %d %s %sn,wi.num,,wi.sex,wi.age,wi.eb,wi.salary,wi.add,wi.tel); printf(n); printf(請輸

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論