-
C語言課程設計上機實習內容
一、從下面題目中任選一題:
A.簡單的學生成績管理程序設計
B.考卷成績分析軟件程序設計
C.簡單醫療費用報銷管理軟件程序設計
除此之外,學生也可自行選擇課題進行設計,如自動柜員機界面程序、學生信息管理(包括生日祝賀)、計件工資管理等(但課題必須經指導教師審題合格后方可使用)。
二、課程設計說明書的編寫規范
1、程序分析和設計
2、流程圖
3、源程序清單
4、調試過程:測試數據及結果,出現了哪些問題,如何修改的
5、程序有待改進的地方
6、本次實習的收獲和建議
三、提交的資料
1、軟件
軟件需提供源程序,并能正常運行。
注:對于程序中未能實現的部分需要加以說明。
對于程序中所參考的部分代碼需要加以聲明,并說明出處。
2、文檔
課程設計文檔要求打印稿,同時提交電子文檔。文檔中必須包含課程設計小結,即收獲和體會。
文檔要注意格式,標題一律用小四號宋體加黑,正文用五號宋體,行間距固定值18,首行縮進2字符;如果有圖表,每個圖表必須順序編號并有標題,如“圖1 計算平均分的N-S圖”、“表1 地信081班成績一覽表”,一般圖名在圖的正下方、表名在表的正上方。
四、成績評定
通過學生的動手能力、獨立分析解決問題的能力、創新能力、課程設計報告、答辯水平以及學習態度綜合考核。
考核標準包括:
1、完成設計題目所要求的內容,程序書寫規范、有一定的實用性,占45%;
2、平時表現(考勤+上機抽查)占10%;
3、課程設計報告占30%;
4、答辯及演示占15%。
五、實習計劃
以選題一為例
實習計劃
時間
內容
第1天
一、布置實習內容和要求
1、 實習內容介紹、實習安排、實習紀律、注意事項
2、 學生選題
第2天
二、上機實習
1、根據所選題的要求,進行總體設計,確定程序總體框架
2、選擇和準備原始數據,制作.txt文本文件
第3天
3、文件的讀寫函數的使用,實現文本文件的讀取和寫入功能。
使用函數fread(); fwrite(); fprint(); fscan();完成對原始數據的文本輸入和輸出。
第4、5天
4、主要算法的選擇和功能實現(以學生成績管理系統為例):
① 計算每個學生三門功課的平均分,并按平均分排列名次,若平均分相同則名次并列;結果寫入文件。
② 統計全班每門課程的平均分,并計算各分數段(60以下,60~69,70~79,80~89,90以上)的學生人數;結果寫入文件?! ?
第6、7天
5、結果格式輸出及程序整合(以學生成績管理系統為例)
① 按格式在屏幕上打印每名學生成績條;
② 在屏幕上打印出所有不及格學生的下列信息:學號,不及格的課程名,該不及格課程成績;
(選做)在屏幕打印優等生名單(學號,三門課程成績,平均成績,名次),優等生必須滿足下列條件:1)平均成績大于90分;或平均分大于85分且至少有一門功課為100分;或者平均分大于85分且至少兩門課程成績為95分以上;2) 名次在前三名; 3) 每門功課及格以上;
第8天
三、測試完整程序
要求功能完整,結果符合設計要求,并進行程序驗收。
第9、10天
四、編寫報告
完成實習報告的編寫,并打印上交報告。
標簽:
大學
c語言
程序設計
上傳時間:
2016-06-27
上傳用戶:lh643631046
-
近年來,大容量數據存儲設備主要是機械硬盤,機械硬盤采用機械馬達和磁片作為載體,存在抗震性能低、高功耗和速度提升難度大等缺點。固態硬盤是以半導體作為存儲介質及控制載體,無機械裝置,具有抗震、寬溫、無噪、可靠和節能等特點,是目前存儲領域所存在問題的解決方案之一。本文針對這一問題,設計基于FPGA的固態硬盤控制器,實現數據的固態存儲。 文章首先介紹硬盤技術的發展,分析固態硬盤的技術現狀和發展趨勢,闡述課題研究意義,并概述了本文研究的主要內容及所做的工作。然后從分析固態硬盤控制器的關鍵技術入手,研究了SATA接口協議和NANDFLASH芯片特性。整體設計采用SOPC架構,所有功能由單片FPGA完成。移植MicroBlaze嵌入式處理器軟核作為主控制器,利用Verilog HDL語言描述IP核形式設計SATA控制器核和NAND FLASH控制器核。SATA控制器核作為高速串行傳輸接口,實現SATA1.0協議,根據協議劃分四層模型,通過狀態機和邏輯電路實現協議功能。NAND FLASH控制器核管理NANDFLASH芯片陣列,將NAND FLASH接口轉換成通用的SRAM接口,提高訪問效率??刂破魍瓿蒒AND FLASH存儲管理和糾錯算法,實現數據的存儲和讀取。最后完成固態硬盤控制器的模塊測試和整體測試,介紹了測試方法、測試工具和測試流程,給出測試數據和結果分析,得出了驗證結論。 本文設計的固態硬盤控制器,具有結構簡單和穩定性高的特點,易于升級和二次開發,是實現固態硬盤和固態存儲系統的關鍵技術。
標簽:
FPGA
固態硬盤
制器設計
上傳時間:
2013-05-28
上傳用戶:sssnaxie
-
本設計要點介紹了兩款能夠增加太陽能電池板接收能量的簡單電路。在這兩款電路中,均由太陽能電池板給電池充電,再由電池在沒有陽光照射的情況下提供應用電路運作所需的電源。
標簽:
性能
減
太陽能電池板
尺寸
上傳時間:
2013-11-16
上傳用戶:KSLYZ
-
特點(FEATURES) 精確度0.1%滿刻度 (Accuracy 0.1%F.S.) 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 類比輸出功能(16 bit DAC isolating analog output function) 輸入/輸出1/輸出2絕緣耐壓2仟伏特/1分鐘(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 寬范圍交直流兩用電源設計(Wide input range for auxiliary power) 尺寸小,穩定性高(Dimension small and High stability)
標簽:
微電腦
數學演算
輸出
隔離傳送器
上傳時間:
2013-11-24
上傳用戶:541657925
-
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。
TLC2543的特點
(1)12位分辯率A/D轉換器;
(2)在工作溫度范圍內10μs轉換時間;
(3)11個模擬輸入通道;
(4)3路內置自測試方式;
(5)采樣率為66kbps;
(6)線性誤差±1LSBmax;
(7)有轉換結束輸出EOC;
(8)具有單、雙極性輸出;
(9)可編程的MSB或LSB前導;
(10)可編程輸出數據長度。
TLC2543的引腳排列及說明
TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1
TLC2543電路圖和程序欣賞
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit clock=P1^0; sbit d_in=P1^1;
sbit d_out=P1^2;
sbit _cs=P1^3;
uchar a1,b1,c1,d1;
float sum,sum1;
double sum_final1;
double sum_final;
uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wei[]={0xf7,0xfb,0xfd,0xfe};
void delay(unsigned char b) //50us
{
unsigned char a;
for(;b>0;b--)
for(a=22;a>0;a--);
}
void display(uchar a,uchar b,uchar c,uchar d)
{
P0=duan[a]|0x80;
P2=wei[0];
delay(5);
P2=0xff;
P0=duan[b];
P2=wei[1];
delay(5);
P2=0xff;
P0=duan[c];
P2=wei[2];
delay(5);
P2=0xff;
P0=duan[d];
P2=wei[3];
delay(5);
P2=0xff;
}
uint read(uchar port)
{
uchar i,al=0,ah=0;
unsigned long ad;
clock=0;
_cs=0;
port<<=4;
for(i=0;i<4;i++)
{
d_in=port&0x80;
clock=1;
clock=0;
port<<=1;
}
d_in=0;
for(i=0;i<8;i++)
{
clock=1;
clock=0;
}
_cs=1;
delay(5);
_cs=0;
for(i=0;i<4;i++)
{
clock=1;
ah<<=1;
if(d_out)ah|=0x01;
clock=0;
}
for(i=0;i<8;i++)
{
clock=1;
al<<=1;
if(d_out) al|=0x01;
clock=0;
}
_cs=1;
ad=(uint)ah;
ad<<=8;
ad|=al;
return(ad);
}
void main()
{
uchar j;
sum=0;sum1=0;
sum_final=0;
sum_final1=0;
while(1)
{
for(j=0;j<128;j++)
{
sum1+=read(1);
display(a1,b1,c1,d1);
}
sum=sum1/128;
sum1=0;
sum_final1=(sum/4095)*5;
sum_final=sum_final1*1000;
a1=(int)sum_final/1000;
b1=(int)sum_final%1000/100;
c1=(int)sum_final%1000%100/10;
d1=(int)sum_final%10;
display(a1,b1,c1,d1);
}
}
標簽:
2543
TLC
上傳時間:
2013-11-19
上傳用戶:shen1230
-
#include<iom16v.h>
#include<macros.h>
#define uint unsigned int
#define uchar unsigned char
uint a,b,c,d=0;
void delay(c)
{ for for(a=0;a<c;a++)
for(b=0;b<12;b++);
};
uchar tab[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
標簽:
AVR
單片機
數碼管
上傳時間:
2013-10-21
上傳用戶:13788529953
-
題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b這是條件運算符的基本例子。
標簽:
gt
90
運算符
嵌套
上傳時間:
2015-01-08
上傳用戶:lifangyuan12
-
RSA算法 :首先, 找出三個數, p, q, r, 其中 p, q 是兩個相異的質數, r 是與 (p-1)(q-1) 互質的數...... p, q, r 這三個數便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 這個 m 一定存在, 因為 r 與 (p-1)(q-1) 互質, 用輾轉相除法就可以得到了..... 再來, 計算 n = pq....... m, n 這兩個數便是 public_key ,編碼過程是, 若資料為 a, 將其看成是一個大整數, 假設 a < n.... 如果 a >= n 的話, 就將 a 表成 s 進位 (s
標簽:
person_key
RSA
算法
上傳時間:
2013-12-14
上傳用戶:zhuyibin
-
數字運算,判斷一個數是否接近素數
A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value.
Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not.
Input
Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone.
Output
For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise.
Sample Input
10 111
2 110
10 123
6 1000
8 2314
0
Sample Output
yes
yes
no
yes
no
標簽:
數字
運算
上傳時間:
2015-05-21
上傳用戶:daguda
-
源代碼\用動態規劃算法計算序列關系個數
用關系"<"和"="將3個數a,b,c依次序排列時,有13種不同的序列關系:
a=b=c,a=b<c,a<b=v,a<b<c,a<c<b
a=c<b,b<a=c,b<a<c,b<c<a,b=c<a
c<a=b,c<a<b,c<b<a
若要將n個數依序列,設計一個動態規劃算法,計算出有多少種不同的序列關系,
要求算法只占用O(n),只耗時O(n*n).
標簽:
lt
源代碼
動態規劃
序列
上傳時間:
2013-12-26
上傳用戶:siguazgb