c語言座位系統,c語言考場排座系統代碼

本文目錄一覽:

急急急,新手C語言編寫考場座位系統,出現error C2115: ‘function’ : incompatible types,求大神。。。

問題還是不少吧,整理了一下,現在沒有錯誤了,至於邏輯需要自己梳理,仔細體會一下吧。

#includestdio.h

#includestdlib.h

#includetime.h

#includestring.h

typedef struct student

{

char ID[20];

char NAME[20];

}stu;

void set(stu stu1[][8]);

void delete1(stu stu[][8]);

void show(stu student[][8]);

void Information(stu stud[][8]);

void find(stu stu[][8], int *q, int *p);

void clean();

void main()

{

int pick,choice,x,y;

stu stu1[8][8];

for (x=0;x8;x++)

{

for (y=0; y8;y++ )

{

strcpy(stu1[x][y].ID, “*”);

strcpy(stu1[x][y].NAME, “*”);

}

}

clean();

do

{

printf(“請輸入數字:”);

scanf(“%d”,choice);

getchar();

switch(choice)

{

case 1:set(stu1);break;

case 2:delete1(stu1);break;

case 3:Information(stu1);break;

case 4:find(stu1, x, y);break;

case 5:show(stu1);break;

default: printf(“fhsak”);

}

printf(“繼續請按1,退出請按2”);

scanf(“%d”,pick);

getchar();

}while(pick==1);

}

void set(stu stu1[][8])

{

char id[16];

char name[10];

int x,y,z;

srand(time(NULL));

printf(“請輸入准考證號和姓名(中間以一個空格隔開)”);

scanf(“%s %s”,id, name);

z=rand()%64+1;

x=z/8+1;

y=z%8+1;

strcpy(stu1[x][y].ID,id);

strcpy(stu1[x][y].NAME,name);

}

void Information(stu stud[][8])

{

int x,y;

printf(“請輸入查詢的考生的座位行號:”);

scanf(“%d”,x);

printf(“請輸入查詢的考生的座位列號:”);

scanf(“%d”,y);

puts(stud[x-1][y-1].ID);

puts(stud[x-1][y-1].NAME);

}

void find(stu stu[][8], int *q, int *p)

{

char num[20];

int x,y,i=0;

printf(“請輸入需要查詢的考生的准考證號:”);

scanf(“%s”,num);

for(x=0;x8;x++)

{

for(y=0;y8;y++)

{

if(strcmp(stu[x+1][y+1].ID,num)==0)

{

printf(“該考生的考試座位號為%d行,%d列”,x,y);

*q=x+1;*p=y+1;

i++;

}

}

}

if(i==0)

printf(“不存在此准考證號”);

}

void delete1(stu stu1[][8])

{

int *p=NULL, *q=NULL;

find(stu1, p, q);

strcpy(stu1[*q][*p].ID,”*”);

strcpy(stu1[*q][*p].NAME,”*”);

}

void show(stu student[][8])

{

for(int x=1;x9;x++)

{

for(int y=1;y9;y++)

{

printf(“%s”,student[x][y].NAME);

}

}

}

void clean()

{

system(“cls”);

puts(” |—————————————-| “);

puts(” | 請輸入選項編號(1-5): | “);

puts(” |—————————————-| “);

puts(” | 1-設定考場座位 | “);

puts(” | 2-取消考場座位 | “);

puts(” | 3-顯示某座位考生信息 | “);

puts(” | 4-查找學生座位 | “);

puts(” | 5-顯示考場座次表 | “);

puts(” |—————————————-| “);

}

排考場座位問題 c語言

#include stdio.h

#include stdlib.h

#include time.h

#define ROW 8

#define COL 8

int seat[ROW*COL]={0};

void main()

{

int i,j,k,a,count=0;

while(1)

{

system(“cls”); //清屏

fflush(stdin); //清鍵盤輸入緩衝區

printf(“\n\t\t1 設定考場座位”);

printf(“\n\t\t2 取消考場座位”);

printf(“\n\t\t3 顯示某座位考生信息”);

printf(“\n\t\t4 查找學生座位\n\t\t\t退出程序:Ctrl+C\n\n\t請選擇:”);

k = getchar();

if(k’1’||k’4′) continue;//無效的選擇直接忽略

fflush(stdin);

switch (k)

{

case ‘1’:

if(count+1 = ROW*COL){printf(“報歉,坐位已滿!”);break;}

printf(“輸入准考證號:”);

scanf(“%d”,k);

for(a=0; aROW*COL; a++) if(seat[a] == k) break;//遍歷

if(aROW*COL)

{

printf(“考生%d已經在坐位:%d排%d坐\n”,k,a/COL+1,a%COL+1);

break;

}

srand((int)time(NULL));

a = rand()%(ROW*COL);

while(seat[a]!=0) a=(a+1)%(ROW*COL);//搜索到一個空坐位

seat[a] = k;//放上准考證號

printf(“安排在坐位:%d排%d坐\n”,a/COL+1,a%COL+1);

break;

case ‘2’:

printf(“輸入准考證號:”);

scanf(“%d”,k);

for(a=0; aROW*COL; a++) if(seat[a] == k) break;//遍歷

if(aROW*COL)

{

seat[a]=0;

printf(“取消了考生%d的坐位:%d排%d坐\n”,k,a/COL+1,a%COL+1);

}else{

printf(“考生%d不在本考場\n”,k);

}

break;

case ‘3’:

printf(“輸入坐位幾排幾坐:”);

scanf(“%d %d”,i,j);

if(i1||iROW||j1||jCOL) printf(“沒有該坐位:%d排%d坐!”);

else

{

k = seat[(i-1)*COL+j-1];

if(k==0) printf(“%d排%d坐未安排考生!”);

else printf(“%d排%d坐考生准考證號:%d”,i,j,k);

}

break;

case ‘4’:

printf(“輸入准考證號:”);

scanf(“%d”,k);

for(a=0; aROW*COL; a++) if(seat[a] == k) break;//遍歷

if(aROW*COL)

{

printf(“考生%d的坐位:%d排%d坐\n”,k,a/COL+1,a%COL+1);

}else{

printf(“考生%d不在本考場\n”,k);

}

break;

}

fflush(stdin);printf(“\n回車繼續……”);

getchar();

}

}

c語言編寫~~~機票座位預訂系統

#include stdio.h

#include string.h

#include conio.h

#include ctype.h

#include stdlib.h

#include malloc.h

#include math.h//overflow

#define ok 1

typedef struct Yidingkehu

{//單鏈表

char name[15];//已訂票的客戶姓名

int dingpiaoshu;//已訂票數量

struct Yidingkehu *next1;//

}Yidingkehu,*Link;

typedef struct Weidingkehu

{//單鏈隊

char name[15];//預訂票的客戶姓名

int yudingpiao;// 要訂票數量

struct Weidingkehu *next2;//下一個鏈隊結點指針

}Weidingkehu,*Qptr;

typedef struct Hangxian

{//創建一個含有六個信息的結構體

char hangbanhao[15];//航班號-

char feijihao[15];//飛機號

int feixingriqi;//起飛時間

int chenkerenshu;//座位數

int yupiao;//余票

char zhongdianzhai[15];//降落城市

struct Hangxian *next;//指向下一個鏈結點的指針

struct Yidingkehu *yiding;//定義一個指向已訂票客戶的頭結點指針

struct Weidingkehu *yudingqueue;

}Hangxian,*Linklist;

Linklist InitLinklist();//01

int InsertLinklist(Linklist head1);//02

void hbhchaxun();//通過航班號查詢

void mddchaxun();//通過目的地查詢

void lurugongneng();//初始化錄入功能

void chaxungongnen();//查詢功能

void dingpiaogongnen();//訂票功能

void tuipiaogongnen();//退票功能

void main()

{

int n;

do{ //列印主界面

printf(“\t 歡迎使用航空客運訂票系統\n”);

printf(“\t+++++++++++++++++++++++++++++\n”);

printf(“\t==1. 錄入功能 ==\n”);

printf(“\t==2. 查詢功能 ==\n”);

printf(“\t==3. 訂票功能 ==\n”);

printf(“\t==4. 退票功能 ==\n”);

printf(“\t==5. 退出 ==\n”);

printf(“\t+++++++++++++++++++++++++++++\n”);

printf(“\t請選擇:”);

scanf(“%d”,n);printf(“\n”);

switch(n)

{

case 1: lurugongneng();//錄入功能

break;

case 2: chaxungongnen();//查詢功能

break;

case 3: dingpiaogongnen();//訂票功能

break;

case 4:tuipiaogongnen();//退票功能

break;

default :exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

void lurugongneng()//初始化的單鏈表*********************************************************錄入功能

{

Linklist p;

//int m,n;

if(!p) exit(OVERFLOW);

printf(“\t請依次輸入下面幾項內容:\n\n”);//這裡的輸入採用一個個單獨輸入,避免了亂賦值的現象

printf(“航班號\n”);

gets(p-hangbanhao);//這裡的二個gets主要是因為在回車鍵的輸入,其中的第一個是來接收上次的回車

gets(p-hangbanhao);

printf(“飛機號\n”);

gets(p-feijihao);

printf(“終點站\n”);

gets(p-zhongdianzhai);

printf(“飛行日期\n”);

scanf(“%d”,p-feixingriqi);

printf(“乘客總數\n”);

scanf(“%d”,p-chenkerenshu);

printf(“余票數\n”);

scanf(“%d”,p-yupiao);

}

void chaxungongnen()//******************************************************************查詢功能

{

int n;

printf(“\t 查 找 航 線 信 息 \n”);

printf(“\t+++++++++++++++++++++++++++++\n”);

printf(“\t==1. 通過目的地查詢 ==\n”);

printf(“\t==2. 通過航班號查詢 ==\n”);

printf(“\t+++++++++++++++++++++++++++++\n”);

printf(“\t請選擇:”);

scanf(“%d”,n);

printf(“\n”);//格式化

switch(n)

{

case 1:mddchaxun();

break;

case 2:hbhchaxun();

break;

default :break;

}

}

void mddchaxun()//通過目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf(“\t請輸入要查詢的目的地:”);

gets(c);

gets(c);//原因同上

do{

p=p-next;

if(p)

{

m=strcmpi((*p).zhongdianzhai,c);//如果==的話則m=0;

if(m==0)

{

printf(“\t航班信息:\n”);

printf(“\t航班號:%s\n”,p-hangbanhao);

printf(“\t飛機號:%s\n”,p-feijihao);

printf(“\t飛行時間:周%d\n”,p-feixingriqi);

printf(“\t余票量:%d\n”,p-yupiao);

}

}

else

{//如果不匹配的話就做

printf(“\t對不起沒有你要找的目的地:\n\n”); m=0;

}

}while(m!=0);

}

void hbhchaxun()//通過目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf(“\t請輸入要查詢的航班號:”);

gets(c); gets(c);printf(“\n”);

do{

p=p-next;

if(p)

{

m=strcmpi((*p).hangbanhao,c);//如果==的話則m=0;這裡的(*p).與p-的作用是一樣的

if(m==0)

{

printf(“\t航班信息:\n”);

printf(“\t航班號:%s\n”,p-hangbanhao);

printf(“\t飛機號:%s\n”,p-feijihao);

printf(“\t飛行時間:周%d\n”,p-feixingriqi);

printf(“\t余票量:%d\n\n”,p-yupiao);

}

}

else

{//如果不匹配的話就做

printf(“\t對不起沒有你要找的航班號:\n”); m=0;

}

}while(m!=0);

}

void dingpiaogongnen()//***************************************************************訂票功能

{

char c[15];

int m=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf(“請輸入終點站名:”); gets(c); printf(“\n”);

p=L-next;

if(p) {

do{//查找一下,是否有這個航班

if(!p)

{

printf(“對不起,沒有你要找的航班:\n\n”);

goto loop1;

}

m=strcmpi(p-zhongdianzhai,c);

if(m==0)

{

printf(“航班信息:\n”);

printf(“航班號:%s\n”,p-hangbanhao);

printf(“飛機號:%s\n”,p-feijihao);

printf(“飛行時間:周%d\n”,p-feixingriqi);

printf(“余票量:%d\n”,p-yupiao);}

else p=p-next;

}while(m!=0);

if(m==0)

{

do{

printf(“\n請輸入你要訂的票數:”); scanf(“%d”,piao);

if(piao=p-yupiao)

{

h=p-yiding;

if(h)

{

h1=h;

h=h-next1;

h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));

printf(“請輸入你的名字:”);

gets(h-name);gets(h-name);

h-dingpiaoshu=piao;

h-next1=h1-next1;

h1-next1=h;

p-yupiao=p-yupiao-piao;

printf(“訂票成功:\n”); m=2;

}

}

else

{

printf(“余票量:%d\n”,p-yupiao);

printf(“對不起,余票 %d 張不足,不能完成訂票\n\n”,p-yupiao);

printf(” 是否要重新訂票?\n”);

printf(“需要請輸入1 否則請按2 預訂請輸入3 : “);

scanf(“%d”,m);

printf(“\n”);

if(m==3) goto loop3;

}

}while(m==1);

}

}

else if(!p)

{

loop3: struct Weidingkehu *q3;

printf(“對不起,該航班的票已售完\n”);

q.front=p-yudingqueue;

if(q.front==q.rear) printf(“沒有人預訂票,是否要預訂?\n”);

else if(q.front!=q.rear) printf(“已有人預訂票,是否要預訂?\n”);

printf(“預訂請輸入1 否則輸入2 : “);

scanf(“%d”,n);

printf(“\n”);

if(n==1)

{

printf(“請輸入你的姓名”); gets(q3-name); gets(q3-name);//q3不能指向name???

printf(“請輸入訂票數”); scanf(“%d”,q3-yudingpiao);

q3-next2=NULL;

q.rear-next2=q3;

q.rear=q3;

printf(” 你已經預訂了 !\n”);

}

}

loop1:;

}

void tuipiaogongnen()//***************************************************************退票功能

{

}

///////////以下是人家的要求//////////

1、本系統採用一個包含N個數據的結構體數組,每個數據的結構應當包括:起飛地、目的地 航班號、座次號碼、座次訂出與否標記、訂座者的姓名和訂座者的身份證號碼。

2、本系統顯示這樣的菜單:

(1) 輸入航班信息

(2) 輸出航班信息

(3) 查找航班信息

a.顯示空座的數量

b.顯示空座的信息

c.顯示已訂座的信息

d.起飛時間

(4)訂票預約

(5)刪除定票預約

(6)退出系統

1、 本系統成功執行菜單的每個信息,選項4)和5)將要求額外的輸入,並且它們都允許用戶收回其輸入。

2、 查找航班信息既可按線路查,也可按目的地查。

4、在兩次運行之間,數據被保存於一個文件里,當本程序重新開

始的時候,它首先從該文件讀入數據

c語言 排座位

1,建立鏈表元素{姓名,身高,比之矮的指針,比之高的指針}

2,讀文件第一條記錄,創建第一個元素,並用一個指針指向這個元素。

3,讀取文件,讀一條記錄創建一個元素;

4,把這條記錄插入指針指向的鏈表,並實現排序:新的元素與鏈表的當前元素比較,如果小於鏈表的當前元素,則繼續向小的方向查找,直到找到更小的元素或者鏈表到頭,反之大於鏈表的當前元素,向大的方向查找,直到找到更大的元素或者鏈表到頭。對於相等的情況,可以視為小的情況,也可視為大的情況。

5,重複3和4,直到文件結束

6,開始了,可以列印一條說明,這個位置是靠前的位置

7,把指針移向最小的元素;

8,做一個循環,每一次循環中,先輸出兩個姓名,輸出一個過道,再輸出三個姓名,輸出一個過道,最後輸出兩個姓名,換行。

9,反覆循環7,注意每輸出一個姓名就要是指針指向更大的元素,直到最有一個元素輸出後,退出循環

10,結束了,可以列印一條說明,這個位置是靠後的位置

C語言編程:寫一個訂座程序,默認共有12個座位

#include stdio.h

#include stdlib.h

#include string.h

#define SEAT_NUM 12

/* 定義菜單選項 */

typedef enum FUNC_SELECT {

FUNC_A,

    FUNC_B,

    FUNC_C,

    FUNC_D,

    FUNC_INVALID

}FUNC_SELECT;

/* 定義座位結構體 */

typedef struct SEAT_INFO {

    int num;

    int assignment;

    char customer[200];

}SEAT_INFO;

SEAT_INFO seatInfo[SEAT_NUM];

/* 顯示菜單項並獲取用戶輸入 */

FUNC_SELECT showmenu()

{

    char c;

    FUNC_SELECT func;

    do 

    {

      printf(“To choose a function,enter its letter label:\n”);

      printf(“a.Show all seats\n”);

      printf(“b.Assign a customer to a seat assignment\n”);

      printf(“c.Delete a seat assignment\n”);

      printf(“d.Quit\n”);

      c = getchar();

      getchar();  // skip the enter key

      printf(“\n”);

      switch (c)

      {

        case ‘a’ :

        case ‘A’ :

            func = FUNC_A;

            break;

        case ‘b’ :

        case ‘B’ :

            func = FUNC_B;

            break;

        case ‘c’ :

        case ‘C’ :

            func = FUNC_C;

            break;

        case ‘d’ :

        case ‘D’ :

            func = FUNC_D;

            break;

        default:

            printf(“Invalid input!\n”);

            func = FUNC_INVALID;

            break;

      }

    }while (func == FUNC_INVALID);

    return func;

}

void func_a()

{

    int i;

    printf(“Show all seats:\n”);

    printf(“%10s%20s%20s\n”, “Num”, “Assignment”, “Customer”);

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

    {

        printf(“%10d%20d%20s\n”, seatInfo[i].num, seatInfo[i].assignment, seatInfo[i].customer);

    }

}

int get_seat(int assignment)

{

    int num;

    char tmpstr[200];

    int flag = 0;

    int i;

    do

    {

        flag = 0;

        printf(“Please input Seat Num:\n”);

        fgets(tmpstr, 200, stdin);

        if (strlen(tmpstr)  10)

        {

            flag = 0;

            printf(“Invalid input!\n”);

            continue;

        }

        else

        {

            flag = 1;

            num = atoi(tmpstr);

        }

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

        {

            if (seatInfo[i].num == num)

            {

                flag = 1;

                if (seatInfo[i].assignment != assignment)

                    flag = 2;

                break;

            }

        }

        if (flag == 0)

        {

            printf(“Seat num invalid!\n”);

        }

        else if (flag == 2)

        {

            if (assignment == 0)

                printf(“Seat already assigned!\n”);

            else

                printf(“Seat not assigned!\n”);

        }

        

    } while (flag != 1);

    return i;

}

void get_customer(char *customer)

{

    char tmpstr[200];

    int flag = 0;

    do

    {

        printf(“Please input customer:\n”);

        fgets(tmpstr, 200, stdin);

        if (strlen(tmpstr)  100)

        {

            flag = 0;

            printf(“customer name too long!\n”);

        }

        else

        {

            flag = 1;

            strcpy(customer, tmpstr);

            customer[strlen(tmpstr)-1] = 0;

        }

    } while (flag == 0);

}

void func_b()

{

    int num;

    char customer[200];

    printf(“Assign a customer to a seat assignment\n”);

    num = get_seat(0);

    get_customer(customer);

    seatInfo[num].assignment = 1;

    strcpy(seatInfo[num].customer, customer);

}

void func_c()

{

    int num;

    printf(“Delete a seat assignment\n”);

    num = get_seat(1);

    seatInfo[num].assignment = 0;

    strcpy(seatInfo[num].customer, “”);

}

main()

{

    int i;

    FUNC_SELECT m;

    /* 初始化座位結構體 */

    memset(seatInfo, 0, sizeof(seatInfo));

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

    {

        seatInfo[i].num = i+1;

    }

    do

    {

        m = showmenu();

        switch (m)

        {

            case FUNC_A:

                func_a();

                break;

            case FUNC_B:

                func_b();

                break;

            case FUNC_C:

                func_c();

                break;

            default:

                break;

        }

    } while (m != FUNC_D);

    printf(“Quit!\n”);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/235897.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:57
下一篇 2024-12-12 11:57

相關推薦

  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • 如何在樹莓派上安裝Windows 7系統?

    隨著樹莓派的普及,許多用戶想在樹莓派上安裝Windows 7操作系統。 一、準備工作 在開始之前,需要準備以下材料: 1.樹莓派4B一台; 2.一張8GB以上的SD卡; 3.下載並…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • 分銷系統開發搭建

    本文主要介紹如何搭建一套完整的分銷系統,從需求分析、技術選型、開發、部署等方面進行說明。 一、需求分析 在進行分銷系統的開發之前,我們首先需要對系統進行需求分析。一般來說,分銷系統…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28

發表回復

登錄後才能評論