• 關于KTRPOLY-NORM32對輪ADR 的信息

    本文目錄一覽:

    用“vc”或“c++”編寫的一個小游戲代碼,源代碼是什么?

    #include\x0d\x0a#include\x0d\x0a#include\x0d\x0a#define LEFT 0x4b00\x0d\x0a#define RIGHT 0x4d00\x0d\x0a#define DOWN 0x5000\x0d\x0a#define UP 0x4800\x0d\x0a#define ESC 0x011b\x0d\x0aint i,key;\x0d\x0aint score=0;\x0d\x0aint gamespeed=32000;\x0d\x0astruct Food /*食物的結構體*/\x0d\x0a{\x0d\x0aint x; /*食物的橫坐標*/\x0d\x0aint y; /*食物的縱坐標*/\x0d\x0aint yes; /*食物是否出現的變量*/\x0d\x0a}food;\x0d\x0astruct Snack /*蛇的結構體*/\x0d\x0a{\x0d\x0aint x[N];\x0d\x0aint y[N];\x0d\x0aint node; /*蛇的節數*/\x0d\x0aint direction; /*蛇的方向*/\x0d\x0aint life; /*蛇的生命,0活著,1死亡*/\x0d\x0a}snake;\x0d\x0avoid Init(void); /*圖形驅動*/\x0d\x0avoid Close(void); /*關閉游戲函數*/\x0d\x0avoid DrawK(void); /*畫圖函數*/\x0d\x0avoid GameOver(void);/*輸出失敗函數*/\x0d\x0avoid GamePlay(); /*游戲控制函數 主要程序*/\x0d\x0avoid PrScore(void); /*分數輸出函數*/\x0d\x0a\x0d\x0aDELAY(char ch)/*調節游戲速度*/\x0d\x0a{\x0d\x0aif(ch=='3')\x0d\x0a{\x0d\x0adelay(gamespeed); /*delay是延遲函數*/\x0d\x0adelay(gamespeed);\x0d\x0a}\x0d\x0aelse if(ch=='2')\x0d\x0a{\x0d\x0adelay(gamespeed);\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0aMenu()/*游戲開始菜單*/\x0d\x0a{\x0d\x0achar ch;\x0d\x0aprintf("Please choose the gamespeed:\n");\x0d\x0aprintf("1-Fast 2-Normal 3-Slow\n");\x0d\x0aprintf("\nPlease Press The numbers..\n");\x0d\x0ado\x0d\x0a{ch=getch();}\x0d\x0awhile(ch!='1'ch!='2'ch!='3');\x0d\x0aclrscr();\x0d\x0areturn(ch);\x0d\x0a}\x0d\x0a\x0d\x0a/*主函數*/\x0d\x0avoid main(void)\x0d\x0a{\x0d\x0aint ch;\x0d\x0ach=Menu();\x0d\x0aInit();\x0d\x0aDrawK();\x0d\x0aGamePlay(ch);\x0d\x0aClose();\x0d\x0a}\x0d\x0a\x0d\x0avoid Init(void)\x0d\x0a{\x0d\x0aint gd=DETECT,gm;\x0d\x0ainitgraph(gd,gm,"c:\\tc");\x0d\x0acleardevice();\x0d\x0a}\x0d\x0a\x0d\x0avoid DrawK(void)\x0d\x0a{\x0d\x0asetcolor(11);\x0d\x0asetlinestyle(SOLID_LINE,0,THICK_WIDTH);\x0d\x0afor(i=50;i0;i--) /*貪吃蛇的移動算法*/\x0d\x0a{\x0d\x0asnake.x[i]=snake.x[i-1];\x0d\x0asnake.y[i]=snake.y[i-1]; /*貪吃蛇的身體移動算法*/\x0d\x0a}\x0d\x0a\x0d\x0aswitch(snake.direction) /*貪吃蛇的頭部移動算法,以此來控制移動*/\x0d\x0a{\x0d\x0acase 1:snake.x[0]+=10;break;\x0d\x0acase 2:snake.x[0]-=10;break;\x0d\x0acase 3:snake.y[0]-=10;break;\x0d\x0acase 4:snake.y[0]+=10;break;\x0d\x0a}\x0d\x0afor(i=3;i595||snake.y[0]455)\x0d\x0a{\x0d\x0aGameOver();\x0d\x0asnake.life=1;\x0d\x0a}\x0d\x0aif(snake.life==1) /*如果死亡就退出循環*/\x0d\x0abreak;\x0d\x0aif(snake.x[0]==food.xsnake.y[0]==food.y) /*判斷蛇是否吃到食物*/\x0d\x0a{\x0d\x0asetcolor(0);\x0d\x0arectangle(food.x,food.y,food.x+10,food.y-10); /*吃的食物后用黑色將食物擦去*/\x0d\x0asnake.x[snake.node]=-20;snake.y[snake.node]=-20; /*現把增加的一節放到看不到的地方去*/\x0d\x0a\x0d\x0asnake.node++;\x0d\x0afood.yes=1;\x0d\x0ascore+=10;\x0d\x0aPrScore();\x0d\x0a}\x0d\x0asetcolor(4); /*每次移動后將后面的身體擦去*/\x0d\x0afor(i=0;i

    回答于?2022-11-16

    求助C課程設計

    下面是一個比較完善的學生管理系統了,有簡單界面。

    已經在實際環境上編譯并運行通過。

    ==============================================================

    #includeiostream.h

    #includeiomanip.h

    #includewindows.h

    #include conio.h

    void back();//返回開始菜單

    void out();//輸出信息

    int w=1; //用于記錄學生人數,全局變量

    class Data//日期類

    {public:

    double Year,Month,Day;

    Data()

    { Year=0;Month=0;Day=0; }

    };

    class student //學生類

    {

    public:

    char name[10]; //姓名

    char sex[5]; //性別

    char jiguan[10]; //籍貫

    int num,age;//學號,年齡

    char adr[30];//住址

    Data year;

    friend class Data;//date作為student的友元 //定義一個日期類

    void operator=(student s); //=重載

    int operator == (student s);//==重載

    }stu[100];

    void main()

    {

    system("cls");//清屏 DOC調用

    system("color f4"); //顏色 同樣是調用doc

    int i;

    void comp();

    void input();

    void find();

    void alt() ;

    void del();

    void exit();

    void show();

    coutsetw(53)"歡迎進入學生管理系統!"endl;

    coutsetw(55)"1 添加學生信息 2 查詢學生信息"endlendl;

    coutsetw(55)"3 刪除學生信息 4 修改學生信息"endlendl;

    coutsetw(55)"5 比較學生信息 6 顯示學生信息"endlendl;

    coutsetw(45)"0 推出系統"endl;

    cout"請選擇:";

    cini;

    if(i6||i0)

    {

    cout"輸入有誤!"endl;

    back();

    }

    switch(i)

    {

    case 1:input();break;

    case 2:find();break;

    case 3:del();break;

    case 4:alt();break;

    case 5:comp();break;

    case 6:show();break;

    case 0:exit();break;

    default:cout"你的輸入有誤!\n";

    }

    }

    void input() //添加學生

    {

    system("color 84"); //顏色 同樣是調用doc

    system("cls");//清屏

    int n;

    cout"請輸入要添加的學生個數:\n";

    cinn;

    if(n=100||n=0)

    {cout"輸入有誤!endl";

    main(); }

    else

    {

    for(;n0;w++,n--)

    {

    cout"請輸入姓名、性別、籍貫,年齡,學號,住址:"endl;

    cinstu[w].namestu[w].sexstu[w].jiguanstu[w].age stu[w].numstu[w].adr ;

    cout"請輸入該生生日(年 月 日)"endl;

    cinstu[w].year.Year;

    cinstu[w].year.Month;

    cinstu[w].year.Day;

    }

    out();

    }

    cout"添加完畢2秒后返回"endl;

    Sleep(2000); //延時2秒

    main();

    }

    void find() //按學號查找學生

    {

    system("color f4"); //顏色 同樣是調用doc

    system("cls");

    int i,id,j=0;//j是用以記錄是否有信息被找到

    cout"請輸入你要查找學生的學號:";

    cinid;

    for(i=1;iw;i++)

    if(stu[i].num ==id)

    {

    couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Daystu[i].adrendl;

    j++;

    }

    if(j==0)

    cout"沒有你要查找的信息";

    back();

    }

    void del()//刪除指定學號學生信息

    {

    system("color f4"); //顏色 同樣是調用doc

    int i,a,y=0;

    char x;

    cout"請輸入要刪除的學生學號";

    cina;

    for(i=1;iw;i++)

    if(stu[i].num==a)

    {

    cout"該生情況:"endl;

    couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Day" "stu[i].adrendl;

    cout"是否確認刪除?(Y/N)"endl;

    cinx;

    if(x=='Y'||x=='y')

    {

    y++;

    for(;iw-1;i++)

    stu[i]=stu[i+1];

    w--;//每刪除一個對總是減少一個

    }

    }

    if(y==0)

    {

    cout"該學生不存在!"endl;

    back();

    }

    else

    {

    cout"刪除后的信息為:"endl;

    out();

    back();

    }

    }

    void alt()//修改指定學號學生

    {

    system("color f4"); //顏色 同樣是調用doc

    int id,y=0;

    char x;

    cout"請輸入要修改學生的學號:";

    cinid;

    for(int i=1;iw;i++)

    if(stu[i].num ==id)

    {

    cout"該生情況:"endl;

    couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Day" "stu[i].adrendl;

    cout"是否確認修改?(Y/N)"endl;

    cinx;

    if(x=='Y'||x=='y')

    {

    y++;

    cout"請輸入姓名、性別、籍貫,年齡,學號,住址:"endl;

    cinstu[i].namestu[i].sexstu[i].jiguanstu[i].age stu[i].numstu[i].adr ;

    cout"請輸入該生生日(年 月 日)"endl;

    cinstu[i].year.Year;

    cinstu[i].year.Month;

    cinstu[i].year.Day;

    }

    else

    {

    cout"2秒后返回"endl;

    Sleep(2000);

    main();

    }

    }

    if(y==0)

    {

    cout" 該學生不存在!";

    back();

    }

    else

    {

    cout"修改后的信息為:"endl;

    out();

    back();

    }

    }

    void student::operator =(student stu)//對=運算符重載函數的實現

    {

    num=stu.num;

    for(int i=0;i9;i++)

    name[i]=stu.name[i];

    for(i=0;i4;i++)

    sex[i]=stu.sex[i];

    age=stu.age;

    for(i=0;i9;i++)

    jiguan[i]=stu.jiguan[i] ;

    for(i=0;i29;i++)

    adr[i]=stu.adr[i] ;

    year.Year=stu.year.Year ;

    year.Month =stu.year.Month ;

    year.Day =stu.year.Day ;

    }

    int student::operator == (student stu)//對==運算符重載函數的實現

    {

    if(*name==*stu.name *sex==*stu.sex age==stu.age *jiguan==*stu.jiguan *adr==*stu.adryear.Year ==stu.year.Yearyear.Month ==stu.year.Monthyear.Day ==stu.year.Day )

    return 1;

    else

    return 0;

    }

    void comp()//學生信息對比

    {

    system("color f4"); //顏色 同樣是調用doc

    system("cls");

    int i;

    int num1,num2;

    cout"請輸入要比較的兩個同學的學號"endl;

    cinnum1num2;

    for(i=1;iw;i++)

    if(stu[i].num ==num1)

    num1=i;

    for(i=1;iw;i++)

    if(stu[i].num==num2)

    num2=i;

    if(stu[num1]==stu[num2])

    cout"這兩個學生是相同的"endl;

    else

    cout" 這兩個學生不同"endl;

    back();

    }

    void show()//顯示

    {

    out();

    back();

    }

    void exit()//退出

    {

    exit(0);

    }

    void back()//返回

    {

    cout" 按任意鍵返回!"endl;

    getch();

    main();

    }

    void out()//輸出

    {

    int i;

    cout" 姓名 性別 籍貫 年齡 學號 生日 住址"endl;

    for(i=1;iw;i++)

    couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Day" "stu[i].adrendl;

    }

    哈希查找的解決沖突

    影響哈希查找效率的一個重要因素是哈希函數本身。當兩個不同的數據元素的哈希值相同時,就會發生沖突。為減少發生沖突的可能性,哈希函數應該將數據盡可能分散地映射到哈希表的每一個表項中。解決沖突的方法有以下兩種:

    (1) 開放地址法

    如果兩個數據元素的哈希值相同,則在哈希表中為后插入的數據元素另外選擇一個表項。

    當程序查找哈希表時,如果沒有在第一個對應的哈希表項中找到符合查找要求的數據元素,程序就會繼續往后查找,直到找到一個符合查找要求的數據元素,或者遇到一個空的表項。

    (2) 鏈地址法

    將哈希值相同的數據元素存放在一個鏈表中,在查找哈希表的過程中,當查找到這個鏈表時,必須采用線性查找方法。

    例3. 6是一個簡單的哈希查找算法程序,你可以將它和本章結尾的有關代碼一起編譯連接成一個可執行程序。

    例3.6一個簡單的哈希查找算法程序

    1: #includestdlib.h

    2: #includestring.h

    3: #include list.h

    4: #include hash.h

    5:

    6: #define HASH_SIZE 1024

    7:

    8: static listnode_t *hashTable[HASH_SIZE];

    9:

    10: void insert(const char * s)

    11: {

    12: listnode_t *ele = newNode((void * ) s)

    13: unsigned int h = hash(s) % HASH_SIZE;

    14:

    15: ele-next = hashTable[h]

    16: hashTable[h] = ele;

    17: }

    18:

    19: void print (void)

    20: {

    21: int h;

    22:

    23: for (h = 0; h HASH_SIZE; h++)

    24: {

    25: listnode_t * lp = hashTalbe[h];

    26:

    27: if(lp == NULL)

    28: continue;

    29: printf([%d] , h);

    30: while (lp)

    31: {

    32: printf(\t'%s' , lp-u.str)

    33: lp = ip-next;

    34: }

    35: putchar ('\n');

    36: }

    37: }

    38:

    39: const char *search(const char *s)

    40: {

    39: unsigned int h = hash(s) % HASH_SIZE;

    42: listnode_t * lp = hashTable[h];

    43:

    44: while (lp)

    45: {

    46: if (! strcmp (s, lp-u.str))

    47: return lp-u.str;

    48: lp = lp-next;

    49: }

    50: return NULL;

    51: }

    請參見:

    3. 4 哪一種查找方法最方便?

    3.5 哪一種查找方法最快?

    3.8 怎樣查找鏈表中的數據?

    _____________________________________________

    以下是一個簡單示例:

    #includeiostream

    #includestring

    using namespace std;

    #define m 5 //人數

    #define n 10 //哈希表長度

    #define q 7 //隨機數

    struct name{

    char *py;

    int k;

    };

    name namelist[n];

    struct hash{

    char *py;

    int k;

    int s;

    };

    hash hashlist[n];

    void listname()

    {

    char *f;

    int s0,r,i;

    namelist[0].py=as;

    namelist[1].py=sa;

    namelist[2].py=d;

    namelist[3].py=f;

    namelist[4].py=g;

    for(i=0;im;i++)

    {

    s0=0;

    f=namelist[i].py;

    for(r=0;*(f+r)!='\0';r++)

    s0+=*(f+r);

    namelist[i].k=s0;

    }

    }

    void creathash()

    {

    int i;

    for(i=0;in;i++)

    {

    hashlist[i].py=;

    hashlist[i].k=0;

    hashlist[i].s=0;

    }

    for(i=0;im;i++)

    {

    int sum=0;

    int adr=(namelist[i].k)%q;

    int d=adr;

    if(hashlist[adr].s==0)

    {

    hashlist[adr].py=namelist[i].py;

    hashlist[adr].k=namelist[i].k;

    hashlist[adr].s=1;

    }

    else

    {

    while(hashlist[d].k!=0)

    {

    d=(d+namelist[i].k%5+1)%q;

    sum+=1;

    }

    hashlist[d].py=namelist[i].py;

    hashlist[d].k=namelist[i].k;

    hashlist[d].s=sum+1;

    }

    }

    }

    void find()

    {

    string nam;

    int s0=0,r,sum=1,adr,d;

    cout請輸入姓名的拼音:endl;

    cinnam;;

    for(r=0;r20;r++)

    s0+=nam[r];

    adr=s0%q;

    d=adr;

    if(hashlist[adr].k==s0)

    cout姓名:hashlist[d].py 關鍵字:s0 查找長度為: 1endl;

    else if(hashlist[adr].k==0)

    cout無此記錄!endl;

    else

    {

    int g=0;

    while(g==0)

    {

    d=(d+s0%5+1)%q;

    sum+=1;

    if(hashlist[d].k==0)

    {

    cout無此記錄!endl;

    g=1;

    }

    if(hashlist[d].k==s0)

    {

    cout姓名:hashlist[d].py 關鍵字:s0 查找長度為: 1endl;

    g=1;

    }

    }

    }

    }

    void display()

    {

    int i;

    float av=0;

    for(i=0;in;i++)

    {

    cout姓名:hashlist[i].py 關鍵字:hashlist[i].k搜索長度:hashlist[i].sendl;

    }

    for(i=0;i7;i++)

    {

    av+=hashlist[i].s;

    }

    av/=m;

    cout平均查找長度:=avendl;

    }

    int main()

    {

    char x;

    listname();

    creathash();

    coutd. 顯示哈希表 f. 查找 任意鍵退出 請選擇:endl;

    while(cinx){

    if(x=='d'){display(); coutendl;}

    else if(x=='f'){find();coutendl;}

    else break;

    }

    return 0;

    }

    弄00puts通過了本西0

    弄00puts通過了本西0

    puts是輸出函數,只有一個參數要求是字符串。

    1、函數輸入字符串時存在一個問題,就是如果輸入了空格會認為字符串結束,空格后的字符將作為下一個輸入項處理。puts()函數用來向標準輸出設備寫字符串并換行,其調用格式為puts,puts(s)等效于printf("%s\n",s)。

    2、gets()函數將接收輸入的整個字符串直到遇到換行為止。當puts遇到O時,會輸出一個\n,也就是換行,所以puts("")時,因為字符串本身長度為0,所以第一個字符就是\0,puts會輸出一個\n,所以起到了換行的效果。

    3、puts()函數用來向標準輸出設備寫字符串并換行。puts(char*p)是專門輸出字符串的函數,其參數是一個指向字符串的指針p,或者說一個串的地址。printf(char*p,s)是一個格式輸出函數,把s代表的變量或者數組字符串等按照串p所指的格式輸出。

    KTR聯軸器生產高品質傳動部件和制動器

    服務熱線

    13166059228

    13166059228

    微信客服

    微信客服

  • 妈妈的朋友电影