趣味新聞網 logo



c語係寫程式技巧/*從鍵盤中讀取字元 功能:按下普通鍵時 返迴其ASCII碼 掃瞄碼CODE=0*/ int INKEY(int *code) { int m; while(!bioskey(1))/ c語係寫程式技巧 - 趣味新聞網


c語係寫程式技巧/*從鍵盤中讀取字元 功能:按下普通鍵時 返迴其ASCII碼 掃瞄碼CODE=0*/ int INKEY(int *code) { int m; while(!bioskey(1))/ c語係寫程式技巧


發表日期 2008-05-08T10:30:24+08:00



     趣味新聞網記者特別報導 : c語係寫程式技巧/*從鍵盤中讀取字元 功能:按下普通鍵時,返迴其ASCII碼 掃瞄碼CODE=0*/ int INKEY(int *code) { int m; while(!bioskey(1))/ .....


     c語係寫程式技巧
/*從鍵盤中讀取字元 功能:按下普通鍵時,返迴其ASCII碼 掃瞄碼CODE=0*/
int INKEY(int *code)
{
int m;
while(!bioskey(1))/*可加入無按鍵時代碼*/;
*code=bioskey(0);
m=*code*255;
if(!m) m=*code>>8;
*code=*code&255;
return m;
}

/*取得機器日期*/
int DATE(char *s,char type)
{
char dat[30];
int num;
struct tm *tblock;
time_t t;
t=time(NULL);
tblock=localtime(&t);
strcpy(dt,asctime(tblock));
strcpy(s,"");
switch(type)
{
case 'N':
num=(*tblock).tm_year+1900;
itoa(num,s,10);
break;
case 'Y':
num=(*tblock).tm_mon+1;
itoa(num,s,10);
break;
case 'R':
num=(*tblock).tm_mday;
itoa(num,s,10);
break;
case 'S':
strcpy(dt,asctime(tblock));
MID(s,dt,12,8);
break;
}
}
return num;
}

/*將浮點數轉化為字串*/
/* 參數說明 data:需轉換的浮點數;s:輸齣字串;len:轉換後的長度*/
void f_to_s(double data,char *s,int len)
{
int dec,sign,i;
char *s1,s2[100],s3[100];
s1=0;
s2[0]=0;
s3[0]=0;
s1=fcvt(data,len,&dec,&sign);
if (!sign&&data>=1)
{
MID(s2,s1,dec+1,-1);
MID(s3,s1,1,dec);
strcpy(s,"+");
strcat(s,s3);
strcat(s,".");
strcat(s,s2);
}
if (sign&&fabs(data)>=1)
{
MID(s2,s1,dec+1,-1);
strcpy(s,"-");
MID(s3,s1,1,dec);
strcat(s,s3);
strcat(s,".");
strcat(s,s2);
}
if (!sign&&dec==0)
{
strcpy(s,"+0.");
strcat(s,s1);
}
if (sign&&dec==0)
{
strcpy(s,"-0.");
strcat(s,s1);
}
if (!sign&&dec<0)
{
strcpy(s,"+0.");
for(i=1;i<=fabs(dec);i++)
strcat(s,"0");
strcat(s,s1);
}
if (sign&&dec<0)
{
strcpy(s,"-0.");
for(i=1;i<=fabs(dec);i++)
strcat(s,"0");
strcat(s,s1);
}
if (strlen(s)>len) s[len]=0;
}

/*清除螢幕*/
void CLSXY(int color,int x,int y,int xl,int yl)
{
int x1,y1;
union REGS r;
if(x<1||y<1) return;
y--;
x--;
y1=y+yl-1;
x1=x+xl-1;
if (y1>25||x1>80)
return;
r.h.ah=6; /*子功能號*/
r.h.al=0; /*捲動行數*/
r.h.ch=y;
r.h.cl=x;
r.h.dh=y1;
r.h.dl=x1;
r.h.bh=color*16;
int86(16,&r,&r);
}


/*顯示時間*/
void display_time(int color,int back_color,int y,int x)
{
static char oldtime[9]="";
char newtime[9];
if(y<1||x<1) return;
settextstyle(1,0,1);
DATA(newtime,'S');
back_color=7;
if(strcmp(newtime,oldtime))
{
setfillstyle(1,back_color);
setcolor(color);
bar(535,458,635,475);
outtextxy(x,y,newtime);
strcpy(oldtime,newtime);
}
}


/*列印一個矩形*/
void PRINT_KJ(int x,int y,int wide,int high)
{
int i;
for(i=x;i{
gotoxy(i,y);
cprintf("?");
}
gotoxy(x,y+high);
cprintf("?");
gotoxy(x+wide,y+high);
cprintf("?");
gotoxy(x,y);
cprintf("?");
gotoxy(x+wide,y);
cprintf("?");
for(i=x+2;i{
gotoxy(i,y+high);
cprintf("?");
}
for(i=y+1;i{
gotoxy(x,i);
cprintf("?");
}
for(i=y+1;i{
gotoxy(x+wide,i);
cprintf("?");
}
}

/*砍掉字串中所有空格*/
void CUT_ALL_SPC(char *s)
{
int i,n;
char d[10000];
n=0;
for(i=0;iif(s !=32)
{
d[n]=s ;
n++;
}
d[n]=0;
strcpy(s,d);
}


/*取子字串*/
void MID(char *s,char *t,int n,int m)
{
int i,j,p;
if(n<1) n=1;
i=strlen(s);
if(iif(m<0) m=i;
else m=n+m-1;
if(m>i) m=i;
p=m-n+1;
if(p<0) p=0;
for(i=n-1,j=0;it[j]=s ;
t[p]=0;
}


/*從檔案中讀取字元*/
int READ_STR(char *s,FILE *fp)
{
int i=0;
if(!fp) return 0;
if(fgets(s,10000,fp)) i=1;
s[strlen(s)-1]=0;
return i;
}

/*字串左靠齊*/
void MOVE_LEFT(char *d,char *s,int n)
{
int i,l;
l=strlen(s);
if(n>l) n=l;
for(i=0;i*d++=*s++;
*d=0;
}

/*取左字串*/
void LEFT(char *d,char *s,int n)
{
int i,l;
i=0;
l=strlen(s);
if(n>l) n=l;
for(i=0;id =s ;
d[n]=0;
}


/*嚮檔案寫資料*/
void WRITE_STR(char *s,FILE *fp)
{
char c=10;
if(!fp) return;
fputs(s,fp);
fputc(c,fp);
}

/*取右字串*/
void RIGHT(char *dest,char *source,int num)
{
int i,j;
if (num<1) num=0;
num=strlen(source)-num;
if (num<0) num=0;
for(i=0,j=num;j<=strlen(source);i++,j++) dest =source[j];
}


/*開啓或關閉遊標*/
void CURSOR(int on2off)
{
union REGS r;
if (on2off!=OFF) on2off=10;
r.h.ah=1;
r.h.ch=3;
r.h.cl=on2off;
int86(16,&r,&r);
}

/*喇叭發聲*/
void SOUND(int frequency,int time)
{
int i;
i=time*50;
if (i>30000) i=30000;
if (i<50) i=50;
sound(frequency);
MYDELAY(i);
nosound();
}

/*時間延遲*/
void MYDELAY(long t)
{
time_t OldTime;
long t0;
t0=t/55;
if (t0<1) t0=1;
OldTime=clock();
while(clock()-OldTime}


/*正點報時*/
void REPORT_CLOCK(void)
{
int i;
for(i=0;i<5;i++);
{
SOUND(500,10);
MYDELAY(1000);
}
SOUND(800,10);
}


/*寫整數於檔案中*/
void WRITE_INT(int num,FILE *p)
{
char s[20],a=10;
if (!p) return;
itoa(num,s,10);
fputs(s,p);
fputc(a,p);
}


/*從檔案中讀取整數*/
int READ_INT(int *num,FILE *p)
{
int i;
char s[30]="";
if (!p) return 0;
if (fgets(s,10000,p))
{
i=-1;
s[strlen(s)-1]=0;
*num=atoi(s);
}
else i=0;
return i;
}


/*報警 */
void WARN(void)
{
SOUND(300,1);
SOUND(100,1);
}


/*字串右靠齊*/
void MOVE_RIGHT(char *s,int wide)
{
int i,l,n;
l=strlen(s);
n=wide-l;
if (n>0)
{
for(i=l;i>-1;i--) s[i+n]=s ;
for(i=0;i}
}


/*字串齊中*/
void MOVE_MIDDLE(char *s,int wide)
{
int i,l,n;
l=strlen(s);
if (wide>l)
{
wide=wide-1;
n=wide/2;
wide=wide-n;
for(i=l;i>-1;i--) s[i+n]=s ;
for(i=0;ifor(i=0;is[l+n+i]=0;
}
}

/*刪除子字串*/
void Delete_SubString(char *source,int start,int num)
{
int i,l;
l=strlen(source);
if (num>l-start+1||num==-1) num=l-start+1;
if (start<1||start>1) return;
for(i=start;isource[i-1]=source[i+num-1];
}

/*尋找指定字串*/
int INSTR(int n,char *source,char *dest)
{
int i,j,k1,k2,p;
int start=0;
if (n==0) n=1;
k1=strlen(source);
k2=strlen(dest);
if (n<0)
{
char s[100];
n=-n;
MID(s,source,n,k2);
if (strcmp(s,dest)) return 0;
return n;
}
if (k1-n+1for(i=n-1;i{
p=0;
for(j=0;jif (source[i+j]!=dest[j]) break;
else p++;
if (p==k2)
{
start=i+1;
break;
}
}
return start;
}


/*産生空格*/
void SPACE(char *s,int n)
{
int i;
if (n<0) n=0;
for(i=0;i*s=0;
}


/*産生字串*/
void STRING(int n,char *s1,char *s2)
{
int i;
if (n<0) n=0;
s1[0]=0;
for(i=1;i<=n;i++) strcat(s1,s2);
}


/*砍掉字串左邊空格*/
void CUT_LEFT_SPACE(char *s)
{
int i,j,k=0;
i=strlen(s)+1;
for(j=0;jfor(k=0;j}


/*砍掉字串右邊空格*/
void CUT_RIGHT_SPACE(char *s)
{
int i,j;
i=strlen(s)-1;
for(j=i;j>-1;j--) if (s[j]!=' ') break;
s[j+1]=0;
}

/*顯示一個字串*/
void DISPLAY(char *s)
{
union REGS regs;
int color,x,y;
x=wherex();
y=wherey();
color=16*bjys+qjys;
while(*s)
{
if(x>80) break;
regs.h.ah=9;
regs.h.al=*s;
regs.h.bh=0;
regs.h.bl=color;
regs.x.cx=1; /*顯示的次數,不改變遊標位置*/
int86(16,?s,?s);
x++;
if(x>80)
{
x=1;
y++;
if(y>25) y=25;
}
gotoxy(x,y);
s++;
}
}

/*定義螢幕彩色*/
void COLOR(int ForeColor,int BackColor)
{
if(ForeColor<0||ForeColor>15) return;
if(BackColor<0||BackColor>15) return;
qjys=ForeColor;
bjys=BackColor;
}

/*顯示提示視窗*/
void quit_YesNo(char *s1,char *s2)
{
char buffer[2000],jx;
gettext(30,8,76,16,buffer);
textbackground(3);
CLSXY(8,32,9,30,6);
CLSXY(4,30,8,30,6);
COLOR(15,4);
gotoxy(35,10);
DISPLAY(s1);
gotoxy(35,12);
DISPLAY(s2);
gotoxy(35+strlen(s2)+1,12);
jx=getch();
puttext(30,8,76,16,buffer);
if (jx=='n'||jx=='N') return;
textbackground(0);
textcolor(15);
clrscr();
CURSOR(ON);
exit(0);
}

分享鏈接



看最新新聞就到趣味新聞網
quweinews.com
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!


tag

相关新聞

c語言 s = p*(1+r)^n

    本人剛學習c語言 碰到一些瓶頸 想請問各位大大一個問題 是寫一函式float cal(float p,float r,int n),輸入本金p 月利率r 存款期數n 依據下列公式 迴傳本利和s s = p*(1+r)^n      ^n>>>代.......


c語言問題

    題目: 請撰寫一個自動訂位係統來替航空公司安排飛機座位,你的程式應列齣下列選單以供選擇: Please type 1 for “first class" Please type 2 for “economy" 如果你鍵入1你的程式應幫他安排頭等艙(.......


c語言小問題??

    1. 産生10個亂數 介於正10到負10之間 2. f(x)=5x+3 3. 12* 16 的最大公因數和最小公倍數 還有質數如何求?? 以上的問題要用C++語言寫   謝謝高手你 [ 本帖最後由 mayday03225 於 2008-12-.......


c語言要如何轉換成組閤語言

    請問c語言專換成組閤語言 有甚麼竅門嗎? 我不太懂組閤語言的寫法 [ 本帖最後由 mayday03225 於 2008-11-8 14:26 編輯 ].......


d9遊戲映像檔轉D5?

    小弟前幾天在某處下載瞭D9的遊戲映像檔(MDF) 想請問有辦法將他轉成D5的格式,或者是分成兩片D5燒下來嗎? 我有看到有人分享D5版本的,查看種子內容有好幾個壓縮檔 我又不想重下....(容量很大啊....) 所以請問有辦法轉檔嗎@@ [ .......


dev-C++ 抓取時間的問題

    我想問一下我想用C++寫一個抓取現在電腦時間, 然後可以一直更新,而不是抓取一次就停住瞭,顯示在dos畫麵的時間最好是一直 更著電腦同步更新,就是 電腦時間 11.28 那dos畫麵可以顯示1128或是11.28 電腦時間 11.29 那dos畫麵.......


diamond喇叭ㄉ問題

    我剛拿到我ㄉdiamond 通話時 不使用擴音喇叭 直接在耳邊接聽 音質清晰 沒有問題 但是如果使用擴音喇叭 即便音量已經調到最大 聲音還是非常虛無飄渺 當然 如果以手圍住手機上方ㄉ擴音喇叭孔 聲音會比較聚集 但是 總覺得不是辦法 不知道有沒有人跟我.......


diamond的msn可以視訊通話嗎

    有一個問題請教有經驗的大大 如果我將touch diamond連接電腦上網  我可以順利使用msn和朋友打字聊天 請問有沒有辦法進行視訊聊天ㄋ 鑽石機不是有30萬畫素的視訊鏡頭嗎 可以綁這個當作視訊攝影機來用嗎 還是這個視訊鏡頭隻能用來做視訊電話的.......


dopod 838 pro換殼問題

    一事想請教網友 我的手機是國外版的dopod 838 pro,他的按鍵配置和CHT9000差不多 可是又有些不同 想要請教高手們 如果我買瞭CHT9000的外殼,可不可以順利更換我現在的手機外殼呢?.......


dopod828一問...

    買迴來大約一年半 期間發生過滿多次 "備用電池電力嚴重不足"訊息 但事實上...我主電源都還沒見底阿... 原本電量顯示的畫麵 會有上下兩條 後麵各標註百分比 ex: 主電池: 剩餘電池電量:   _________________.......


dreamweaver 的 mouse over 和 mouse out

    小弟我設瞭apdiv1 和apdiv2 當鼠標碰到 div1 時 原本隱藏的 div2 顯示    鼠標離開div1 時 div2隱藏 但有個問題 我的鼠標還在 div1 裏麵移動   但div2 卻一下隱藏一下顯示   請問一下各位高手.......


driveway/免註冊/免讀秒/單檔500MB

driveway/免註冊/免讀秒/單檔500MB

    本帖最後由 李斯特霍華 於 2009-8-31 12:13 編輯 本文章以審核 driveway/免註冊/免讀秒/單檔500MB 遊客,如果您要查看本帖隱藏內容請迴覆!請點擊“迴覆按鈕”查看隱藏內容!迴覆 請使用感謝作者代替迴文!!.......


dvd rw格式化

    請問如何將空白DVD RW格式化 感謝 [ 本帖最後由 rickhsu 於 2008-6-16 22:55 編輯 ].......


dvd影片問題

    想請問各位大大 小弟的dvd影片 大概七G多 內容如下 VIDEO_TS VTS_01_0 VTS_01_1 VTS_01_2 VTS_01_3 VTS_01_4 VTS_01_5 VTS_01_6 VTS_01_7 VTS_01.......


dvd聲音太小聲

    請問一下 我邊有片dvd是我以前燒的dvd 但現在看覺得聲音太小聲瞭 請問有什麼辦法可以不要破壞他的畫質.. 把它變得大聲然後再重燒一片dvd呢? [ 本帖最後由 李斯特霍華 於 2008-12-15 17:40 編輯 ].......


dvd音效為dts,無法轉成vcd

    最近下載一部DVD其音效為DTS,本想把它轉成VCD或Avi以節省空間卻有影無聲 ,用avicodec查看顯示未支援此音效(但能撥放),想請教各位高手該如何解決?謝謝 [ 本帖最後由 ching1652 於 2008-8-6 00:14 編輯 ].......


dv的短片撥放問題??

    1.在dv上看是沒問題的,但是燒到dvd時有些片段就隻有聲音沒有影像.(撥放程式是medio play) 2.dvd燒錄後也無法作串聯撥放. [ 本帖最後由 流星的諾言 於 2008-9-21 07:06 編輯 ].......


endnote有中文程式嗎?

    endnote有中文程式嗎?我在網路上都沒看到,誰能告訴我是否有endnote中文程式嗎? [ 本帖最後由 ss055045 於 2008-8-6 20:18 編輯 ].......


excel 製作課錶??

    我將資料打進EXCEL 是這樣 編號 課程名稱 時間               地點 老師 星期 01 ㄅㄅ   10:00~12:00  A110    TT      一 02 ㄆㄆ   16:00~18:00  A111     BB   .......


excel單位換算運用!!

    如圖示 我想要請問一下那位大大 可以幫我解決一下 我在公尺欄位中如果輸入瞭1000然後按下 開始計算 那公分欄位中會齣現100000 那如果我在公分欄位中輸入瞭1000然後按下 開始計算 那公分欄位中會齣現10 怎麼樣讓兩個欄位都可以互相轉換 .......


excel快速鍵功能一問?

    請問高手excel一快速鍵的用法: 如何將工作錶1的某區塊,復製貼上在工作錶2上,工作錶1的數值或文字變動時,工作錶2也跟著變動,性質類似貼上一張圖片的概念,有誰能為我解答告訴我? -----------------------------------.......


excel的問題?

    求助各位大: 我使用excel的增益集內的條件式加總功能. 在設定範圍及條件後,無法在新的儲存格內, 隻能用文字錶示,無法秀齣數字,睏擾,不知該如何是好 請各位大大,幫忙解決. 感激不盡. [ 本帖最後由 tone.chang 於 2008-8-13 14:17 編輯 ].......


excel裏的下拉式選單如何修改呢?

    各位高手救命呀 。。。。   附檔的excel檔裏的分頁calculator裏有下拉式的選單,   請問我該如何修改選單內的文字呢?   因為是參考用的資料,還滿急的,所以要麻煩各位,感激不盡。。。 [ 本帖最後由 tone.chang 於 .......


execl 2007疑問

    剛安裝完offices2007 但excel 找不到巨集在哪裏? 請知道的大大解惑一下 [ 本帖最後由 tone.chang 於 2008-6-17 22:58 編輯 ].......


execl 2個工作頁比對問題?

    各位大大我有個問題不知道EXECL能不能將2頁的數值作比較 當有一頁其中一個值改變就會自動上色?用格色化的條件"用公式行嗎" 例如 : 有SHEET1 和 SHEET 2內都是有一樣的數值 範圍是 A1 ~H20...當SHEET1 的數值有變.........


explorer.exe發生問題,必須關閉

explorer.exe發生問題,必須關閉

    我在打開某個資料夾時 就會齣現 點選錯誤報告時 齣現的是 ModName :這裏顯示的是divxdec.ax 是不是代錶是divx跟sp2有衝突? 我應該要怎麼解決比較好呢 或是divx要怎麼移除 電腦使.......


explorer.exe造成CPU100%

    我有一颱電腦 一開機explorer.exe就會造成CPU跑到50~100%之間 我把explorer.exe 結束處理程序, 我在新增explorer.exe工作, 結果過一下子, explorer.exe還是讓CPU跑到100%, .......


fast xp 9.0的相關問題

    我想請問各位大大,我目前有fast xp 9.0 cd版,但是他的cd版有兩片阿!! 我要怎麼將兩片便成一片的係統安裝光碟呢?? 感謝各位的解答 發文請看一下Windows 係統版 發問規則 http://ck101.com/forums/threa.......


fedora8 部份字體是亂碼

    如題要怎麼解決 要如何在linux底下讀取windows 的軟體 例如office 遊戲 能否給我詳細教學 我是菜鳥 [ 本帖最後由 degit 於 2008-8-20 22:38 編輯 ].......


fedora9 無法下載套件

    fedora9 無法下載套件 他齣現no network connecting available 但是可以正常上網 不支要如何解決 [ 本帖最後由 degit 於 2008-8-20 22:38 編輯 ].......


fedora、centOS 支援NTFS嗎?

    如標題所問的問題 我想請問fedora 到幾版纔有內建支援ntfs (重新編核心不算喔!!) 還有centOS 要幾版纔有呢?! centOS 我用的是5.2版~~~ 可是好像也沒有內建支援ntfs呢? 因為我插入ntfs的usb碟,抓不到 .......


flashget下載BT時的問題?

    不知道為什麼有時候使用flashget下載bt時,在瀏灠網頁時就連結不齣去 可是隻要把flashgte的任務停下,瀏灠網頁就恢復正常瞭 可是這種情況隻是"有時候"會發生,可是就是很麻煩要把flashget停停開開的 請問各位有什麼解決辦法,或者.......


flash按鈕如何用鍵盤控製

    這程式 http://ittheone.ws/paly_frame_section_01.rar 我如何設成用鍵盤控製按鈕 比如按下鍵盤的 A 會執行  95 那按鈕 按下鍵盤的 S 會執行  99 那按鈕 請大大指導 感謝 [ 本帖.......


fluke es2 pro 網路分析儀

    這是一個很smart的工具 這颱設備真的很利害,它是走unix os的,真的很棒 。 [ 本帖最後由 mayday03225 於 2008-11-14 23:32 編輯 ].......


foobar cue題

    cue檔案不可撥放請問不知從何修改?謝謝! APE檔名: CDImage.ape CUE檔名: CDImage.cue ____________________________________________ 資訊 (CORE) : 啓動時間:31.......


foobar2000播放問題!!!

    在下下載瞭無損因樂像TTA和APE裏麵都會有一個至三個的CUE幾K而已!! 有些TTA或APE的CUE點她都能播放音樂,有些就沒有任何動作隻能點TTA和APE纔會播放!! 但直接點APE和TTA都是全部一起播的,請問是我本版太就瞭嗎(我是9.4..的).......


foobar2000無法播放TAK的檔案

    請問TAK是我用錯播放程式嗎???還是.....有彆的問題! TAK是剛抓下來的音樂檔案,和無損音樂檔案一樣的問題又跑齣來瞭!! [ 本帖最後由 degit 於 2008-7-12 19:51 編輯 ].......


foobar開日文歌麯的問題

    foobar開日文或者是簡體 他會齣現標簽有無效字元 請問如何解決 謝謝 無法利用AppLocale解決! foobar版本為0.8.3 [ 本帖最後由 流星的諾言 於 2008-9-15 10:32 編輯 ].......


freegrab的問題,煩請高手入內救命!

    ZS空間最近好像都不能載瞭說~不知道是齣瞭甚麼問題@@ 不是說颱灣IP已經不會擋瞭嗎... 但是我想下載都不行~"~ 還是因為版本問題阿!?有勞高手大大救命指導! [ 本帖最後由 李斯特霍華 於 2008-12-10 15:30 編輯 ].......


frpntpage的問題 ..

    因為 以前這颱電腦都沒有用過fprntpage所以不知道是不是這颱 以前這颱電腦都沒有用過fprntpage所以不知道是不是這颱電腦的問題 但是 最近因為要做作業瞭 纔在這颱電腦上安裝瞭frontpage 但是 我準備要編輯首頁時 他錯跑齣一個視.......




《電腦設備》磐儀攜手美Code,拓亞太區商機

請問一下C++的程式問題

茂太 展齣德精密雷射設備

c語係寫程式技巧

黃國昌決投入明年立委選舉 對戰李慶華


前一篇新聞
c的雙嚮問題~~請大大們幫忙
后一篇新聞
c語言 s = p*(1+r)^n





© 2024 - quweinews.com. All Rights Reserved.
© 2024 - quweinews.com. 保留所有權利