C語言課程設(shè)計報告格式要求與范例_第1頁
C語言課程設(shè)計報告格式要求與范例_第2頁
C語言課程設(shè)計報告格式要求與范例_第3頁
C語言課程設(shè)計報告格式要求與范例_第4頁
C語言課程設(shè)計報告格式要求與范例_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計課程設(shè)計報告專 業(yè): 電子信息工程(自動化)班 級: 電信0904 姓 名: 陳列慧 指導(dǎo)教師: 彭瓊 丁雄 2010年 12月30日 C語言程序課程設(shè)計任務(wù)書一、設(shè)計題目:職工信息管理系統(tǒng)二、設(shè)計目的 1、熟練掌握C語言課程中所學(xué)的理論知識; 2、通過綜合C語言的基本知識來解決實際問題; 3、加強(qiáng)分析和解決問題的能力;三、設(shè)計內(nèi)容 設(shè)計對5項職工信息管理的課程信息管理系統(tǒng),每個職工有職工號、姓名、性別、年齡、學(xué)歷、工資等。系統(tǒng)功能包括:1、系統(tǒng)以菜單方式工作,密碼登陸。2、課程信息的錄入功能(增加數(shù)據(jù))。用數(shù)組數(shù)據(jù)類型賦初值的方法把課程信息送到各個數(shù)組中(但注意要是合法數(shù)據(jù)),

2、然后把它們輸出顯示。3、課程信息的刪除(刪除數(shù)據(jù))。任意輸入一門課程的編號,將它所有的信息從數(shù)組中刪除。4、課程信息的瀏覽功能(查找數(shù)據(jù))。任意輸入一門課程的編號,打印出所有相關(guān)數(shù)據(jù)。要求能多次查找。5、課程信息的刪除(修改數(shù)據(jù))。任意輸入一門課程的編號,打印出所有相關(guān)信息后,可對某一項信息進(jìn)行修改并保存。6、課程信息的計算并排序。計算所有課程的總學(xué)分及平均學(xué)分(aver,單精度,輸出一位小數(shù)),將包括所有數(shù)據(jù)的數(shù)組元素按價格從高到低的順序排序打印出來。四、設(shè)計步驟1、需求分析:對系統(tǒng)的應(yīng)實現(xiàn)的功能進(jìn)行分析。2、概要設(shè)計:對系統(tǒng)功能進(jìn)行模塊分解,對模塊的功能及模塊之間的相互關(guān)系進(jìn)行說明(如用到

3、函數(shù),則對函數(shù)間的接口進(jìn)行說明),對系統(tǒng)使用的數(shù)據(jù)結(jié)構(gòu)(各數(shù)組、主要變量的設(shè)置及其代表的含義)進(jìn)行說明。3、詳細(xì)設(shè)計:用流程圖、偽代碼等方法對各主要算法進(jìn)行描述。4、編寫代碼:根據(jù)設(shè)計編寫。源程序要按照程序的格式規(guī)范來編寫,要求結(jié)構(gòu)清晰,界面友好,關(guān)鍵部分有必要的注釋。5、調(diào)試分析:準(zhǔn)備充分的測試數(shù)據(jù)對系統(tǒng)進(jìn)行調(diào)試(對錯誤的數(shù)據(jù)輸入也要進(jìn)行測試,保證程序的容錯性),并通過測試對系統(tǒng)提出改進(jìn)設(shè)想。目 錄(空兩行)1頁碼2頁碼(要求:給出一級目錄,宋體加粗,四號字,1.5倍行距。)(報告正文部分):(要求:正文部分一律用小四號字,宋體,1.5倍行距。一級大標(biāo)題靠左,加粗。二級大標(biāo)題靠左,不加粗。)

4、課程設(shè)計的內(nèi)容如下:1. 課程設(shè)計目的(可參考任務(wù)書)2.課程設(shè)計題目描述和要求(可參考任務(wù)書)3.課程設(shè)計報告內(nèi)容(以下僅供參考)3.1 整個系統(tǒng)的框架結(jié)構(gòu)與各個模塊的接口設(shè)計與簡介(可用繪圖的方式表達(dá)說明系統(tǒng)的結(jié)構(gòu)和個接口的定義).3.2登陸與主界面模塊功能的設(shè)計與實現(xiàn)(包括流程圖、源代碼以及適當(dāng)功能說明).3.3 具體負(fù)責(zé)的模塊的功能的設(shè)計與實現(xiàn)(包括流程圖、源代碼以及適當(dāng)功能說明)頁:5這是每個人與其他組成員不同之處,也是重要之處,大家務(wù)必認(rèn)證攥寫。3.4 模塊的集成與調(diào)試(描述模塊的集成與調(diào)試的一些細(xì)節(jié)工作)4.總結(jié)(總結(jié)設(shè)計過程中的心得、經(jīng)驗、解決問題的方法和技巧、自己的收獲等等)

5、參考書目:(五號,宋體加粗)1 譚浩強(qiáng),C語言程序設(shè)計教程,北京,清華大學(xué)出版社,2009年2 .(要求:五號字,宋體,單倍行距。按作者、書名、出版社、地點、出版時間格式逐一列出,中間用逗號格開)附錄(全部系統(tǒng)的源代碼)/#include "StdAfx.h"#include<string.h> #include <stdio.h>#include <stdlib.h>#include <conio.h>#include <iostream.h>#define n1 20#define m1 3#define N

6、3 char zgxxn1m116;struct people char num100; /*職工號char name15; /*姓名char sex20; /*性別char age20; /*年齡char xueli20; /*學(xué)歷char gongzi20; /*工資char address20; /*地址char telephone20; /*電話號碼peopleN;void input(int i);void enter();void browse();void add();/void no_input(int i,int n) ;void search();void modify()

7、; void save(int n);int load(); int modify_data(int i); void printf_face(); void printf_back(); void printf_one(int i); void menu(); void chack_No(int i);void mima ();void zggzpaixu();void chack_No(int i)if(i>0) for(int k=0;k<i;k+) if(strcmp(peoplek.num,peoplei.num)=0) cout<<"您輸入的職工號

8、已存在,請更換號碼!"<<endl; cout<<"職工號:" cin>>peoplei.num; chack_No(i); break; void input(int i) /no_input(i,i); printf("職工號:"); scanf("%s",peoplei.num); chack_No(i);printf("姓名:"); scanf("%s", ) ; printf("性別:"); sc

9、anf("%s",peoplei.sex); printf("年齡:"); scanf("%s",peoplei.age); printf("學(xué)歷:"); scanf("%s",peoplei.xueli); printf("工資:"); scanf("%s",peoplei.gongzi); printf("住址:"); scanf("%s",peoplei.address); printf("電話:&q

10、uot;); scanf("%s",peoplei.telephone); void enter() int i,n; printf("請輸入人數(shù)(0-%d) :",N-1); scanf("%d",&n); printf("n 錄入信息n"); for(i=0;i<n;i+)printf("n 請輸入第%d個人的信息.",i+1); input(i);if(i!=0)save(n); printf_back(); void browse() int i,n; n=load();

11、printf_face(); for(i=0;i<n;i+)if(i!=0)&&(i%10=0)printf("nn按任意鍵繼續(xù)."); getch(); puts("nn");printf_one(i) ;printf("t共有%d條記錄.n",n); printf("n按任意鍵繼續(xù)."); getch(); menu(); void add() int i,n,m,k; ; n=load(); printf("你想添加的人數(shù)為(0-%d):",N-1-n); scanf

12、("%d",&m); k=m+n; for(i=n;i<k;i+) printf("n輸入第%d個人的信息.",i-n+1 ); input(i);if(fp=fopen("Pro.txt","ab")=NULL)printf("文件打開失敗!n"); for(i=n;i<k;i+) if(fwrite(&peoplei,sizeof(struct people),1,fp)!=1) printf("文件寫入失敗!n"); fclose(fp);

13、printf_back(); void search() int i,n,k,w1=1,w2,w3,w4,m,a; struct people p; n=load(); do printf("n選擇你要查詢的方式 nt1).按學(xué)歷 2).按職工號 bb"); scanf("%d",&m); switch(m)case 1:dok=-1; printf("nn請輸入你要查詢的學(xué)歷:"); scanf("%s",p.xueli); printf_face(); for(i=0;i<n;i+)if(strc

14、mp(p.xueli,peoplei.xueli)=0)k=i; printf_one(k);break;if(k=-1)printf("nn你輸入的學(xué)歷不存在!"); printf("nn你想繼續(xù)查詢嗎?nt 1).是 2).否 bb"); scanf("%d",&w1); if(w1=2) printf_back();while(k=-1&&w1=1);break;case 2:dok=-1; printf("nn請輸入你要查詢的職工號:"); scanf("%s",

15、p.num); printf_face();for(i=0;i<n;i+)if(strcmp(p.num,peoplei.num)=0) k=i; printf_one(k);break;if(k=-1)printf("nn你輸入的職工號不存在!"); printf("nn你想繼續(xù)查詢嗎?nt1).是 2).否 bb"); scanf("%d",&w1); if(w1=2)printf_back();while(k=-1&&w1=1);break; w4=0;w3=0; if(k!=-1) printf(

16、"nn請選擇你要進(jìn)行的操作:nt 1).查詢 2).修改 3).刪除 4).返回主菜單 bb"); scanf("%d",&w2); switch(w2) case 2:w3=modify_data(k); break; case 3: printf("n你確定要刪除嗎?nt 1).是 2).否 bb"); scanf("%d",&w4); if(w4=1) for(a=k;a<n;a+) strcpy(peoplea.num,peoplea+1.num); strcpy(peoplea.na

17、me,peoplea+1.name); strcpy(peoplea.sex,peoplea+1.sex); strcpy(peoplea.age,peoplea+1.age); strcpy(peoplea.xueli,peoplea+1.xueli); strcpy(peoplea.gongzi,peoplea+1.gongzi); strcpy(peoplea.address,peoplea+1.address); strcpy(peoplea.telephone,peoplea+1.telephone); break; if(w3=1|w4=1) save(n); printf(&qu

18、ot;nn操作成功! _ "); printf("nn請輸入你要進(jìn)行的操作: nt 1).繼續(xù)查詢 2).返回上一級 bb" ); scanf("%d",&w2); while(w2=1); menu();void modify() struct people p; int i,n,k,w0=1,w1,w2=0; n=load(); do k=-1; printf_face(); for(i=0;i<n;i+) if(i!=0)&&(i%10=0) printf("nn請記著你要修改的職工號。按任意鍵繼續(xù)

19、 ."); getch(); puts("nn"); printf_one(i); do printf("nn請輸入你要修改的職工信息的職工號:"); scanf("%s",p.num); for(i=0;i<n;i+) if(strcmp(p.num,peoplei.num)=0) k=i; p=peoplei; if(k=-1)printf("nn你的輸入有誤,請重新輸入"); while(k=-1); printf_face(); printf_one(k); w1=modify_data(k

20、);if(w1=1) printf("n操作成功! _.n是否繼續(xù)修改?nnt 1).是 2).否t bb"); scanf("%d",&w0); w2=1; else w0=0; if(w2=1) peoplek=p; if(w0!=1&&w2=1) save(n); while(w0=1); menu(); void save(int n) FILE *fp; int i; if(fp=fopen("Pro.txt","wb")=NULL) printf("n文件打開失??!n&

21、quot;); for(i=0;i<n;i+) if(peoplei.num!=0) if(fwrite(&peoplei,sizeof(struct people),1,fp)!=1) printf("文件寫入失?。"); fclose(fp); int load() FILE *fp; int i; if(fp=fopen("Pro.txt","rb")=NULL) printf("n文件打開失敗!n"); return NULL; for(i=0;!feof(fp);i+) fread(&am

22、p;peoplei,sizeof(struct people),1,fp); fclose(fp); return(i-1); int modify_data(int i) int c,w1; doputs("n請選擇你要修改的選項nn 1).職工號 2).姓名 3).性別 4).年齡 5).學(xué)歷 6)工資 7)住址 8)電話 "); printf("您的選擇是: bb"); scanf("%d",&c); if(c>8|c<1)puts("n輸入錯誤,請重新輸入!"); getchar();

23、while(c>8|c<1);do switch(c) case 1:printf("職工號:");scanf("%s",peoplei.num);break; case 2:printf("姓名:");scanf("%s",);break; case 3:printf("性別:");scanf("%s",peoplei.sex);break; case 4:printf("年齡:");scanf("%s&qu

24、ot;,peoplei.age);break; case 5:printf("學(xué)歷:");scanf("%s",peoplei.xueli);break; case 6:printf("工資:");scanf("%s",peoplei.gongzi);break; case 7:printf("住址:");scanf("%s",peoplei.address);break; case 8:printf("電話:");scanf("%s"

25、,peoplei.telephone);break; puts("n現(xiàn)在信息:n"); printf_face(); printf_one(i); printf("n你確定嗎nnt 1).是 2).否 3).返回且不保存 bb"); scanf("%d",&w1); while(w1=2);return w1; /void no_input(int i,int n) int j,k,w1; do w1=0;for(j=0;peoplei.numj!='0'j+) if(peoplei.numj>'

26、9') puts("輸入錯誤,請從新輸入!n"); w1=1;break; if(w1!=1) for(k=0;k<n;k+) if(k!=i&&strcmp(peoplek.num,peoplei.num)=0) puts("你輸入的職工號已經(jīng)存在了,請從新輸入!n"); while(w1=1); void printf_face() printf(" 職工號 姓名 性別 年齡 學(xué)歷 工資 住址 電話 n"); void printf_one(int i) printf("%9s%9s%9s%

27、9s%9s%9s%10s%12sn",peoplei.num,,peoplei.sex,peoplei.age,people i.xueli,peoplei.gongzi,peoplei.address,peoplei.telephone); void printf_back() int w; printf("nt操作成功!._nn"); printf("請選擇:nnt1).瀏覽所有信息 t2).返回 : bb"); scanf("%d",&w); if(w=1) browse(); else

28、 menu(); void pai_x()int i,j,t=0,x,z,max,m=5,n=3;float s=0;int fm1;char num100,age20,address20,name15,gongzi20,sex20,telephone20,xueli20;for (i=0;i<N;i+)for(j=i;j<N;j+)if (strcmp(peoplei.gongzi,peoplej.gongzi )<0)strcpy(num,peoplei.num);strcpy(peoplei.num,peoplej.num);strcpy(peoplej.num ,nu

29、m);strcpy(age,peoplei.age);strcpy(peoplei.age,peoplej.age);strcpy(peoplej.age ,age);strcpy(address,peoplei.address);strcpy(peoplei.address,peoplej.address);strcpy(peoplej.address ,address);strcpy(name,);strcpy(,);strcpy( ,name);strcpy(gongzi,peoplei.go

30、ngzi);strcpy(peoplei.gongzi,peoplej.gongzi);strcpy(peoplej.gongzi ,gongzi);strcpy(xueli,peoplei.xueli);strcpy(peoplei.xueli,peoplej.xueli);strcpy(peoplej.xueli ,xueli);strcpy(sex,peoplei.sex);strcpy(peoplei.sex,peoplej.sex);strcpy(peoplej.sex,sex);strcpy(telephone,peoplei.telephone);strcpy(peoplei.t

31、elephone,peoplej.telephone);strcpy(peoplej.telephone,telephone);for (i=0;i<N;i+)printf("%9s%9s%9s%9s%9s%9s%10s%12sn",peoplei.num,,peoplei.sex,peoplei.age,peoplei.xueli,peoplei.gongzi,peoplei.address,peoplei.telephone);printf("請按上面工資順序重新輸入工資n");for(i=0;i<n-t;i+)s

32、canf("%d",&fi);for(i=0;i<n-t;i+)s=s+fi; printf("總工資是%6.2f平均工資是%6.2fn",s,s/(N-t);for(i=0;i<n-t;i+) for(j=0,max=0;j<n-t;j+)if(max<fj)max=fj,x=j;fx=0;for(z=0;z<m;z+)printf("%st",zgxxxz);printf("n");printf("n按任意鍵繼續(xù)."); getch(); menu();

33、 void jiem() int a; printf("ttt*n"); printf("ttt歡迎進(jìn)入職工工資排序系統(tǒng)!n"); printf("ttt*nnnnn");printf("要進(jìn)行排序請按(1),否則返回!n");scanf ("%d",&a);printf("職工信息將按工資由高到低排序:n");if (a=1)pai_x(); elsemenu();void menu() int n,w1; do system("cls");/清屛printf("nt *n"); printf("t *歡迎進(jìn)入職工信息管理系統(tǒng)*n"); printf("t *n");printf("t 1 錄入職工信息 n"); printf("t 2 修改職工信息 n"); printf("t 3 查詢及刪除職工信息

溫馨提示

  • 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

提交評論