當前位置:首頁 » 編程軟體 » 編程中aid

編程中aid

發布時間: 2022-05-20 11:58:26

資料庫表中的主鍵和外鍵

主外鍵的存在是依託兩個實體之間的關系而存在的;
比如班級與學生的關系:
一個班級可以有多個學生,並且一個學生只能屬於一個班級,這就是一對多的關系;
那麼設計資料庫的時候就應該在學生表內存放班級的ID作為外鍵,為什麼不在班級表內放學生呢?
因為,你想一想班級表內如果放學生那麼記錄可能就是這樣:
1班ID
1班
xx同學id
1班ID
1班
xx同學id
..
這是不允許的,班級表內班級為主鍵,是唯一的不允許相同記錄的;
下面簡單給你講下大概建成的表結構
--建班級表
create
table
class(
classid
int
primary
key,--定義班級ID為主鍵
classname
varchar(15)
)
--建學生表
create
table
students(
studentid
int
primary
key,--定義學生ID為主鍵
classid
int
,--外鍵值,跟班級表classid
屬性類型相同
stuname
varchar(20),--學生姓名
---定義外鍵
foreign
key(classid)
references
class(classid)
--本表classid是基於class表classid的外鍵
)
---------
如上定義了主外鍵後,兩個表間的關系就是一對多的關系了,並且學生表內的classid必須依託班級表的classid存在,也就是說外鍵必須要主鍵存在的時候才能創建,例如:
--在班級表為空的情況往學生表插入一條記錄是不允許的:
insert
into
students(studentid,classid,stuname)values(1,1,'小明')
系統會拋出異常提示主鍵表班級表內班級ID不存在這樣是不允許插入的;
必須要先往班級表內插入一條記錄:
insert
into
class(classid,classname)values(1,'一班')
後才能執行插入前面一條往學生表插入信息的語句..
--------------可了解一些了?真累啊.

② 織夢sql中怎麼取得aid,

織夢取得文章的aid是: [field:id/]
tag標簽調用代碼
{dede:tag row='10'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}

希望可以幫助到你

③ 小學編程題目c語言摘紅蘋果

程序設計思路:

一、小朋友和蘋果都具有多樣屬性(比如高度、編號、狀態等,還可以擴展出姓名,重量等)。所以小朋友和蘋果要定義成結構體。

二、人和蘋果數量都是手動輸入,因此數組大小不確定,要使用動態數組(不使用動態,就得得限制用戶輸入的大小)。

三、題目要求確保摘到的總數最多,從最矮的小朋友開始摘,因此小朋友的數組要進行排序

四、遞歸函數實現摘蘋果邏輯,每人在自己夠到的范圍中隨機摘兩個(不夠就拿1個)。(遞歸函數每次發現一個可摘取的蘋果,有50%概率看中,都沒看中,默認摘取最後一個看中的蘋果)。

下面是代碼(控制台刷新函數中cls僅限window系統運行,其它操作系統,刪除或修改):

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#include<malloc.h>

#define AFR 7//蘋果圖像的行數

#define AFC 6//蘋果圖像的行數

#define CFR 5//小朋友圖像的行數

#define CFC 6//小朋友圖像的行數

typedef struct apple//表示蘋果數據的結構體

{

int aid;//蘋果編號

int height;//蘋果的高度

int status;//0:表示未被摘取。1:表示已被摘取

char aframe[AFR][AFC];//表示蘋果的圖像

}APPE;

typedef struct childern//表示小孩子的編號

{

int cid;//小孩子的編號

int height;//小孩子的身高

int n;//小孩摘取的蘋果數量

char cframe[CFR][CFC];//表示小朋友的圖像

APPE **appes;//小孩摘取的蘋果結構指針數組

}CHN;


int n,m;//蘋果和小朋友的個數,設為全局變數

APPE *setApps();//設置蘋果。成功返回結構數組,失敗返回NULL

CHN *setChns();//設置小盆友。同上。

int orderChnByHeight(CHN *chns);//對小朋友數組按照身高升序排列

int getApple(APPE *appes,CHN *chns,char (*strInfo)[100]);//遞歸,模擬小朋友依次選蘋果。異常返回-1

int showFrame(APPE *appes,CHN *chns,char (*strInfo)[100]);

int main()

{

int i;

char (*strInfo)[100]=NULL;//用於顯示操作流水

APPE *appes=NULL;

CHN *chns=NULL;

appes=setApps();

chns=setChns();

if(orderChnByHeight(chns)==-1)return 1;

srand(time(NULL));

strInfo=(char (*)[100])malloc(sizeof(char *)*m*100);

for(i=0;i<m;i++)strInfo[i][0]=0;

if(!strInfo) return 1;

showFrame(appes,chns,strInfo);

return 0;

}

int showFrame(APPE *appes,CHN *chns,char (*strInfo)[100])

{

static int k=1;

int i,j;

system("cls");

printf(" =============每組圖像靠上的數值為高度,靠下的數值為編號============ ");

printf(" =============為確保能拿到最多的蘋果,小朋友們按升序排列============ ");

for(i=0;i<AFR;printf(" "),i++)

for(j=0;j<n;j++)

printf("%s ",appes[j].aframe[i]);

printf(" ");

for(i=0;i<CFR;printf(" "),i++)

for(j=0;j<m;j++)

printf("%s ",chns[j].cframe[i]);

printf(" ==================================================================== ");


printf("操作流水: ");

for(i=0;i<m;i++)

printf("%s ",strInfo[i]);

fflush(stdin);

printf("按下任意鍵進行下一步。。。。。。 ");

getchar();

if(getApple(appes,chns,strInfo)==-1)return -1;

if(k)showFrame(appes,chns,strInfo),k--;

return 1;

}

int getApple(APPE *appes,CHN *chns,char (*strInfo)[100])

{

static int i=0,aflag,cflag;

int j,indexSave;

if(appes==NULL||chns==NULL) return -1;

if(chns[i].n==2)i++;//當前小朋友拿夠2個,換下一個小朋友

if(i==m)return 1;//所有人均拿過,結束遞歸

aflag=0;

for(j=0;j<n;j++)

if(appes[j].status==0) {aflag=1;break;}

if(aflag==0) return 1;//所有蘋果均拿完,結束遞歸

indexSave=-1;

cflag=0;

for(j=0;j<n;j++)

{

if(appes[j].status==0 && appes[j].height<=chns[i].height)

{

cflag=1;

indexSave=j;

if(rand()%2)//每次發現,有50%概率拿取,如所有可拿蘋果都沒選中,選最後發現的目標

break;

}

}

if(cflag)//小朋友拿起一個蘋果的過程

{

appes[indexSave].status=1;

//改變蘋果初始圖像

sprintf(appes[indexSave].aframe[6]," ");

chns[i].appes[chns[i].n]=&appes[indexSave];

chns[i].n++;

if(chns[i].n==1)

{

//改變小朋友初始圖像

sprintf(chns[i].cframe[0]," %c%c/ ",3,1);

sprintf(strInfo[i],"編號%d的小朋友拿取了1個蘋果(編號%d) ",chns[i].cid,chns[i].appes[0]->aid);

}


if(chns[i].n==2)

{

//改變小朋友初始圖像

sprintf(chns[i].cframe[0]," %c%c%c ",3,1,3);

sprintf(strInfo[i],"編號%d的小朋友拿取了2個蘋果(編號%d和編號%d) ",chns[i].cid,chns[i].appes[0]->aid,chns[i].appes[1]->aid);

}

}

if(cflag==0 && chns[i].n==0) sprintf(strInfo[i],"編號%d的小朋友沒有能拿到的蘋果,非常沮喪! ",chns[i].cid),i++;

if(cflag==0 && chns[i].n==1) i++;

return getApple(appes,chns,strInfo);

}

int orderChnByHeight(CHN *chns)

{

CHN chnTemp;

int i,j;

chnTemp.appes=(APPE **)malloc(sizeof(APPE*)*2);

if(!chnTemp.appes) return -1;

else

{

chnTemp.appes[0]=chnTemp.appes[1]=NULL;

if(chns)

for(i=0;i<m-1;i++)

for(j=i+1;j<m;j++)

if(chns[i].height>chns[j].height)

chnTemp=chns[i],chns[i]=chns[j],chns[j]=chnTemp;

}

free(chnTemp.appes);

return 1;

}

CHN *setChns()

{

int i;

CHN *chns=NULL;

printf("請輸入小朋友的個數:");

scanf("%d",&m);

chns=(CHN *)malloc(sizeof(CHN)*m);

if(!chns) return NULL;

printf("請輸入%d個小朋友身高(不超過3位整數): ",m);

for(i=0;i<m;i++)

{

chns[i].cid=i+1;

scanf("%d",&chns[i].height);

chns[i].height=chns[i].height%1000;//超出3位截取

chns[i].n=0;

chns[i].appes=(APPE **)malloc(sizeof(APPE*)*2);

if(!chns[i].appes) return NULL;

chns[i].appes[0]=chns[i].appes[1]=NULL;

//設置小朋友初始圖像

sprintf(chns[i].cframe[0]," \%c/ ",1);

sprintf(chns[i].cframe[1]," / \ ");

sprintf(chns[i].cframe[2],"-----");

sprintf(chns[i].cframe[3],"高%3d",chns[i].height);

sprintf(chns[i].cframe[4],"ID%3d",chns[i].cid);

}

return chns;

}

APPE *setApps()

{

int i;

APPE *appes=NULL;

printf("請輸入蘋果的個數:");

scanf("%d",&n);

appes=(APPE *)malloc(sizeof(APPE)*n);

if(!appes) return NULL;

printf("請輸入%d個蘋果的高度(不超過3位整數): ",n);

for(i=0;i<n;i++)

{

appes[i].aid=i+1;

scanf("%d",&appes[i].height);

appes[i].height=appes[i].height%1000;//超出3位截取

appes[i].status=0;

//設置蘋果初始圖像

sprintf(appes[i].aframe[0],"高%3d",appes[i].height);

sprintf(appes[i].aframe[1],"ID%3d",appes[i].aid);

sprintf(appes[i].aframe[2],"-----");

sprintf(appes[i].aframe[3]," %c ",'|');

sprintf(appes[i].aframe[4]," %c ",'|');

sprintf(appes[i].aframe[5]," %c ",'|');

sprintf(appes[i].aframe[6]," %c ",3);

}

return appes;

}

java+my sql問題:以下是資料庫中的兩個表的屬性行,分別是AID BID 和C

好吧,我幫你寫下。代碼如下:
SELECT a.AID,b.C FROM A a,B b WHERE a.BID=b.BID
你自己參考的寫下

⑤ 想學習編程~~~~~~~~~!!~~~\####

學習編程,從何入手?
如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啟示吧!

方案一 Basic語言 & Visual Basic

優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。

缺點
(1)Visual Basic 不是真正的面向對象的開發文具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。

綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。

方案二 Pascal語言 & Delphi

優點
(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。
(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。
(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。
(4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。

缺點
Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。

綜述: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。

方案三 C語言 & Visual C++

優點
(1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。
(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。
(3)VC是微軟製作的產品,與操作系統的結合更加緊密。

缺點
對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它的過於專業使得一般的編程愛好者學習起來會有不小的困難。

綜述: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。

方案四 C++語言 & C++ Builder

優點
(1)C++語言的優點全部得以繼承。
(2)完全的可是化。
(3)極強的兼容性,支持OWL、VCL和MFC三大類庫。
(4)編譯速度非常快。

缺點
由於推出的時間太短,關於它的各種資料還不太多。

綜述:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。

方案五 SQL語言 & Power Builder

對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。

【匯編語言編程工具】

QUOTE:
Visual ASM 1.0

http://hnpy.onlinedown.net/down/VisulASMSetup.zip

51匯編集成開發環境 V2.5.0

http://www.bjdown.com/down.asp?id=35407&no=1

MASM
http://bbs.cpcw.com/attachment.php?aid=128300

Emu8086 v3.07 [2.43M]
http://cnc.winzheng.com/softview/SoftView_23319.htm
KeyGen:
http://bbs.cpcw.com/attachment.php?aid=140072

參考資料:http://biancheng.cc.topzj.com/viewthread.php?tid=83587&fpage=1

⑥ C語言編程——發牌洗牌模擬,求幫助

實現了2副牌的發牌,和每個人的牌和底牌
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

struct CARD //牌
{
char suit[10]; /*花色*/
char face[10]; /*牌面*/
};
enum { posA, posB, posC, posD};//定義好每個人的位置
struct Postion
{
struct CARD getcard[25];//每人獲得的牌
};
struct Postion postion[4];//分配四個位置

struct CARD leftCard[8]; //底牌
struct CARD card[54]; //54張牌
char *suit[]={"Spades","Hearts","Clubs","Diamonds"};
char *face[] = {"A","2","3","4","5","6","7","8","9",
"10","jack","Queen","King"};
/* 函數功能:將52張牌的順序打亂,
函數參數:結構體數組wCard,表示52張牌
函數返回值:無
*/
void Shuffle(struct CARD *wCard)
{
int i,j;
struct CARD temp;

for (i=0; i<54; i++)
{
j=rand()%54;
temp=wCard[i];
wCard[i]=wCard[j];
wCard[j]=temp;
}
}
/*函數功能:發牌結果
函數參數:結構體數組wCard,表示有54張牌
函數返回值:無
*/
void Deal(struct CARD *wCard)
{
int i,aidx=0,bidx=0,cidx=0,didx=0;

Shuffle(card);//將牌打亂
/*************發第一副牌,只發50張,分別分給A,B,C,D四個位置 4張留底**************/
// 第一次發完50張後,A,B多一張,所以下面第二次讓C,D排在前面,兩次發完剛好各40張 */
for (i=0; i<50; i++)//發牌數
{
// printf("%10s %5s\n", wCard[i].suit, wCard[i].face);
if(i%4==0)
postion[posA].getcard[aidx++]=wCard[i];
else if(i%4==1)
postion[posB].getcard[bidx++]=wCard[i];
else if(i%4==2)
postion[posC].getcard[cidx++]=wCard[i];
else if(i%4==3)
postion[posD].getcard[didx++]=wCard[i];
}

/**********剩下的四張作為底牌*********/
leftCard[0]=wCard[i++];
leftCard[1]=wCard[i++];
leftCard[2]=wCard[i++];
leftCard[3]=wCard[i++];

Shuffle(card);//再次將牌打亂
/*************發第二副牌,也只發50張,分別分給A,B,C,D四個位置,4張留底,一共8張底**************/
for (i=0; i<50; i++)//發牌數
{
// printf("%10s %5s\n", wCard[i].suit, wCard[i].face);
if(i%4==0)
postion[posC].getcard[cidx++]=wCard[i];
else if(i%4==1)
postion[posD].getcard[didx++]=wCard[i];
else if(i%4==2)
postion[posA].getcard[aidx++]=wCard[i];
else if(i%4==3)
postion[posB].getcard[bidx++]=wCard[i];
}

/**********剩下的四張作為底牌,這樣就一共為8張底牌*********/
leftCard[4]=wCard[i++];
leftCard[5]=wCard[i++];
leftCard[6]=wCard[i++];
leftCard[7]=wCard[i++];

}

/* 函數功能:將52張牌按黑桃、紅桃、草花、方塊花色順序,面值按A~K順序排列
函數參數:結構體數組wCard,表示不同花色和面值的52張牌
指針數組wFace,指向面值字元串
指針數組wSuit,指向花色字元串
函數返回值:無
*/
void FillCard(struct CARD wCard[],char *wSuit[], char *wFace[])
{
int i;

for (i=0; i<52; i++)
{
strcpy(wCard[i].suit, wSuit[i/13]);
strcpy(wCard[i].face, wFace[i%13]);
}
// wCard[53].face="Big"; //大小王
strcpy(wCard[52].suit, "Small");
strcpy(wCard[52].face, "ghost");
strcpy(wCard[53].suit, "Big");
strcpy(wCard[53].face, "ghost");
}

void print(char ch)//輸出牌
{
int i;
switch(ch)
{
case 'A': for(i=0; i<25; i++)
{
printf("%10s %5s\n", postion[posA].getcard[i].suit, postion[posA].getcard[i].face);
}
break;
case 'B': for(i=0; i<25; i++)
{
printf("%10s %5s\n", postion[posB].getcard[i].suit, postion[posB].getcard[i].face);
}
break;
case 'C': for(i=0; i<25; i++)
{
printf("%10s %5s\n", postion[posC].getcard[i].suit, postion[posC].getcard[i].face);
}
break;
case 'D': for(i=0; i<25; i++)
{
printf("%10s %5s\n", postion[posD].getcard[i].suit, postion[posD].getcard[i].face);
}
break;
}

}

void outputLeftCard()//輸出底牌
{
int i;
for(i=0; i<8; i++)
printf("%10s %5s\n", leftCard[i].suit, leftCard[i].face);
}

int main()
{
char pos;
srand(time(NULL));
FillCard(card,suit,face);
//Shuffle(card);
Deal(card);

printf("Please choose your position(A、B、C、D):");
scanf("%c", &pos);
print(pos);//輸出你所在位置的牌
/**********下面輸出的是,除了你之外其他人的牌**********/
if(pos !='A')
{
printf("A:\n");
print('A');
}
if(pos !='B')
{
printf("B:\n");
print('B');
}
if(pos !='C')
{
printf("C:\n");
print('C');
}
if(pos !='D')
{
printf("D:\n");
print('D');
}

printf("底牌為:\n");
outputLeftCard();//輸出底牌

return 0;
}

⑦ 網址中的sid和aid以及兩者之後的東西都是什麼意思

sid就是你的密碼所編譯成的md5,sid碼就如同你的密碼。而aid好像就是論壇欄目的代碼。如灌水專區的aid=1553,就說明灌水專區的欄目id是1553.

滿意請採納

⑧ 誰能講解一下這句PHP語言是什麼意思

/plus/ad_js.php?aid=2
是一個地址

就這個<script></script>而言
/plus/ad_js.php?aid=2 是這個腳本的地址
其中 aid 是參數的名稱,2是這個參數的值。
在網站根目錄下的 plus 子目錄中,文件名為 ad_js.php。

通常腳本的地址是 *.js,但是在有些情況下也可以是一個動態的網址,只要該網址向瀏覽器輸出的是合法的 js 代碼就行了。

比方以上的這個地址的代碼是
<?php
echo('alert("hello world!")');
?>
就是一個合法的js代碼

類似的ASP/JSP都可以作為script的地址

⑨ 編程猜數字游戲

#include<stdio.h>
#include<time.h>
#include<math.h>

#define MAXTIMES 8
#define winer 1
#define loser 0

int main()
{
int aid[4],num[4],i,j,times,key,key2,A,B;
char ch;
time_t now;

Initialize:now=time(0);
srand(now);
aid[0]=(rand()+90)%10;/*生成目標數組*/
delay(20);
aid[1]=(rand()+90)%10;
delay(20);
aid[2]=(rand()+90)%10;
delay(20);
aid[3]=(rand()+90)%10;
for(i=0;i<4;i++) /*判斷是否產生相同的數字*/
{for(j=0;j<4;j++)<br/> {if((i!=j)&&(aid==aid[j]))<br/> goto Initialize;<br/> }
}
printf(" ");

times=1;
while(times<=MAXTIMES) /*程序主體部分*/
{
key=0;
key2=0;
printf("NO.%d: Please input 4 different int numbers to play! ",times);
scanf("%d,%d,%d,%d",&num[0],&num[1],&num[2],&num[3]);

for(i=0;i<4;i++) /*判斷所輸數字是否合法則*/
{
if(!((num<=9)&&(num>=0)))
{
printf(" Error!The numbers you input must be int numbers which from 0 to 9 ");
key=1;
break;
}
}
if(key==1)
continue;

for(i=0;i<4;i++) /*判斷是否輸入了相同的數字*/
{
for(j=i+1;j<4;j++)
{
if(num==num[j])
{printf(" Error!The numbers you input must be different! ");<br/>key2=1;<br/>}
break;
}
}
if(key2==1)
continue;

A=0;
B=0;

for(i=0;i<4;i++) /*比較兩組數字*/
{
if(num==aid)
A++;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(num==aid[j])
B++;
}
}
B=B-A;
printf(" A%dB%d ",A,B);

if(A==4) /*游戲成功,提示並返回*/
{
printf("Congratulations! ");
printf("Press any key to exit.! a");
getch();
return(winer);
}

⑩ assistance、aid、help的區別

help通常表示"幫助"的意思,意義非常廣泛,但是大部分可以用help的地方不可以用aid,
我們通常說I can help you ,但決不能說I can aid you ,
別人尋求你的幫助是說can you help me,而決不說 can you aid me

從英文習慣來講,aid這個詞真正的含義是"援助,支援"的意思,從字面上就可以看出,aid比較正式,當別人需要你help的時候,也許只是舉手之勞,而當別人要求aid的時候,那情況通常要重要的多,形勢也重要和嚴峻的多,通常要伴隨著比help大的多的體力,經濟等等方面的付出,所以,當我們說international aid時,就一定會伴隨著大量的人力,物力和財力的消耗...
assist要比help正式的多, 我們通常用help來表示" 通過某人的幫助,讓某事變得更容易,更簡單", 而assist通常更強調"協助"的內涵,表示提供這種"協助" 的人通常要在某一領域有某種過人的技能,所以,名詞的assistance多表示"助手"的意思希望幫到你 滿意的話 望採納

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:647
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:939
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:634
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:823
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:734
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1069
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:302
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:163
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:855
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:765