




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 序號: 03 01 學(xué)號: 10416313 課 程 設(shè) 計設(shè)計課程名稱: c 語言課程設(shè)計 題 目: 成績統(tǒng)計系統(tǒng)成績統(tǒng)計系統(tǒng) 進制轉(zhuǎn)換系統(tǒng)進制轉(zhuǎn)換系統(tǒng)學(xué) 生 姓 名: 學(xué) 院(系): 懷德學(xué)院 專 業(yè) 班 級: 計算機 101 指 導(dǎo) 教 師: 設(shè)計時間: 2011 年 6 月 13 日 2011 年 6 月 27 日常州大學(xué)課程設(shè)計第 2 頁 共 22 頁常州大學(xué)課程設(shè)計第 3 頁 共 22 頁常常州州大大學(xué)學(xué) 課課程程設(shè)設(shè)計計任任務(wù)務(wù)書書 一一懷德學(xué)院計算機 專業(yè) 計算機 101 班 同學(xué):韓建東一、設(shè)計題目一、設(shè)計題目 成績統(tǒng)計系統(tǒng)成績統(tǒng)計系統(tǒng) 二、設(shè)計內(nèi)容二、設(shè)計內(nèi)容 假設(shè)某校學(xué)
2、生通訊錄基本信息主要包括:學(xué)號、姓名、通訊地址、電話等,本系統(tǒng)應(yīng)能對這些基本信息進行管理,并要求具有以下功能: 1、具有學(xué)生信息添加功能2、具有學(xué)生信息刪除功能 3、具有學(xué)生信息瀏覽功能4、具有學(xué)生信息查詢功能5、具有學(xué)生信息排序功能三、基本要求三、基本要求1、編寫源程序的要求:(1)能夠?qū)崿F(xiàn)任務(wù)書中的功能;(2)盡可能使界面友好、直觀、易操作(3)源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。2、撰寫“課程設(shè)計報告” ,要求如下: (1)封面:統(tǒng)一采用江蘇工業(yè)學(xué)院課程設(shè)計說明書封面格式 (2)任務(wù)書 (3)目錄 (4) “課程設(shè)計報告”正文3、課程設(shè)計驗收要求: (1)運行所設(shè)計的系統(tǒng);(2)回答有
3、關(guān)問題;(3)提交課程設(shè)計報告;(4)提交源程序。四、進度安排四、進度安排1、系統(tǒng)分析、設(shè)計準備階段:4 學(xué)時2、編程調(diào)試階段:22 學(xué)時3、總結(jié)和書寫課程設(shè)計報告階段:2 學(xué)時4、考核階段:2 學(xué)時常州大學(xué)課程設(shè)計第 4 頁 共 22 頁指導(dǎo)教師: 倪彤光 2011 年 6 月 7 日系主任: 蘇兵 2011 年 6 月 7 日教學(xué)院長: 楊長春 2011 年 6 月 7 日常常州州大大學(xué)學(xué)課課程程設(shè)設(shè)計計任任務(wù)務(wù)書書二二懷德學(xué)院計算機 專業(yè) 計算機 101 班 同學(xué):韓建東一、設(shè)計題目一、設(shè)計題目 進制轉(zhuǎn)換系統(tǒng)進制轉(zhuǎn)換系統(tǒng)二、設(shè)計內(nèi)容二、設(shè)計內(nèi)容 本系統(tǒng)要求具有以下功能:1、具有將十進制轉(zhuǎn)
4、換為二進制功能2、具有將十進制轉(zhuǎn)換為十六進制功能3、具有將二進制轉(zhuǎn)換為十進制功能4、具有將十六進制轉(zhuǎn)換為十進制功能三、基本要求三、基本要求1、編寫源程序的要求:(1)能夠?qū)崿F(xiàn)任務(wù)書中的功能;(2)盡可能使界面友好、直觀、易操作(3)源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。2、撰寫“課程設(shè)計報告” ,要求如下: (1)封面:統(tǒng)一采用江蘇工業(yè)學(xué)院課程設(shè)計說明書封面格式 (2)任務(wù)書 (3)目錄 (4) “課程設(shè)計報告”正文3、課程設(shè)計驗收要求: (1)運行所設(shè)計的系統(tǒng);(2)回答有關(guān)問題;(3)提交課程設(shè)計報告;(4)提交源程序。四、進度安排四、進度安排1、系統(tǒng)分析、設(shè)計準備階段:4 學(xué)時常州大學(xué)課
5、程設(shè)計第 5 頁 共 22 頁2、編程調(diào)試階段:22 學(xué)時3、總結(jié)和書寫課程設(shè)計報告階段:2 學(xué)時4、考核階段:2 學(xué)時指導(dǎo)教師: 倪彤光 2011 年 6 月 7 日系主任: 蘇兵 2011 年 6 月 7 日教學(xué)院長: 楊長春 2011 年 6 月 7 日1.1.意義及功能意義及功能.51.1 系統(tǒng)意義 .51.1.1 成績管理信息系統(tǒng)意義.51.1.2 進制算法設(shè)計意義.51.2 系統(tǒng)功能 .51.2.1 成績管理信息系統(tǒng)功能 .51.2.2 進制算法設(shè)計功能 .52 2 功能結(jié)構(gòu)圖功能結(jié)構(gòu)圖.52.1 成績管理信息系統(tǒng).52.2 進制算法設(shè)計.53.3.流程圖流程圖.63.1 成績管理
6、信息系統(tǒng)流程圖 .64 4 調(diào)試運行調(diào)試運行.64.1 成績管理信息系統(tǒng) .64.2 進制算法設(shè)計 .65 5 使用說明使用說明.65.1 成績管理信息系統(tǒng).65.2 進制算法設(shè)計.66 6 c c 語言源程序代碼語言源程序代碼.76.1 成績管理信息系統(tǒng).76.2 進制算法設(shè)計 .77 7 心得體會心得體會.88 8 實習(xí)日志實習(xí)日志.89 9 參考文獻參考文獻.9常州大學(xué)課程設(shè)計第 6 頁 共 22 頁1.1.意義及功能意義及功能1.11.1系統(tǒng)意義系統(tǒng)意義1.1.1 成績管理信息系統(tǒng)意義為了方便學(xué)校用來統(tǒng)計學(xué)生的數(shù)據(jù),為學(xué)??梢允∠麓罅康娜肆臀锪Γ瑫r也省下了時間。1.1.2 進制算法
7、設(shè)計意義為了方便廣大初學(xué)學(xué)生更好的了解進制之間的轉(zhuǎn)換。1.21.2 系統(tǒng)功能系統(tǒng)功能1.2.1 成績管理信息系統(tǒng)功能1、具有學(xué)生信息添加功能2、具有學(xué)生信息刪除功能 3、具有學(xué)生信息瀏覽功能4、具有學(xué)生信息查詢功能5、具有學(xué)生信息排序功能1.2.2 進制算法設(shè)計功能1、具有將十進制轉(zhuǎn)換為二進制功能2、具有將十進制轉(zhuǎn)換為十六進制功能3、具有將二進制轉(zhuǎn)換為十進制功能4、具有將十六進制轉(zhuǎn)換為十進制功能常州大學(xué)課程設(shè)計第 7 頁 共 22 頁2 2 功能結(jié)構(gòu)圖功能結(jié)構(gòu)圖2.12.1 成績管理信息系統(tǒng)成績管理信息系統(tǒng)輸入學(xué)生信息添加學(xué)生信息刪除學(xué)生信息顯示學(xué)生信息排序?qū)W生信息 2.22.2 進制算法設(shè)計
8、進制算法設(shè)計輸入數(shù)據(jù)要轉(zhuǎn)換的進制輸出數(shù)據(jù)常州大學(xué)課程設(shè)計第 8 頁 共 22 頁3.3.流程圖流程圖3.13.1 成績管理信息系統(tǒng)流程圖成績管理信息系統(tǒng)流程圖常州大學(xué)課程設(shè)計第 9 頁 共 22 頁4 4 調(diào)試運行調(diào)試運行4.14.1 成績管理信息系統(tǒng)成績管理信息系統(tǒng)常州大學(xué)課程設(shè)計第 10 頁 共 22 頁4.24.2 進制算法設(shè)計進制算法設(shè)計常州大學(xué)課程設(shè)計第 11 頁 共 22 頁5 5 使用說明使用說明5.15.1 成績管理信息系統(tǒng)成績管理信息系統(tǒng)1 是添加學(xué)生信息,2 是刪除學(xué)生信息,3 是查詢學(xué)生信息,4 是排序?qū)W生信息,5 是顯示學(xué)生信息,6 是退出程序常州大學(xué)課程設(shè)計第 12
9、頁 共 22 頁5.25.2 進制算法設(shè)計進制算法設(shè)計先輸入要轉(zhuǎn)換為多少進制的數(shù),在輸入要轉(zhuǎn)換的多少進制數(shù)6 6 c c 語言源程序代碼語言源程序代碼6.16.1 成績管理信息系統(tǒng)成績管理信息系統(tǒng) #include stdio.h #include stdlib.h #include string.h #define max 50 void add(); void del(); void query(); void sort(); void list(); typedef struct employee int number;char name20;char sex2; int age;cha
10、r xueli10;float salary;char address30;char tel11; emp; void main() char c; int i; do system(cls); for(i=0;i80;i+) printf(*); printf(t 1: 添加學(xué)生信息n); printf(t 2: 刪除學(xué)生信息n); printf(t 3: 查詢n); printf(t 4: 排序n); printf(t 5: 顯示n); printf(t 6: 退出n);常州大學(xué)課程設(shè)計第 13 頁 共 22 頁 printf(t 請選擇輸入選項123456:n); do c=getcha
11、r(); while(c!=1&c!=2&c!=3&c!=4&c!=5&c!=6); getchar(); switch(c) case 1: add(); break; case 2: del(); break; case 3: query(); break; case 4: sort(); break; case 5: list(); break; case 6: exit(0); printf( 按任意鍵返回主菜單:n); getchar(); system(cls);while(1); void add() emp employ;file *fp;/* 以下為輸入學(xué)生信息代碼*/pri
12、ntf(請輸入學(xué)生信息);printf(n 學(xué)生號(整數(shù) 00011999):); scanf(%d,&employ.number);getchar(); printf(n 學(xué)生姓名:);gets(); printf(n 學(xué)生性別(請輸入男或女):);gets(employ.sex); printf(n 學(xué)生年齡:);scanf(%d,&employ.age); getchar(); printf(n 學(xué)生成績:);gets(employ.xueli); printf(n 學(xué)生班級:);scanf(%f,&employ.salary);getchar(); printf(
13、n 學(xué)生地址:); gets(employ.address);printf(n 學(xué)生電話:);gets(employ.tel); /* 學(xué)生信息輸入代碼結(jié)束*/printf(該學(xué)生信息為:%d %s %s %d %s %.2f %s 常州大學(xué)課程設(shè)計第 14 頁 共 22 頁%sn,employ.number,,employ.sex,employ.age,employ.xueli,employ.salary,employ.address,employ.tel); /* 將學(xué)生信息保存到文件中*/ if(fp=fopen(xx.out,ab)=null)printf( );
14、 getchar(); exit(0); if(fwrite(&employ,sizeof(employ),1,fp)!=1) printf(file write errorn); fclose(fp); /* 保存學(xué)生信息代碼結(jié)束*/ void query() int flag,number,count; emp employ; file *fp; char name10; printf(請輸入查找方式:); printf(1-代表按照學(xué)生號 2-代表按照姓名n); scanf(%d,&flag);getchar(); if(flag=1) printf(請輸入學(xué)生號:); scanf(%d
15、,&number);getchar(); if(fp=fopen(xx.out,rb)=null) printf(cannot open file exit! ); getchar(); exit(0); do count=fread(&employ,sizeof(employ),1,fp); if(employ.number=number) printf(該學(xué)生信息為:%d %s %s %d %s %.2f %s %sn,employ.number,,employ.sex,employ.age,employ.xueli,employ.salary,employ.addr
16、ess,employ.tel); break; while(count=1); /printf(%d,flag); fclose(fp); else printf(%d,flag);常州大學(xué)課程設(shè)計第 15 頁 共 22 頁 printf(該學(xué)生不存在!n); void del() int count,i=0,number,j;file *fp;emp employmax;char flag; if(fp=fopen(xx.out,rb)=null) printf(cannot open file exit! ); getchar(); exit(0); /* 從文件中讀入數(shù)據(jù)*/ do co
17、unt=fread(&employi,sizeof(employ0),1,fp); if(count=1) i+; while(count=1);/* for(count=0;counti;count+) printf(%d ,employcount.number); */ fclose(fp); printf(n 請輸入刪除學(xué)生的學(xué)生號:); scanf(%d,&number); getchar(); printf(n 你確認刪除該學(xué)生嗎(y/n)); flag=getchar(); if(flag=y) /*找被刪除的下標記為 count*/for(count=0; counti;coun
18、t+) if(number=employcount.number) break; /*以下為刪除代碼*/ if(counti) /*先將數(shù)組中的信息刪除*/ for(j=count+1;ji;j+) employj-1.number=employj.number; strcpy(employj-1.address,employj.address);employj-1.age=employj.age;strcpy(,);employj-1.salary=employj.salary;strcpy(employj-1.sex,employj.se
19、x);strcpy(employj-1.tel,employj.tel);常州大學(xué)課程設(shè)計第 16 頁 共 22 頁strcpy(employj-1.xueli,employj.xueli); /*寫入刪除后的數(shù)據(jù)*/ if(fp=fopen(xx.out,wb)=null) printf(cannot open file exit! ); getchar(); exit(0); fwrite(employ,sizeof(employ0),i-1,fp); fclose(fp); else printf(你輸入的學(xué)生號不存在n); void sort() emp employmax,temp;
20、file *fp; int count,n=0,flag,i,j; /*打開文件*/if(fp=fopen(xx.out,rb)=null) printf(cannot open file exit! ); getchar(); exit(0); /* 從文件中讀入數(shù)據(jù)*/ do count=fread(&employn,sizeof(employ0),1,fp); if(count=1) n+; while(count=1); fclose(fp); printf(1-代表按照學(xué)生號升序排序 2-代表按照學(xué)生號降序排序n); scanf(%d,&flag);getchar(); if(fla
21、g=1) /升序排序 for(i=0;in-1;i+)for(j=0;jemployj+1.number) temp.number=employj.number;常州大學(xué)課程設(shè)計第 17 頁 共 22 頁 strcpy(,); strcpy(temp.sex,employj.sex); temp.age=employj.age; strcpy(temp.xueli,employj.xueli); temp.salary=employj.salary; strcpy(temp.address,employj.address); strcpy(temp.t
22、el,employj.tel); employj.number=employj+1.number; strcpy(,employj+1.name); strcpy(employj.sex,employj+1.sex); employj.age=employj+1.age; strcpy(employj.xueli,employj+1.xueli); employj.salary=employj+1.salary; strcpy(employj.address,employj+1.address); strcpy(employj.tel,employj+1.tel); e
23、mployj+1.number=temp.number; strcpy(employj+1.name,); strcpy(employj+1.sex,temp.sex); employj+1.age=temp.age; strcpy(employj+1.xueli,temp.xueli); employj+1.salary=temp.salary; strcpy(employj+1.address,temp.address); strcpy(employj+1.tel,temp.tel); else /降序排序 for(i=0;in-1;i+)for(j=0;jn-1-i;j
24、+)if(employj.numberemployj+1.number) temp.number=employj.number; strcpy(,); strcpy(temp.sex,employj.sex);常州大學(xué)課程設(shè)計第 18 頁 共 22 頁 temp.age=employj.age; strcpy(temp.xueli,employj.xueli); temp.salary=employj.salary; strcpy(temp.address,employj.address); strcpy(temp.tel,employj.tel);
25、employj.number=employj+1.number; strcpy(,employj+1.name); strcpy(employj.sex,employj+1.sex); employj.age=employj+1.age; strcpy(employj.xueli,employj+1.xueli); employj.salary=employj+1.salary; strcpy(employj.address,employj+1.address); strcpy(employj.tel,employj+1.tel); employj+1.number=t
26、emp.number; strcpy(employj+1.name,); strcpy(employj+1.sex,temp.sex); employj+1.age=temp.age; strcpy(employj+1.xueli,temp.xueli); employj+1.salary=temp.salary; strcpy(employj+1.address,temp.address); strcpy(employj+1.tel,temp.tel); for(i=0;in;i+) printf(該學(xué)生信息為:%d %s %s %d %s %.2f %s %sn,empl
27、oyi.number,,employi.sex,employi.age,employi.xueli,employi.salary,employi.address,employi.tel); void list() emp employ; file *fp;常州大學(xué)課程設(shè)計第 19 頁 共 22 頁 int count; if(fp=fopen(xx.out,rb)=null)printf( cannot open file exit!); getchar(); exit(0); do count=fread(&employ,sizeof(employ),1,fp); i
28、f(count=1) printf(該學(xué)生信息為:%d %s %s %d %s %.2f %s %sn,employ.number,,employ.sex,employ.age,employ.xueli,employ.salary,employ.address,employ.tel); while(count=1); fclose(fp); 6.26.2 進制算法設(shè)計進制算法設(shè)計#include #include /malloc 函數(shù)頭文件#define initsize 100/初始分配的空間大小typedef int elemtype;/要據(jù)需要定義的數(shù)據(jù)類型type
29、def struct elemtype *data;/用于存放元素的動態(tài)數(shù)組空間 int top;/棧頂指針 int stacksize;/當(dāng)前??臻g的長度linkstack;void initstack(linkstack *s)/初始化棧 s-data=(elemtype *)malloc(initsize*sizeof(elemtype);/分配空間 s-top=0;/棧頂指針初始化 s-stacksize=initsize;/初始化棧的空間int push(linkstack *s,elemtype x)/元素入棧 if(s-tops-stacksize)/如果分配空間已滿,從新分配
30、s-data=(elemtype *)realloc(s-data ,(s-stacksize+1)*sizeof(elemtype); if(!s-data)return 0;/分配失敗,反回零 s-stacksize+;/增加空間大小 s-datas-top+=x;/把元素 x 入棧常州大學(xué)課程設(shè)計第 20 頁 共 22 頁 return 1;int pop(linkstack *s)/元素出棧 if(s-top=0)return 0; return s-data-s-top;void list(linkstack s)/輸出棧內(nèi)的元素 int i,hex; char chhex; for
31、(i=s.top-1;i=0;i-) if(s.datai=10)/如果大于等于 10 則做如下處理 hex=s.datai; switch(hex) case 10:chhex=a;break; case 11:chhex=b;break; case 12:chhex=c;break; case 13:chhex=d;break; case 14:chhex=e;break; case 15:chhex=f;break; printf(%c,chhex); else printf(%d,s.datai);/如果不大于 10 直接輸出 printf(n);void main() linkstack s; char chhex; int l,n,i,x; initstack(&s);
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地理信息精準定位-全面剖析
- 教育信息化資源開發(fā)-全面剖析
- 科技融合下的婚禮創(chuàng)新模式-全面剖析
- 對講機使用管理規(guī)程
- 受培訓(xùn)如沐春風(fēng),展作為似虎添翼-學(xué)員感悟
- 創(chuàng)意兒童課程介紹
- 企業(yè)合同糾紛民事起訴狀示例
- 教育咨詢師述職報告
- 倉庫6S管理的標準與實施
- 酒店行業(yè)客戶滿意度提升方案及服務(wù)措施
- 課堂教學(xué)評一體化策略
- 寵物店寵物活動策劃合同
- 盾構(gòu)施工關(guān)鍵技術(shù)知識考試題庫及答案
- 《2024年 大學(xué)計算機基礎(chǔ)考試系統(tǒng)的分析與設(shè)計》范文
- 《公共政策學(xué)(第二版)》 課件 楊宏山 第7-11章 政策評估-政策分析
- 廣東省珠海市香洲區(qū)2023-2024學(xué)年七年級下學(xué)期期末歷史試題(解析版)
- 2024年浙江省初中學(xué)業(yè)水平考試社會試題(解析版)
- 北京市通州區(qū)2023-2024學(xué)年高一下學(xué)期期中物理試卷(原卷版)
- NB/T 11433-2023煤礦短壁間隔充填采煤技術(shù)規(guī)范
- 煤礦班組安全生產(chǎn)建設(shè)新版制度匯編
- 2022年鄉(xiāng)鎮(zhèn)退役軍人工作計劃
評論
0/150
提交評論