![c語(yǔ)言課程設(shè)計(jì)實(shí)習(xí)報(bào)告_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/fa745594-f4c4-4ab5-b20d-ff0b3496454a/fa745594-f4c4-4ab5-b20d-ff0b3496454a1.gif)
![c語(yǔ)言課程設(shè)計(jì)實(shí)習(xí)報(bào)告_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/fa745594-f4c4-4ab5-b20d-ff0b3496454a/fa745594-f4c4-4ab5-b20d-ff0b3496454a2.gif)
![c語(yǔ)言課程設(shè)計(jì)實(shí)習(xí)報(bào)告_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/fa745594-f4c4-4ab5-b20d-ff0b3496454a/fa745594-f4c4-4ab5-b20d-ff0b3496454a3.gif)
![c語(yǔ)言課程設(shè)計(jì)實(shí)習(xí)報(bào)告_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/fa745594-f4c4-4ab5-b20d-ff0b3496454a/fa745594-f4c4-4ab5-b20d-ff0b3496454a4.gif)
![c語(yǔ)言課程設(shè)計(jì)實(shí)習(xí)報(bào)告_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/fa745594-f4c4-4ab5-b20d-ff0b3496454a/fa745594-f4c4-4ab5-b20d-ff0b3496454a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言課程設(shè)計(jì)第一章 兩個(gè)大數(shù)相乘§1.1題目描述 本問(wèn)題中,要求輸入兩個(gè)相對(duì)較大的正整數(shù),能夠通過(guò)程序計(jì)算出其結(jié)果。§1.2算法設(shè)計(jì) 設(shè)計(jì)思想:兩個(gè)相對(duì)較大的數(shù)肯定是不能夠用LONG INT類型存儲(chǔ)的,因?yàn)長(zhǎng)ONG型數(shù)據(jù)的數(shù)據(jù)范圍也并不是很大,于是就需要采用其他的存儲(chǔ)結(jié)構(gòu)。這里推薦用數(shù)組存儲(chǔ)一個(gè)大數(shù),數(shù)組的初始空間可以定義到如200或300個(gè)單元,每個(gè)單元存儲(chǔ)一位數(shù)據(jù),形如下圖:25596207.。這樣理論上,比如數(shù)組定義為200,就可以存儲(chǔ)200個(gè)數(shù)字的整數(shù),應(yīng)該是滿足足夠大的條件了。而結(jié)果的存儲(chǔ)也需要考慮空間的問(wèn)題,所以需要一個(gè)更大的數(shù)組。在解決了存儲(chǔ)問(wèn)題后,我們需要
2、來(lái)實(shí)現(xiàn)乘法運(yùn)送的過(guò)程,也就是說(shuō)你必須要把這個(gè)數(shù)組中的每一位數(shù)字單獨(dú)來(lái)進(jìn)行乘法運(yùn)算,比如我們可以用一個(gè)數(shù)字和另外一個(gè)數(shù)組中的每一位去相乘,從而得到乘法運(yùn)算中一行的數(shù)字,再將每一行數(shù)字錯(cuò)位相加。這就是乘法運(yùn)算的過(guò)程。§1.3程序設(shè)計(jì)及代碼分析#include <stdio.h> #include <math.h> void sum(int a300,int b300,int m,int n) int k=0; int c400=0; int i,j,s,t; for(i=0;i<m+n;i+) s=0; for(j=0;j<m;j+) if(t=(m-
3、1+n-1-i-j)>=n|(t=(m-1+n-1-i-j)<0) continue; else s=s+aj*bm-1+n-1-i-j; s=s+k; ci=s%10; k=s/10; printf("n結(jié)果是:n"); for(i=399;i>=0;i-) if(ci!=0) t=i; break; else continue; for(i=t;i>=0;i-) printf("%d",ci); printf("n"); void main() int i,m,n,c; int a300=0,b300=0;
4、 printf("請(qǐng)輸入第一個(gè)數(shù)字:n"); for(i=0;(c=getchar()!='n'i+) ai=c-48; m=i; printf("n請(qǐng)輸入第二個(gè)數(shù)字:n"); for(i=0;(c=getchar()!='n'i+) bi=c-48; n=i;sum(a,b,m,n); §1.4實(shí)驗(yàn)數(shù)據(jù)及運(yùn)行效果截圖§1.5設(shè)計(jì)中出現(xiàn)的錯(cuò)誤及解決方法 對(duì)于這個(gè)問(wèn)題,看到題目的第一反應(yīng)就是用“sum=a+b“的程序算法做。設(shè)計(jì)中出現(xiàn)的錯(cuò)誤大部分是for循環(huán)的混亂。此外數(shù)組定義數(shù)據(jù),常常會(huì)忽略a0,會(huì)造成
5、思想上的越界。對(duì)于題目要求的大數(shù),我們可以定義一個(gè)較大的數(shù)組,再引用數(shù)組中的元素。第2章 學(xué)生信息管理系統(tǒng)設(shè)計(jì)§1.1 題目描述學(xué)生信息包括:學(xué)號(hào),姓名,年齡,性別,出生年月,地址,電話,E-mail等。試設(shè)計(jì)一學(xué)生信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以文本菜單方式工作,學(xué)生信息錄入功能(學(xué)生信息最好用文件保存)-輸入學(xué)生信息瀏覽功能-輸出查詢、排序功能-算法按學(xué)號(hào)查詢按姓名查詢學(xué)生信息的刪除與修改(可選項(xiàng))§1.2算法設(shè)計(jì)開始可用結(jié)構(gòu)體包含題目所需信息,然后自定義一系列函數(shù),運(yùn)用輸入輸出等函數(shù)、循環(huán)語(yǔ)句等呈現(xiàn)數(shù)據(jù),然后定義主函數(shù),通過(guò)其調(diào)用自定義的函數(shù),switch語(yǔ)句
6、實(shí)現(xiàn)多分支結(jié)構(gòu),實(shí)現(xiàn)其子功能,最終實(shí)現(xiàn)輸入、輸出、查詢、修改、刪除等功能。§1.3程序設(shè)計(jì)及代碼分析#include<stdio.h> #include<stdlib.h> #include<string.h> struct studentint id; char name10; int age; char sex10; char birthady20; char nativeplace50;int tel; char e20;st50; int i=0; void shuru() char a; do printf("n請(qǐng)輸入學(xué)號(hào):&q
7、uot;); scanf("%d",&sti.id); fflush(stdin); printf("n請(qǐng)輸入姓名:"); gets(); printf("n") ; printf("請(qǐng)輸入年齡:"); scanf("%d",&sti.age); fflush(stdin); printf("n請(qǐng)輸入姓別:"); gets(sti.sex); fflush(stdin); printf("n請(qǐng)輸入出生年月:"); gets(
8、sti.birthady);printf("n請(qǐng)輸入地址:");gets(sti.nativeplace); printf("n請(qǐng)輸入電話:"); scanf("%d",&sti.tel); fflush(stdin); printf("n請(qǐng)輸入e-mail:");scanf("%d",&sti.e); printf("n是否繼續(xù)輸入另外一個(gè)學(xué)生信息?(y/n)"); fflush(stdin); a=getchar(); i+; while(a='y
9、' && i<=50); void shuchu() int j; printf("t學(xué)號(hào)t姓名t年齡t性別t出生年月t地址t電話ten"); for(j=0;j<i;j+) printf("t%dt%st%dt%st%st%dt%st%dn", stj.id,,stj.age,stj.sex,stj.birthady,stj.nativeplace,stj.tel,sti.e); void paixu() /按年齡從大到小排序函數(shù) int j,k; int temp; for(j=0;j<i;j
10、+) for(k=0;k<i-1-j;k+) if(stk.age<stk+1.age) temp=stk.age; stk.age=stk+1.age; stk+1.age=temp; ; shuru() ;/排序后輸出 void chaxun() int m; char name20,b; do printf("n請(qǐng)輸入想查找的學(xué)生姓名:"); fflush(stdin); gets(name); for(m=0;m<i;m+) if(strcmp(name,)=0) printf("nt您查找的學(xué)生在第%d個(gè)位置找到了!n&
11、quot;,m+1); break; if(m>=20) printf("nt沒(méi)有找到這個(gè)學(xué)生!n"); else printf("t學(xué)號(hào)t姓名t年齡t性別t生日tt電話t籍貫n"); printf("t%dt%st%dt%st%st%dt%sn", stm.id,,stm.age,stm.sex,stm.birthady,stm.tel,stm.nativeplace); printf("n是否查找另一個(gè)學(xué)生的信息?(y/n)"); fflush(stdin); b=getchar(); w
12、hile(b='y'); void shanchu() char name20,c; int a,b; do printf("n請(qǐng)輸入要?jiǎng)h除的學(xué)生姓名:n"); fflush(stdin); gets(name); for(a=0;a<i;a+) if(strcmp(name,)=0) break; for(b=a;b<i;b+) stb=stb+1; if(a>i) printf("t沒(méi)有找到這個(gè)學(xué)生!n"); else i-; shuru(); printf("n是否繼續(xù)刪除另一個(gè)學(xué)生信息?
13、(y/n) "); fflush(stdin); c=getchar(); while(c='y'); void xiugai() shuru(); paixu(); void main() /定義主函數(shù) int change; do system("cls"); printf("=學(xué)生信息管理系統(tǒng)=n"); printf("tt一: 輸入學(xué)生信息n"); printf("tt二: 輸出學(xué)生信息n"); printf("tt三: 排序?qū)W生信息n"); printf(&q
14、uot;tt四: 刪除學(xué)生信息n"); printf("tt五: 修改學(xué)生信息n"); printf("tt六: 退出程序n"); fflush(stdin); printf("tt請(qǐng)輸入功能選項(xiàng):"); scanf("%d",&change); switch(change) case 1: shuru(); break; case 2: shuchu(); break; case 3: chaxun(); break; case 4: shanchu(); break; case 5: xiug
15、ai(); break; case 6: break; while(change!=6); §1.4實(shí)驗(yàn)數(shù)據(jù)及運(yùn)行效果截圖§1.5設(shè)計(jì)中出現(xiàn)的錯(cuò)誤及解決方法 這個(gè)題的設(shè)計(jì),對(duì)設(shè)計(jì)多個(gè)變量的程序,可以通過(guò)結(jié)構(gòu)體,加上調(diào)用自定義函數(shù)實(shí)現(xiàn)其功能。但是在設(shè)計(jì)中我對(duì)對(duì)結(jié)構(gòu)體的使用了解不是很深,在顯示的運(yùn)行效果圖中,有很多功能沒(méi)有實(shí)現(xiàn),只能輸入、查找和刪除,。第3章 職工信息管理系統(tǒng)設(shè)計(jì)§1.1 題目描述職工信息包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號(hào)不重復(fù))。試設(shè)計(jì)一職工信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作v職工信息錄入功能(職工信息用
16、文件保存)輸入v職工信息瀏覽功能 輸出v查詢和排序功能:(至少一種查詢方式) 算法vl 按工資查詢l 按學(xué)歷查詢等職工信息刪除、修改功能(任選項(xiàng))v§1.2算法設(shè)計(jì)用結(jié)構(gòu)體包含題目所需信息,然后自定義一系列函數(shù),調(diào)用自定義的函數(shù),switch語(yǔ)句實(shí)現(xiàn)多分支結(jié)構(gòu),最終輸出所需數(shù)據(jù)。§1.3程序設(shè)計(jì)及代碼分析#include<stdio.h>#include <string.h>#define N 6struct employee int number,age,wage; char name20,sex10,address
17、30,xueli20; long int telephone;emN; int a=N; int *p=&a; main() void search();void search_name();void search_xueli();void search_number();void load();void display();void del();void input();void add();void save(); int n;printf("n");printf(" *職工信息管理*n");printf("n");pri
18、ntf(" 1.錄入職工信息n");printf(" 2.瀏覽職工信息n");printf(" 3.查詢職工信息n按工資查詢n");printf(" 4.刪除職工信息n");printf(" 5.添加職工信息n");printf(" 6.退出n");printf("n");scanf("%d",&n);switch(n)case 1:printf(" 輸入職工信息n");printf("n"
19、;);input();main();break;case 2:printf(" 瀏覽職工信息n");printf("n");display(*p);main();break;case 3:printf(" 查詢職工信息n");printf("n");search();break; case 4:printf(" 刪除職工信息n");printf("n");del(p);break;case 5:printf(" 添加職工信息n");printf("
20、;n");add(p);break;case 6: break;default : break; void input() int i;for(i=0;i<N;i+)printf("請(qǐng)輸入職工號(hào): ");scanf("%d",&emi.number); printf("請(qǐng)輸入姓名: ");scanf("%s",); printf("請(qǐng)輸入性別: ");scanf("%s",&emi.sex); printf("請(qǐng)輸入年
21、齡: ");scanf("%d",&emi.age); printf("請(qǐng)輸入學(xué)歷: ");scanf("%s",emi.xueli); printf("請(qǐng)輸入工資: ");scanf("%d",&emi.wage); printf("請(qǐng)輸入住址: ");scanf("%s",emi.address); printf("請(qǐng)輸入電話: ");scanf("%d",&emi.teleph
22、one); printf("n");printf("n創(chuàng)建完畢!n"); save(N);void save(int m) int i;FILE*fp;if(!(fp=fopen("d:/bbb.txt","w")printf("打開失敗");for(i=0;i<m;i+)fprintf(fp,"M %8s %5s %8s %8s ?n",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address
23、,emi.telephone);/傳送格式化輸出到一個(gè)文件中fclose(fp);void load(int b) int i;FILE*fp;if(!(fp=fopen("d:/bbb.txt","r")printf("打開失敗");else for(i=0;i<b;i+)fscanf(fp,"?%8s%5s%8s%8s?n",&emi.number,&,&emi.sex,&emi.age,&emi.xueli,&emi.wage,&e
24、mi.address,&emi.telephone);fclose(fp);void display(int a) int i,b=a; load(b); printf("n職工號(hào)t姓名t性別t年齡t 學(xué)歷t工資t住址t電話n");for(i=0;i<a;i+)printf("%dt%8st%st%dt%8s %dt%st%dn",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone);printf("n");vo
25、id search() int t;printf("n按職工號(hào)查詢按1n按姓名查詢請(qǐng)按2");printf("n按學(xué)歷查詢請(qǐng)按3n返回主菜單請(qǐng)按4n");scanf("%d",&t);switch(t) case 1:printf("n按職工號(hào)查詢n");search_number(); break; case 2:printf("n按姓名查詢n");search_name(); break; case 3:printf("n按學(xué)歷查詢n");search_xueli
26、(); break; case 4:main(); break; default :printf("輸入錯(cuò)誤,請(qǐng)重新輸入!n");search(); break;void search_number() int i,number;load(*p); printf("n請(qǐng)輸入要查詢的職工號(hào):");scanf("%d",&number);for(i=0;i<*p;i+)if(number=emi.number) printf("n該職工信息如下:n"); printf("n職工號(hào)t姓名t性別t年
27、齡t學(xué)歷t工資t住址t電話n");printf("n%dt%8st%st%dt%8s %dt%st%dn",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone); printf("n");break;if(i=*p)printf("n查無(wú)此人n");search();void search_name() int i;char name20;load(*p); printf("n請(qǐng)輸入要查詢的姓名:"
28、;);scanf("%s",name);for(i=0;i<*p;i+) if(!strcmp(,name) printf("n該職工信息如下:n"); printf("n職工號(hào)t姓名t性別t年齡t學(xué)歷t工資t住址電話n");printf("n%dt%8st%st%dt%8s %dt%st%dn",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone); printf("n&q
29、uot;); break; if(i=*p) printf("n查無(wú)此人n"); search();void search_xueli() int i,k=0;char xueli20;load(*p); printf("n請(qǐng)輸入要查詢的學(xué)歷:");scanf("%s",xueli);for(i=0;i<*p;i+)if(!strcmp(emi.xueli,xueli)printf("職工號(hào)t 姓名t性別t年齡t 學(xué)歷t工資t住址t電話n");printf("%dt%8st%st%dt%8s %dt
30、%st%dn",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone);for(i=0;i<*p;i+) if(!strcmp(emi.xueli,xueli) break; else k+;if(k=*p)printf("n查無(wú)此人n");search();void del(int *b)int i,t,j,m;int a=*b;char name20;printf("n所有職工信息:n");display(a); printf(
31、"n請(qǐng)輸入要?jiǎng)h除職工的名字:");scanf("%s",name);for(i=0;i<a;i+)if(!strcmp(,name)printf("n確認(rèn)刪除請(qǐng)按1n取消請(qǐng)按2n");scanf("%d",&t);if(t=1) for(j=i;j<a-1;j+)emj.age=emj+1.age;emj.wage=emj+1.wage;emj.number=emj+1.number;emj.telephone=emj+1.telephone;strcpy(emj.xueli,e
32、mj+1.xueli);strcpy(,emj+1.name);strcpy(emj.address,emj+1.address);strcpy(emj.sex,emj+1.sex);a-;save(j); break;if(t=2) break;if(i=a)printf("n輸入錯(cuò)誤,無(wú)此人n");*b=a;printf("n繼續(xù)刪除請(qǐng)按1n瀏覽信息請(qǐng)按2n返回主菜單請(qǐng)按3n");scanf("%d",&m);switch(m) case 1:del(p);break; case 2:display(*b)
33、;main();break; case 3:main();break; default:break;void add(int *a) int i,n,m;FILE*fp;if(!(fp=fopen("d:/bbb.txt","a")printf("打開失敗");printf("n請(qǐng)輸入想添加的人數(shù):n");scanf("%d",&n);for(i=*a;i<n+(*a);i+) printf("請(qǐng)輸入職工號(hào): "); scanf("%d",&
34、amp;emi.number); printf("請(qǐng)輸入姓名: "); scanf("%s",); printf("請(qǐng)輸入性別: "); scanf("%s",&emi.sex); printf("請(qǐng)輸入年齡: "); scanf("%d",&emi.age); printf("請(qǐng)輸入學(xué)歷: "); scanf("%s",emi.xueli); printf("請(qǐng)輸入工資: "); s
35、canf("%d",&emi.wage); printf("請(qǐng)輸入住址: "); scanf("%s",emi.address); printf("請(qǐng)輸入電話: "); scanf("%d",&emi.telephone); printf("n");printf("n添加完畢n");for(i=*a;i<n+(*a);i+)fprintf(fp,"M %8s %5s %8s %8s ?n",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone);fclose(fp);*a=*a
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 29292-2024鞋類鞋類和鞋類部件中重點(diǎn)化學(xué)物質(zhì)管控指南
- Pemigatinib-d6-INCB054828-d-sub-6-sub-生命科學(xué)試劑-MCE-9553
- L-Pyroglutamic-acid-7-amido-4-methylcoumarin-生命科學(xué)試劑-MCE-3725
- Boc-Ala-Me-H117-生命科學(xué)試劑-MCE-9672
- 4-Fluoro-α-pyrrolidinopropiophenone-hydrochloride-生命科學(xué)試劑-MCE-5894
- 二零二五年度租賃期滿續(xù)租養(yǎng)老機(jī)構(gòu)居住協(xié)議合同
- 2025年度商鋪?zhàn)赓U協(xié)議終止及租賃場(chǎng)地使用權(quán)回購(gòu)協(xié)議
- 二零二五年度茶餐廳股份合作經(jīng)營(yíng)協(xié)議
- 2025年度智慧能源管理系統(tǒng)股東合作協(xié)議書
- 二零二五年度校園食堂檔口租賃合同與食品安全管理協(xié)議
- 2025年天津市政建設(shè)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 2024-2030年中國(guó)烘焙食品行業(yè)運(yùn)營(yíng)效益及營(yíng)銷前景預(yù)測(cè)報(bào)告
- 2025年上半年水利部長(zhǎng)江水利委員會(huì)事業(yè)單位招聘68人(湖北武漢)重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- (2024)云南省公務(wù)員考試《行測(cè)》真題及答案解析
- 寧德時(shí)代筆試題庫(kù)
- 五年級(jí)下冊(cè)北京版英語(yǔ)單詞
- 康復(fù)醫(yī)院患者隱私保護(hù)管理制度
- 新課標(biāo)I、Ⅱ卷 (2024-2020) 近五年高考英語(yǔ)真題滿分作文
- 浙江省嘉興市2023-2024學(xué)年六年級(jí)(上)期末數(shù)學(xué)試卷
- 子宮脫垂手術(shù)指南
- 沈陽(yáng)理工大學(xué)《數(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
評(píng)論
0/150
提交評(píng)論