2008年8月16日星期六

類別 - 傳遞物件參數

#include <iostream.h>
class Addsum


 public:
    int x;
Addsum(int);
Addsum sum(Addsum);   
};


Addsum::Addsum(int s)

x=s;


Addsum Addsum::sum(Addsum obj)

x+=obj.x;  
return *this;

class subsum


 public:
    int x;
subsum(int);
subsum sum(subsum);   
};


subsum::subsum(int s)

x=s;


subsum subsum::sum(subsum obj)

x-=obj.x;  
return *this;



void main()

int x,y;
int*p =&x;
int*p1=&y;
cout<<"請輸入數值一"<<endl;
cin>>x;
cout<<"請輸入數值二"<<endl;
cin>>y;
Addsum a(*p),b(*p1),c(0);
c=a.sum(b);

cout<<"a+b="<<c.x<<endl;

subsum d(*p),e(*p1),f(0);
f=d.sum(e);

cout<<"a-b="<<f.x<<endl;

傳遞物件參數 - 指標

#include <iostream.h>


class Addsum

int x;
 public:
   
Addsum(int);

void sum(Addsum);   
void show();
};


Addsum::Addsum(int s)

x=s;



void Addsum::sum(Addsum obj)

x+=obj.x;  


void Addsum::show()

cout<<x;


void main()

int x,y;
int*p =&x;
int*p1=&y;
cout<<"請輸入數值一"< cin>>x;
cout<<"請輸入數值二"< cin>>y;
Addsum a(*p),b(*p1);
a.show();
cout<<"+";
b.show();
cout<<"=";
a.sum(b);   
a.show();
cout<<endl;

2008年8月15日星期五

自動移動工作表的資料

1 點選 工具 / 巨集 / VB編輯器
2 點選工作表 二下 / 輸入您要的值
3 輸入下列程式
Private Sub Worksheet_Activate()

Dim r, i, sr, sc

Range("a1").Select

Selection.End(xlDown).Select
r1 = ActiveCell.Row
Range("c1").Select

For i = 1 To r1
If ActiveCell.Value = "y" Then
sr = i & ":" & i
Rows(sr).Select
Selection.Cut
Sheets("y").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select

Sheets("all").Select
Rows(sr).Select
Selection.Delete Shift:=xlUp
sc = "c" & (i + 1)

Range(sc).Select
Else
sc = "c" & (i + 1)

Range(sc).Select
End If

Next



End Sub

VC++ - 加密設計

#include <iostream>
using namespace std;
int encode(int);    
int decode(int);  
void main()

    int pwd;
    cout<<"請輸入密碼:";
    cin>>pwd;
    pwd = encode(pwd);
    cout<<"加密後:"<<pwd<<endl;
    pwd = decode(pwd);
    cout<<"解密後:"<<pwd<<endl;


int encode(int pwd)

    int i;
    union{
        int num;
        char c[sizeof(int)];
    } u1;
    u1.num = pwd;
    for(i = 0; i< sizeof(int); i++)
        u1.c[i] += 32;
    return u1.num;


int decode(int pwd)

    int i;
    union{
        int num;
        char c[sizeof(int)];
    } u1;
    u1.num = pwd;
    for(i = 0; i< sizeof(int); i++)
        u1.c[i] -= 32;
    return u1.num;

VC++ - 檔案處理

#include<iostream>
using namespace std;
void main()

FILE *file1;  
int i;
char str1[40]="大家好大家好我想知道";
char str2[20];
file1=fopen("mydata.txt","w"); 
i=fputs(str1,file1);
if (i != EOF) 
cout << "存檔成功" << endl;
else
cout << "檔案防寫無法儲存" << endl;

fclose(file1);
file1=fopen("mydata.txt","r"); 
if (file1 == NULL)

cout << "檔案不存在,無法開啟" << endl;
exit(1);

else

while (fgets(str2,11,file1) != NULL) // 10個字元(11-1)

cout << "檔案內容:" << str2 << endl;


fclose(file1);

VC++ - 寫入檔案

#include<iostream>
using namespace std;
void main()


FILE *file1;  
int i,j;
char ch1;
char myst[50],st2[50];
cout<<"請輸入";
cin>>myst;


file1=fopen("mydata.txt","w"); 

for(i=0;myst[i] != '¥0';i++)
putc(myst[i],file1);
cout << "存檔成功" << endl;
fclose(file1);
file1=fopen("mydata.txt","r"); 

cout << "檔案內容:";
i=0;
while ( (ch1=getc(file1)) != EOF)

st2[i]=ch1;
i++;

for(j=0;j<i;j++)
cout << st2[j] ;
cout << endl;

fclose(file1);

VC++ - 二進位寫入檔案-結構

#include<iostream>
using namespace std;

struct data {
char no[6];     
char name[20];  
int math;
int china;
    int english;    
};
typedef struct data student;
void main()

FILE *file1;  
char c_name[20],c_no[6];
int c_math,c_china,c_english,j,k;
student myst;

file1=fopen("mydata.txt","wb"); 
cout<<"請輸入學生資料筆數:";
cin>>k;

for(j=1;j<k;j++){
      cout<<"請輸入學號:";
cin>>c_no;
cout<<"請輸入姓名:";
cin>>c_name;
     cout<<"請輸入數學成績:";
cin>>c_math;
cout<<"請輸入國文成績:";
cin>>c_china;
cout<<"請輸入英文成績:";
cin>>c_english;

strcpy(myst.no,c_no);
strcpy(myst.name,c_name);
myst.math=c_math;
myst.lang=c_china;
myst.lang=c_english;

fwrite(&myst,sizeof(myst),1,file1);
if (ferror(file1))
cout << "資料寫入錯誤" << endl;
else
cout << "資料寫入完成!!" << endl;

fclose(file1);

VC++ - 二進位讀取資料

#include<iostream>
using namespace std;

struct data {
char no[6];     
char name[20];  
int math;
int eng;       
};
typedef struct data student;

void main()

FILE *file1;  
student myst;
int i=1;
file1=fopen("mydata.txt","rb"); 
if (file1 == NULL)
cout << "檔案開啟錯誤!!" << endl;
else

while ( !feof(file1) )

if (fread(&myst,sizeof(myst),1,file1))

cout << "******************************" << endl;
cout << "讀取第" << i << "筆記錄內容為:" << endl;
cout << "學號:" << myst.no << endl;
cout << "姓名:" << myst.name << endl;
cout << "數學:" << myst.math << endl;
cout << "英文:" << myst.eng << endl;
i++;



fclose(file1);

VC++ - 身份證產生器

#include<iostream>
#include <string>
#include <time.h>
using namespace std;

void ck(){

int A[9];
int it0,cnn,i,A0,j;
for(j=0;j<10;j++){
     do{
          A[0]=(rand()%2)+1;
          for(i=1 ; i<9;i++)
               A[i]=rand()%10;
              it0 = rand()%26+65;
              switch(it0){
            case 65:case 77:case 87:
        A0 = 0;
break;
case 75:case 76:case 89:
        A0 = 1;
break;
case 74:case 86:case 88:
        A0 = 2;
break;
case 72:case 85:
        A0 = 3;
break;
case 84:case 71:
        A0 = 4;
break;
case 70:case 83:
        A0 = 5;
break;
case 69:case 82:
        A0 = 6;
break;
case 68:case 81:case 79:
        A0 = 7;
break;
case 67:case 80:case 73:
        A0 = 8;
break;
case 66:case 78:case 90:
        A0 = 9;
break;
default:
   ;

cnn = 9-((A0+ 8*A[0] + 7*A[1] + 6*A[2] + 5*A[3] + 4*A[4] + 3*A[5] + 2*A[6]+ A[7])%10);
} while(A[8]!=cnn);
cout << "新的身份證"<<(char)(it0)<<A[0]<<A[1]<<A[2]<<A[3]<<A[4]<<A[5]<<A[6]<<A[7]<<A[8]<<endl;


void main(){
     ck();

2008年8月14日星期四

vc++ - 檔案搜尋 – 資料更新

#include<iostream>
#include<string.h>
using namespace std;

struct data {
char no[6];     
char name[20];  
int math;
int china;  
    int english; 
};
typedef struct data student;

void main()

FILE *file1;  
student myst;
int i=1,j,k;
int m1,l1,e1,yn,yn1;
char no1[6];
file1=fopen("mydata.txt","r+b"); 
if (file1 == NULL)
cout << "檔案不存在!!" << endl;
else

cout << "請輸入查詢學號:" ;
cin.getline(no1,6);
j=0;
while (j >= 0)

fseek(file1,j*sizeof(myst),SEEK_SET);
k=fread(&myst,sizeof(myst),1,file1);
if (strcmp(no1,myst.no) == 0)


cout << "***************************" << endl;

cout << "學號:" << myst.no << endl;
cout << "姓名:" << myst.name << endl;
cout << "數學:" << myst.math << endl;
cout << "國文:" << myst.china << endl;
cout << "國文:" << myst.english << endl;

cout << "**********************" << endl;

cout << "要修改成績嗎?(0:Yes,1:No)";
cin >> yn;
if (yn == 0 )

cout << "請輸入各科修改成績內容:" << endl;
cout << "數學:";
cin >> m1;
cout << "國文:";
cin >> l1;
cout << "英文:";
cin >> e1;
cout << "****************************" << endl;

cout << "修改成績儲存嗎?(0:Yes,1:No)";
cin >> yn1;
if (yn1 == 0 )

myst.china = l1;
myst.math =m1;
myst.english =e1;
fseek(file1,j*sizeof(myst),SEEK_SET);
fwrite(&myst,sizeof(myst),1,file1);

fflush(file1);
cout << "****************************" << endl;
                cout << "儲存成功" << endl;
}}
exit(1);

else
j++;


fclose(file1);

VC++ - 類別 - 陣列物件

#include<iostream>

using namespace std;

class basedata {
private:
char no[6];     
char name[20];  
int math;
int china;  
    int english; 
int scoresum(void);
float scoreavg(void);
public:
void inputbasedata();
void showbasedata();
};
void basedata::inputbasedata(void)  

cout << "****************************" << endl;
         cout << "學號:" ;
cin >> no;
cout <<endl<< "姓名:";
cin >> name ;
            cout <<endl<< "數學:";
cin >> math;
cout <<endl<< "國文:";
cin >> china;
cout <<endl<< "英文:";
cin >> english;



void basedata::showbasedata(void)  
 { 
int sum;
   float avg;
   sum=scoresum();
   avg=scoreavg();

cout << "***************************" << endl;

cout << "學號:" << no << endl;
cout << "姓名:" << name << endl;
cout << "數學:" << math << endl;
cout << "國文:" << china << endl;
cout << "英文:" << english << endl;
cout << "***************************" << endl;

int basedata::scoresum()  
{   
int my_sum;
   my_sum=math+china+english;
   return my_sum;



float basedata::scoreavg()  
{   
float my_avg;
   my_avg=(math+china+english)/3;
   return my_avg;




void main()

basedata a[4];
int i;
cout<<"請輸入資料"<<endl;
for(i=0;i<4;i++){

      a[i].inputbasedata();

cout<<"資料輸出"<<endl;
for(i=0;i<4;i++){
a[i].showbasedata();

vc++ - 類別 _PUBLIC

#include<iostream>

using namespace std;

class basedata { public:
char no[6];     
char name[20];  
int math;
int china;  
    int english; 
void showbasedata();
};

void basedata::showbasedata(void)  

cout << "***************************" << endl;

cout << "學號:" << no << endl;
cout << "姓名:" << name << endl;
cout << "數學:" << math << endl;
cout << "國文:" << china << endl;
cout << "英文:" << english << endl;
cout << "***************************" << endl;


void main()

basedata a;
cout << "****************************" << endl;
         cout << "學號:" ;
cin >> a.no;
cout <<endl<< "姓名:";
cin >> a.name ;
            cout <<endl<< "數學:";
cin >> a.math;
cout <<endl<< "國文:";
cin >> a.china;
cout <<endl<< "英文:";
cin >> a.english;


a.showbasedata();

vc++ - 類別 _PRIVATE

#include<iostream>

using namespace std;

class basedata {
private:
char no[6];     
char name[20];  
int math;
int china;  
    int english; 
public:
void inputbasedata();
void showbasedata();
};
void basedata::inputbasedata(void)  

cout << "****************************" << endl;
         cout << "學號:" ;
cin >> no;
cout <<endl<< "姓名:";
cin >> name ;
            cout <<endl<< "數學:";
cin >> math;
cout <<endl<< "國文:";
cin >> china;
cout <<endl<< "英文:";
cin >> english;



void basedata::showbasedata(void)  

cout << "***************************" << endl;

cout << "學號:" << no << endl;
cout << "姓名:" << name << endl;
cout << "數學:" << math << endl;
cout << "國文:" << china << endl;
cout << "英文:" << english << endl;
cout << "***************************" << endl;


void main()

basedata a;


      a.inputbasedata();
a.showbasedata();

vc++ - 類別 : 建構子

#include<iostream>
#include<string>

using namespace std;

class basedata {
private:
char no[6];     
char name[20];  
int math;
int china;  
    int english; 
public:
void showbasedata();
     basedata();
};

basedata::basedata()

strcpy(no,"1234");
strcpy(name,"楊妹咕");
math=90;
china=90;
english=89;
};

void basedata::showbasedata(void)  

cout << "***************************" << endl;
cout << "學號:" << no << endl;
cout << "姓名:" << name << endl;
cout << "數學:" << math << endl;
cout << "國文:" << china << endl;
cout << "英文:" << english << endl;
cout << "***************************" << endl;


void main()

    basedata a;
a.showbasedata();

vc++ - 類別 _建構子參數傳送

#include<iostream>
#include<string>

using namespace std;

class basedata {
private:
char no[6];     
char name[20];  
int math;
int china;  
    int english; 
public:

void showbasedata();
     basedata();
 basedata(char *no1,char *na1, int ma1 , int ch1 , int en1);
};

basedata::basedata()

strcpy(no,"1234");
strcpy(name,"楊妹咕");
math=90;
china=90;
english=89;

};

basedata::basedata(char *no1,char *na1, int ma1 , int ch1 , int en1)

strcpy(no,no1);
strcpy(name,na1);
math=ma1;
china=ch1;
english=en1;

};


void basedata::showbasedata(void)  

cout << "***************************" << endl;

cout << "學號:" << no << endl;
cout << "姓名:" << name << endl;
cout << "數學:" << math << endl;
cout << "國文:" << china << endl;
cout << "英文:" << english << endl;
cout << "***************************" << endl;


void main()

basedata a1;
basedata a("1123","楊妹妹",90,45,67);

    a.showbasedata();
a1.showbasedata();

vc++ - 按鍵程式 - peter提供

#include <iostream>

#include <conio.h>

using namespace std;

void main()



      int key;

      do    {

              cout<<"\n\nPlease enter a key =";

              key = getch();cout<<(char)key<<endl;

              if((key==0)||(key==224))

                      {

                      cout<<"This is a function key."<<endl;

                      cout<<"\nEXTEND CODE ="<<getch()<<endl;

                      }

              else

                      {

                      cout<<"This is a normal key."<<endl;

                      cout<<"ASCII CODE ="<<key<<endl;

                      }

              } while (key!='q');

2008年8月13日星期三

vc++ - 指標與位址

#include<iostream>
using namespace std;
void main()

int i,a[4]={100,200,300,400};
int *p = a; 
for(i=0;i<4;i++){
cout << "*P"<<i<<"="<< *p++ << endl;
cout << "*P"<<i<<"="<< &a[i] << endl;

vcc++ - 指摽

#include <iostream>
using namespace std;
void main()

 int a=10;
 int *p=&a;
  cout<<"P的位置 :"<<p<<endl;
cout<<"P的指向的值 :"<<*p<<endl;
cout<<"a的位置 :"<<&a<<endl;

vc++ - 搜尋字元位置 陣列

#include <iostream>
using namespace std;
void main()

char a[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    int i;
char j;
cout<<"請輸入搜尋字元"<<"\t";
cin>>j;
cout<<endl;
    for(i=0;i<26;i++)

if(j==a[i])
cout<<j<<"是第"<<i+1<<"位置"<<endl;

vcc++ - 搜尋陣列

#include <iostream>
using namespace std;
void main()

char a[4]={'a','b','c','d'};
int i;
cout<<"請輸入位置0-3"<<"\t";
cin>>i;
cout<<endl;
cout<<"a["<<i<<"]="<<a[i]<<"\t";
     

vc++ - 二維陣列

#include <iostream>
using namespace std;
void main()

 int a[5][5],i,j;
 for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 a[i][j]=j;
 for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<"\t";
     

以下案例2

#include <iostream>
using namespace std;
void main()

 int a[5][5],i,j;
 for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 a[i][j]=i;
 for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<"\t";
     

VC++ - 一維陣列

#include <iostream>
using namespace std;
void main()

 int a[11],i;
 for(i=0;i<=10;i++)
 a[i]=i*2;
 for(i=10;i>=0;i--)
 cout<<"a["<<i<<"]="<<a[i];

2008年8月12日星期二

VC++ - 檔案處理

#include<iostream>
using namespace std;
void main()

FILE *file1;  
int i;
char str1[40]="大家好大家好我想知道";
char str2[20];
file1=fopen("11.txt","w"); 

i=fputs(str1,file1);
if (i != EOF) 
cout << "已成功將資料寫入檔案" << endl;
else
cout << "無法將資料寫入檔案" << endl;

fclose(file1);

file1=fopen("11.txt","r"); 

if (file1 == NULL)

cout << "Error!! 找不到檔案,無法開啟" << endl;
exit(1);

else


while (fgets(str2,11,file1) != NULL) // 10個字元(11-1)

cout << "讀取到的內容為:" << str2 << endl;


fclose(file1);

VC++ - 身份證檢查程式副程式

#include<iostream>
#include <string>

using namespace std;


void ck(){
char st[10] ;
int A[9];
int it0,cnn,i,A0;
char  T0;
cout << "請輸入您的身份證字號" ;
cin >> st;
T0 = st[0];
for(i=0 ; i<9;i++)
A[i]=(int)st[i+1]-48;

it0 = (int)toupper(T0);
switch(it0){
case 65:case 77:case 87:
        A0 = 0;
break;
case 75:case 76:case 89:
        A0 = 1;
break;
case 74:case 86:case 88:
        A0 = 2;
break;
case 72:case 85:
        A0 = 3;
break;
case 84:case 71:
        A0 = 4;
break;
case 70:case 83:
        A0 = 5;
break;
case 69:case 82:
        A0 = 6;
break;
case 68:case 81:case 79:
        A0 = 7;
break;
case 67:case 80:case 73:
        A0 = 8;
break;
case 66:case 78:case 90:
        A0 = 9; break;
default:
   ;


cnn = 9-((A0+ 8*A[0] + 7*A[1] + 6*A[2] + 5*A[3] + 4*A[4] + 3*A[5] + 2*A[6]+ A[7])%10);
if (A[8]==cnn)
   cout << "正確";
else
   cout << "錯誤";
  }
void main(){
char ans;
for(;;){
     ck();
cout<<endl<<"是否要繼續輸入Y或N";         cin>>ans;
if(ans=='n'||ans=='N')
break;

2008年8月10日星期日

VC++ - 身份證檢查程式

#include
#include

using namespace std;

void main(){
char st[10] ;
int it0,A0,A1,A2,A3,A4,A5,A6,A7,A8,CK,cnn;
char T0;

cout << "請輸入您的身份證字號 :" ;
cin >> st;

T0 = st[0];
A1 = (int)st[1]-48;
A2 = (int)st[2]-48;
A3 = (int)st[3]-48;
A4 = (int)st[4]-48;
A5 = (int)st[5]-48;
A6 = (int)st[6]-48;
A7 = (int)st[7]-48;
A8 = (int)st[8]-48;
CK = (int)st[9]-48;

it0 = (int)toupper(T0);
switch(it0){
case 65:case 77:case 87:
A0 = 0;
break;
case 75:case 76:case 89:
A0 = 1;
break;
case 74:case 86:case 88:
A0 = 2;
break;
case 72:case 85:
A0 = 3;
break;
case 84:case 71:
A0 = 4;
break;
case 70:case 83:
A0 = 5;
break;
case 69:case 82:
A0 = 6;
break;
case 68:case 81:case 79:
A0 = 7;
break;
case 67:case 80:case 73:
A0 = 8;
break;
case 66:case 78:case 90:
A0 = 9;
break;
default:
;
}

cnn = 9-((A0+ 8*A1 + 7*A2 + 6*A3 + 5*A4 + 4*A5 + 3*A6 + 2*A7+ 1*A8)%10);
if (CK==cnn)
cout << "正確";
else
cout << "錯誤";

}

身份證計算方式

1.身份證統一編號共計有10位,其中第一位為英文字母,後共有九個數字;
而最後一位數字為檢查碼( Check Digit )
2 英文字母:代表各縣市
3 第1個數字 2:表示女性 , 1:表示男性
字母代號如下

4 A, m, w : 以數字 0 代入
k, l, y : 以數字 1 代入
j, v,x : 以數字 2 代入
h, u : 以數字 3代入
t, g : 以數字 4 代入
f, s : 以數字 5 代入
e, r : 以數字 6 代入
d q, o : 以數字 7 代入
c, p, i : 以數字 8 代入
b n, z : 以數字 9 代入
5.依其公式計算結果:
Y=9-(( 上面數字+ 8*D1 + 7*D2 + 6*D3 + 5*D4 + 4*D5 + 3*D6 +2*D7+ 1*D8)除10的餘數)

6.如Y=CK(檢查碼),則表示該身份證號碼為正確,否則為錯誤。

C 語言函數 - 日期時間

函數名稱 前端處理 用 途
asctime time.h 產生時間字串。
ctime time.h 把時間值轉換成字串。
delay dos.h 暫停執行片刻。
difftime time.h 計算兩時間差。
getdate dos.h 取得MS-DOS的日期。
gettime dos.h 取得MS-DOS的時間。
gmtime time.h 將長整數時間轉換成格林治標準時間。
localtime time.h 將格林治標準時間依時區調整為本地時間。
setdate dos.h 設定系統日期。
settime dos.h 設定系統時間。
stime time.h 設定系統日期及時間。

C 語言函數 - 文章

需引入的前端處理函數conio.h
函數名稱 用 途
clreol 在文字視窗內清除游標所在位置到最後一列的字元。
clrscr 清除文字視窗。
delline 刪除本文視窗中的一列資料。
gettext 將本文視窗內文字資料存在記憶體內。
gettextinfo 取得本文模式的螢幕資訊。
gettextsettings 傳回有關本文視窗的相關資訊。
gotoxy 變更游標的座標位置。
higvideo 高亮度的字元顯示。
insline 在本文視窗中插入空白列。
lowvideo 低亮度的字元顯示。
movetext 拷貝螢幕上一矩形本文到另一區域。
normvideo 恢復正常字元亮度的顯示。
puttext 從記憶體中拷貝本文資料回螢幕上。
textattr 設定本文的屬性。
textbackground 設定背景顏色。
textcolor 前景屬性設定。
textmode 將螢幕設定在本文模式底下。
wherex 傳回本文視窗下水平游標位置。
wherey 傳回本文視窗下垂直游標位置。
window 定義文字模式視窗。

C 語言函數 - 繪圖

需引入的前端處理函數graphics.h
函數名稱 用 途
getmaxx(void) 偵測螢幕最大水平座標
getmaxy(void) 偵測螢幕最大垂直座標
line(x1,y1,x2,y2) 繪製兩點直線
lineto(x,y) 由此點繪至另一點直線
circle(x,y,radius) 畫圓
ellipse(xc,yc,stangle,endangle,xr,yr) 畫橢圓
arc(xc,yc,stangle,endangle,radius) 畫狐
rectangle(left,top,right,bottom) 畫長方形
drawpoly(number,dataarray) 畫多邊形
fillpoly(number,datalist) 多邊形塗實心色
floodfill(x,y,border) 將某封閉區間填滿
fillellipse(xc,yc,xr,yr) 塗滿橢圓區間
setcolor(color) 設定前景色
setbkcolor(color) 設定背景色
setfillstyle(patter,color) 設定塗滿樣式。
setlinestyle(style,pattern,thickness) 設定線條樣式。
bar(left, top, right, bottom) 繪製平面長條圖
bar3d(left, top, right, bottom, depth, topflag) 繪製立體長條圖
putpixel(x, y, color) 點繪圖
getpixel(x, y) 獲取螢幕上一點的顏色

C 語言函數 - 輸入輸出

函數名稱 需引入的前端處理函數 用 途
cputs conio.h 顯示字串。
cgets conio.h 由控制台讀取一字串。
eof io.h 偵查檔案終了。
fopen stdio.h 開啟緩衝式的檔案。
fclose stdio.h 關閉某一開啟之檔案。
fcloseall stdio.h 關閉所有開啟之檔案。
fgetc stdio.h 讀取字元。
fgetchar stdio.h 從標準輸入stdin中讀取字元。
fgetpos stdio.h 取得檔案指標。
fgets stdio.h 讀取字串。
filelength io.h 傳回檔案的長度。
fprintf stdio.h 將格式化資料輸出到檔案中。
fputc stdio.h 輸出字元到某一管道中。
fputs stdio.h 輸出字串到某一管道中。
fscanf stdio.h 由檔案中讀取格式化的資料。
getc stdio.h 讀取字元。
getch conio.h 讀取字元。
getchar stdio.h 讀取字元。
getche conio.h 讀取字元。
gets stdio.h 讀取字串。
scanf stdio.h 格式化輸入。
printf stdio.h 格式化輸出。
read io.h 讀取檔案資料。
write io.h 將資料寫入檔案中。
fread stdio.h 從管道中讀取資料。
fwrite stdio.h 將資料寫到輸出管道中。
puts stdio.h 輸出字串。
putc stdio.h 輸出字元。
putch conio.h 輸出字元。
putchar stdio.h 輸出字元。

C 語言函數 - 字串

函數名稱 需引入的前端處理函數 用 途
stpcpy string.h 將某一字串抄錄到另一字串中。
strcat string.h 字串合併。
strchr string.h 順向搜尋字元第一次出現的位址。
strcmp string.h 比較兩字串間的關係,並傳回比較值。
strcmpi string.h 不考慮字母之大小,比較兩字串。
strcpy string.h 字串拷貝。
strcspn string.h 找出字串中不含指定字元集之任何子集的第一段子字串。
strdup string.h 將一字串抄錄到一個新產生的位置上。
strerror string.h 傳回指向錯誤訊息字串的指標。
stricmp string.h 不計大小寫之字串比較。
strlen string.h 字串長度計算。
strlwr string.h 大寫字母轉小寫。
strncat string.h 字串合併。
strncmp string.h 比較字串的某一部份和另一字串的某一部份是否相同。
strncmpi string.h 不考慮字母的大小寫將一字串部份與另一字串部份作比較。
strnicmp string.h 比較字串的前n個字元,不計字母之大小寫關係。
strnset string.h 局部字串替換。
strpbrk string.h 找出指定字元函數。
strrchr string.h 反向搜尋字元第一次出現之位址。
strrev string.h 反轉字串之字元。
strset string.h 字串替換。
strspn string.h 搜尋字串中段是一給定字元集之任何子集的子字串。
strstr string.h 子字串搜尋函數。
strtok string.h 搜尋字串的語法單元。
strupr string.h 將小寫字母轉換為大寫。

C 語言函數 - 字元

函數名稱 需引入的前端處理函數 用 途
isalnum ctype.h 測試某一整數值是否為‘A’-‘Z’, ‘a’-‘z’, ‘0’-‘9’等文數字之一。
isalpha ctype.h 測試某一整數值是否為’A’-‘Z’, ‘a’-‘z’, 等字母之一。
isascii ctype.h 如果ch的值判於0-127,則傳回非零整數(0x00-0x7F)。
iscntrl ctype.h 如果ch是一刪除字元或一般控制字元,則傳回非零整數(0x7F或0x00-0x1F)。
isdigit ctype.h 如果ch是一數字,則傳回非零整數。
isgraph ctype.h 如果ch是為可列印字元,則傳回非零整數。
islower ctype.h ch若為小寫字母,則傳回非零整數。
isprint ctype.h ch若為可列印字元,則傳回非零整數。其功能與isgraph相似。
ispunct ctype.h ch若為標點符號,則傳回非零整數。
isspace ctype.h ch若為空白字元或定位字元(Tab),歸位字元(Enter鍵),新列字元,垂直定位字元,換頁字元,則傳回非零整數。
isupper ctype.h ch若為大寫字母,則傳回非零整數。
isxdigit ctype.h ch若為一個十六進位數字,則傳回非零整數。

C 語言函數 - 數學

函數名稱 需引入的前端處理函數 用 途
abs stdlib.h 取整數的絕對值
acos math.h 計算反餘弦值。
asin math.h 計算反正弦值。
atan math.h 計算反正切值。
atan2 math.h 計算 y/x 的反正切值。
atof stdlib.h 轉換字串為浮點型態數值。
atoi stdlib.h 轉換字串為整數值。
atol stdlib.h 轉換字串為長整數值。
cabs math.h 計算複數的絕對值。
ceil math.h 取得一個浮點數的極大值。
cos math.h 計算餘弦值。
cosh math.h 傳回雙曲線餘弦值。
div stdlib.h 傳回兩數相除的商及餘數。
ecvt stdlib.h 將浮點數轉換成字串。
exp math.h 計換指數。
fabs math.h 計算浮點數的絕對值。
fcvt stdlib.h 將浮點數轉成字串。
floor math.h 傳回浮點數的整數部份。
fmod math.h 計算浮點數相除後的餘數。
frexp math.h 分割浮點數為假數和指數兩部份。
gcvt stdlib.h 轉換浮點數為字串。
hypot math.h 計算三角形的斜邊長度。
itoa stdlib.h 將數字轉成字串。
labs stdlib.h 產生長整數n的絕對值。
ldiv stdlib.h 傳回長整數相除的商及餘數。
log math.h 計算對數值。
log10 math.h 計算對數值。
ltoa stdlib.h 將長整數轉換為字串。
matherr math.h 處理由數學函數所產生的錯誤。
max stdlib.h 傳回兩數值中的較大值。
min stdlib.h 傳回兩數值中的較三值。
modf math.h 將浮點數分解為整數及小數兩部份。
poly math.h 多項式函數。
pow math.h 計算次方值。
pow10 math.h 計算十的次方。
rand stdlib.h 產生一個虛擬隨機亂數。
randomize stdlib.h 初始化亂數產生器。
sin math.h 計算正弦值。
sinh math.h 傳回雙曲線正弦值。
sqrt math.h 計算平方根值。
srand stdlib.h 設定隨機函數rand 的基數。
strtod stdlib.h 將字串轉換為雙精度數值。
tan math.h 計算正切數值。
tanh math.h 傳回雙曲線正切數值。
ultoa stdlib.h 將數字轉換成以空字元結尾的字元串。

VC++ - 結構與陣列

#include<iostream>
using namespace std;


struct score {     
int chinese;  
int math; 
int english;
};  

void main()

score st1[100];
int i,j,sum1=0,sum2=0,sum3=0;
cout << "請輸入學生人數:";
cin >> j;
for(i=0;i<j;i++)

cout << "請輸入第 " << i+1 << " 位同學的成績:" << endl;
cout << "請輸入國文成績:";
cin >> st1[i].chinese;
cout << "請輸入數學成績:";
cin >> st1[i].math;
cout << "請輸入英文成績:";
cin >> st1[i].english;
sum1+=st1[i].chinese; // 計算國文總成績
sum2+=st1[i].math; // 計算數學總成績
sum3+=st1[i].english;

cout << "==================================" << endl;
cout << "這"<<j<<"位同學的國文平均成績為:" << (int)(sum1/j)<< endl;
cout << "這"<<j<<"位同學的數學平均成績為:" << (int)(sum2/j)<< endl;
cout << "這"<<j<<"位同學的數學平均成績為:" << (int)(sum3/j)<< endl;

VC++ - 自訂結構函數回傳

#include<iostream>
using namespace std;

struct score {     
int chinese; 
int math;
int english; 
};  

struct score set_data();

void main()


score you_data;

you_data=set_data();
cout << "*********************************" << endl;
cout << "國文 : " << you_data.chinese << endl;
cout << "數學 : " << you_data.math << endl;
cout << "英文 : " << you_data.english << endl;


struct score set_data()


score my_data;
cout << "請輸入國文成績:";
cin >> my_data.chinese;
cout << "請輸入數學成績:";
cin >>  my_data.math;
cout << "請輸入英文成績:";
cin >> my_data.english;


return my_data;

VC++ - 自訂資料型別

#include<iostream>
using namespace std;

struct my_data {     
char my_name[5]; 
int my_wt;   
int my_old;   
};              

void main()


my_data data1;

strcpy(data1.my_name,"妹咕");
data1.my_wt=19;
data1.my_old=10;

cout << "姓名 : >" << data1.my_name << endl;
cout << "體重 : >" << data1.my_wt << endl;
cout << "年齡 : >" << data1.my_old << endl;



方法二
#include<iostream>
using namespace std;

struct my_data {     
char my_name[5]; 
int my_wt;   
int my_old;   
};              

void main()


my_data data1={"妹咕",19,10};

cout << "姓名 : >" << data1.my_name << endl;
cout << "體重 : >" << data1.my_wt << endl;
cout << "年齡 : >" << data1.my_old << endl;

我有東西賣 - 可以與我連絡喔

手邊有一個手環產品 , 類似晚會用的螢光棒 , 戴在手上的
很漂漂 , 一個售價50元
數量不限 , 如果您有需要 可以談喔
照片明天在放上來

 
妹咕數位學園歡迎網友們來信指教 妹咕信箱