計算機程式設計c語言課程設計報告

2021-03-04 09:56:13 字數 3290 閱讀 6606

課程設計報告

題目:學院:

專業:班級:

姓名:指導教師:

答辯日期:

一、選題背景:

問題提出:在應用電腦的過程中,往往需要使用計算器,來執行簡單的運算,但系統提供的計算功能過於煩瑣,而且有些程式並不提供計算功能。

為此,這裡用c語言編制了幾個函式,用於程式中時,可達到計算的目的.

二、設計思路:

簡單的計算器是對實數進行簡單的加,減,乘,除及簡單的求冪運算。本程式是通過簡單的c語言的運算函式來計算執行,來實現計算器的基本功能。

在實現過程中,應用迴圈來判斷執行相應的函式,即可達到簡單的計算器的功能。

三:設計分析:

主要解決問題方法:

通過計算器函式,視窗函式,設計滑鼠圖形函式及按鍵函式來構成計算器的實體,需要解決的是定義計算器的外觀,及滑鼠的圖形及其應用,尤其是滑鼠置於頂端時,其下一步的迴圈返回另乙個頂端。

技術關鍵:

計算器函式 ***puter()的邊框,按鍵大小設計,及滑鼠在同一行或列中的迴圈滾動,還有進行運算時,按鍵不同,進行響應的運算,視窗函式(mwindow()),設計滑鼠函式(arrow()),按鍵函式(specialkey())。

四:程式流程圖

五、程式清單:一、

二、#include dos介面函式*/#include 數學函式的定義*/#include 螢幕操作函式*/#include i/o函式*/#include 庫函式*/#include 變數長度參數列*/#include 圖形函式*/#include 字串函式*/#include 字元操作函式*/#define up 0x48游標上移鍵*/#define down 0x50游標下移鍵*/#define left 0x4b游標左移鍵*/#define right 0x4d游標右移鍵*/#define enter 0x0d回車鍵*/void *rar全域性變數,儲存游標圖象*/struct palettetype palette使用調色盤資訊*/int graphdriver圖形裝置驅動*/int graphmode圖形模式值*/int errorcode錯誤***/int maxcolors可用顏色的最大數值*/int maxx, maxy螢幕的最大解析度*/double aspectratio螢幕的畫素比*/void drawboder(void畫邊框函式*/void initialize(void初始化函式*/void ***puter(void計算器計算函式*/void changetextstyle(int font, int direction, int charsize改變文字樣式函式*/void mwindow(char *header視窗函式*/int specialkey(void獲取特殊鍵函式*/int arrow設定箭頭游標函式*//*主函式*/main()void initialize(void設定系統進入圖形模式*/ /*計算器函式*/void ***puter(void),c,temp[20]=;

char str1="1230.456+-789*/qc

/* 定義字串在按鈕圖形上顯示的符號 */

mwindow( "calculator顯示主視窗 */

color = 7設定灰顏色值*/

getviewsettings( &vp讀取當前視窗的大小*/

width=(vp.right+1)/10設定按鈕寬度 */

height=(vp.bottom-10)/10設定按鈕高度 */

x = width /2設定x的座標值*/

y = height/2設定y的座標值*/

setfillstyle(solid_fill, color+3);

bar( x+width*2, y, x+7*width, y+height );

畫乙個二維矩形條顯示運算數和結果*/

setcolor( color+3設定淡綠顏色邊框線*/

rectangle( x+width*2, y, x+7*width, y+height );

畫乙個矩形邊框線*/

setcolor(red設定顏色為紅色*/

outtextxy(x+3*width,y+height/2,"0."); /*輸出字串"0."*/

x =2*width-width/2設定x的座標值*/

y =2*height+height/2設定y的座標值*/

for( j=0 ; j<4 ; ++j畫按鈕*/

y +=(height/2)*3移動行座標*/

x =2*width-width/2復位列座標*/

}x0=2*width;

y0=3*height;

x=x0;

y=y0;

gotoxy(x,y移動游標到x,y位置*/

arrow顯示游標*/

putimage(x,y,rar,xor_put);

m=0;

n=0;

strcpy(str2設定str2為空串*/

while((v=specialkey())!=45

/*當壓下alt+x鍵結束程式,否則執行下面的迴圈*/

{while((v=specialkey())!=enter) /*當壓下鍵不是回車時*/

{putimage(x,y,rar,xor_put顯示游標圖象*/

if(v==right右移箭頭時新位置計算*/

if(x>=x0+6*width)

如果右移,移到尾,則移動到最左邊字元位置*/

x=x0;

m=0;

else

x=x+width+width/2; /*否則,右移到下乙個字元位置*/

m左移箭頭時新位置計算*/

if(v==left

if(x<=x0)

x=x0+6*width如果移到頭,再左移,則移動到最右邊字元位置*/

m=4;

else

x=x-width-width/2; /*否則,左移到前乙個字元位置*/

m左移箭頭時新位置計算*/

if(v==up

if(y<=y0)

y=y0+4*height+height/2; /*如果移到頭,再上移,則移動到最下邊字元位置*/

n=3;

else

y=y-height-height/2; /*否則,移到上邊乙個字元位置*/

n上移箭頭時新位置計算*/

if(v==down

if(y>=7*height)

y=y0如果移到尾,再下移,則移動到最上邊字元位置*/

n=0;

else

y=y+height+height/2; /*否則,移到下邊乙個字元位置*/

n在新的位置顯示游標箭頭*/

計算機程式設計 C語言 課程設計報告

課程設計報告 題目 電子動畫時鐘 學院 機電工程學院 專業 班級 090109班 學號 姓名 指導教師 設計日期 一 概述 選題背景 隨著社會的進步和科技的發展,電子鐘錶逐漸成為了人們生活中不可缺少的一部分。設計思路 一 功能模組設計,1.電子時鐘執行主流程2.電子時鐘介面顯示3.電子時鐘按鍵控制模...

《C語言程式設計》課程設計報告模版

寧波工程學院 2013 2014 學年第二學期 電信學院 c語言課程設計報告 題目班級 姓名學號 指導教師 2014 年 6 月 目錄 2 1 系統功能和結構 3 1.1系統設計目的 3 1.2系統功能分析 3 1.3系統結構分析 3 2 核心技術介紹 3 3 函式功能介紹 3 4 設計體會及總結 ...

C語言程式設計課程設計報告 內容要求

摘要主要內容為本課程設計報告的簡單說明 主要寫三個方面 做的什麼 最麼做的 設計的程式能幹什麼,200 關鍵詞 陣列 檔案 消費管理 3 5個關鍵字,與本報告有關 目錄1 需求分析 主要介紹該軟體具有哪些詳細的功能,及軟體的介面要求 資訊儲存要求等 要把軟體的所有的功能全部寫在該部分 2 系統分析與...