當前位置:首頁 » 編程語言 » c語言餐館點菜系統
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言餐館點菜系統

發布時間: 2022-06-30 14:58:17

c語言編寫麥當勞點餐系統

#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #define SERVPORT 3333 #define MAXDATASIZE 100 /*每次最大數據傳輸量 */ int main(int argc, char *argv[]) { int sockfd, recvbytes; char buf[MAXDATASIZE]; struct hostent *host; struct sockaddr_in serv_addr; if (argc < 2) { fprintf(stderr,"Please enter the server's hostname!\ "); exit(1); } if ((host=gethostbyname(argv[1]))==NULL) { perror("gethostbyname出錯!"); exit(1); } if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("socket創建出錯!"); exit(1); } //初始化客戶端 serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(SERVPORT); serv_addr.sin_addr = *((struct in_addr *)host->h_addr); bzero(&(serv_addr.sin_zero),8); //connect if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr)) == -1) { perror("connect error!"); exit(1); } //recv if ((recvbytes=recv(sockfd, buf, MAXDATASIZE, 0)) ==-1) { perror("recv出錯!"); exit(1); } buf[recvbytes] = '\\0'; printf("Received: %s",buf); close(sockfd); return 0; } 客戶端#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/wait.h> #define SERVPORT 3333 /*伺服器監聽埠號 */ #define BACKLOG 10 /* 最大同時連接請求數 */ int main() { int sockfd,client_fd,sin_size; /*sock_fd:監聽socket;client_fd:數據傳輸socket */ struct sockaddr_in my_addr; /* 本機地址信息 */ struct sockaddr_in remote_addr; /* 客戶端地址信息 */ //創建一個套接字,PF_INET,流式, if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("socket"); exit(1); } //初始化服務端 my_addr.sin_family=AF_INET; my_addr.sin_port=htons(SERVPORT); my_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(my_addr.sin_zero),8); //將套接字地址與所創建的套接字型大小聯系起來 if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1) { perror("bind"); exit(1); } //願意接收連接 if (listen(sockfd, BACKLOG) == -1) { perror("listen"); exit(1); } while(1) { sin_size = sizeof(struct sockaddr_in); if ((client_fd = accept(sockfd, (struct sockaddr *)&remote_addr, &sin_size)) == -1) { perror("accept"); continue; } printf("received a connection from %s\ ", inet_ntoa(remote_addr.sin_addr)); if (!fork()) { /* 子進程代碼段 */ if (send(client_fd, "Hello, you are connected!\ ", 26, 0) == -1) perror("send"); close(client_fd); exit(0); } close(client_fd); } return 0; } 服務端 內容自己加

⑵ C語言實習,餐廳點菜系統程序代碼!

#include<stdio.h>
#include<stdlib.h>
#defineROW12
#defineCOL12
#defineROW2COL1
#defineCOL24
intmain(void)
{
intarr1[ROW1][COL1]=
{
{1,2},
{3,4}
},
arr2[ROW2][COL2]=
{
{1,2,1,2},
{1,2,1,2}
},
arr3[ROW2][COL2],i,j,k;
for(i=0;i<ROW1;i++)
{
for(j=0;j<COL2;j++)
{
arr3[i][j]=0;
for(k=0;k<ROW2;k++)
{
arr3[i][j]+=arr1[i][k]*arr2[k][j];
}
}
}
for(i=0;i<ROW2;i++)
{
for(j=0;j<COL2;j++)
{
printf("%-3d",arr3[i][j]);
}
printf(" ");
}
system("pause");
return(0);
}

⑶ 怎樣用c語言編寫餐館管理系統

#include <stdio.h>
void main()
{
int i,j,k;
int score[10];
for(i=0;i<10;i++) //用戶輸入評分
{
printf("請第%d位評估員評分:",i+1);
scanf("%d",&score[i]);
}
printf("\n\n編號\t等級\t級別\n"); //列印出表頭
for(i=0;i<10;i++)
{ //外循環做列印評分員的編號
printf("%d\t%d\t",i+1,score[i]);
for(j=0;j<score[i];j++)
{ //內循環做列印*
printf("*");
}
printf("\n");//做完後換行
}
}
//數據太大,FOR循環我只用10,自己修改為40
//還有,上面那個,你每次列印完*都換一次行,做不了樓主的效果
//應該有一個數據統計,平均成績,那就開多個變數遞加score[i]
//再除以數量,就OK
//最後請加我分!!

⑷ 用C語言為學校食堂做一個點菜系統,當用戶選擇自己喜歡的菜,所消費的錢就能顯示出來。 菜譜封面如下:

#include <stdio.h>
void main()
{
int a[4],i,j,m;
char t;
printf(」********************************* \n1.紅燒肉5.0元2.炸雞翅3.0元\n3.炒芹菜2.0元4.五香蛋1.0元\n5.退出\n********************************\n\n」);
printf(「請輸入您點的菜\n」);
for(i=0;i<=3;i++)
{ scanf(「%d」,&a[i]);j=i;
if(i<=2)
{ printf(「是否繼續點菜\n回復Y OR N\n」);
scanf(「%c」,&t);
if(t==Y)
continue;
else if(t==N){j=i;break;}
else {printf(「error,自動結算\n」);j=i;break;}}
}
for(i=0,m=0;i<=j;i++)
m=m+a[i];
printf(「總金額%d\n」,m);
}
//手機編寫,錯誤難免,問題不大,多多包含

⑸ C語言點餐系統。新手適用

這有個自助飲料機的程序,你參考一下吧,都是相似的,改一下裡面的字就行

⑹ c語言點菜系統!運行不了,幫忙修改一下~

只是幫你做到可以運行了,不過還有很多的錯誤,貌似還缺少一些功能,還有問題可以追問

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct
{
int deskID;
int isUsed; //是否已經有人坐下
}desks[4]; //4張餐桌

struct
{
int numbers;
char* caiName;
float money;
}
caishi[5]={{1,"檸樂",10},//菜單
{2,"煲仔飯",30},
{3,"荷包蛋",20},
{4,"炒牛河",20},
{5,"炒麵",15}};

void cls()//清屏指令
{
system("cls");
}

void pressAnyKey()//重來
{
printf("\r\n按任意鍵繼續...");
getch();
cls();
}

void viewDesk()//查看餐桌狀態
{
int i;
cls();
printf("餐桌號\t狀態\r\n");
for(i=0;i<4;i++)
{
printf("%d\t%s \r\n",desks[i].deskID,desks[i].isUsed);//-----------------------------------去掉==1?
}
printf("\r\n\r\n");
}

void noThisOrder()//輸入錯誤!
{
cls();
printf("輸入錯誤");
pressAnyKey();
}

void changeDesk() //輸入ID改變座位狀態
{
int i,deskID;
cls();
viewDesk();
printf("請輸入你要改變的座位:");
scanf("%d",&deskID);
for(i=0;i<4;i++)
{
if(desks[i].deskID == deskID)
desks[i].isUsed =! desks[i].isUsed;
}
viewDesk();
}

void viewList() //查看菜單
{
int i;//--------------------------------------------------------------補回int
cls();
printf("菜號\t菜名\t價錢\r\n");
for(i=0;i<5;i++)//----------------------------------------------------多了int,這里不是C++
{
printf("%d\t%s\t%.1f\r\n",caishi[i].numbers,caishi[i].caiName,caishi[i].money);
}
pressAnyKey();
}

float addOrder() //點菜
{
int a=0;//------------------------------------------------------------------初始化
float z;
printf("請輸入所要下單的菜號");//-------------------------------------------去了這里的一對大括弧
while(a!=0)//---------------------------------------------------------------應該是!=
{
scanf("%d",&a);
if (a>=0&&a<=5){
switch (a)
{
case 1:printf("1:檸樂 ¥%d\n",caishi[a].money);break;
case 2:printf("2:煲仔飯 ¥%d\n",caishi[a].money);break;
case 3:printf("3:荷包蛋 ¥%d\n",caishi[a].money);break;
case 4:printf("4:炒牛河 ¥%d\n",caishi[a].money);break;
case 5:printf("5:炒麵¥%d\n",caishi[a].money);break;
case 0:printf("0:不點了!\n");break;
}
z=z+caishi[a].money;}//----------------------------------------------下面的大括弧應該移到這里
else printf("請繼續輸入上一個菜號");//-------------------------------少了分號;,顯示的提示也改了一下

}
return(z);//--------------------------------------------------------------這條應該放在這里的
}

void main()
{
int i;
float z;
for(i=0;i<4;i++)
{
desks[i].deskID = i + 1;
desks[i].isUsed = 0;
}
while(1)
{

printf("--------- 操作菜單 ---------\r\n");
printf(" 提示:請用數字鍵選擇操作 \r\n");
printf("----------------------------\r\n");
printf("1.顯示座位狀態\r\n");
printf("2.改變座位狀態\r\n");
printf("3.瀏覽菜牌\r\n");
printf("4.點菜\r\n");
printf("5.結賬\r\n\r\n");
printf("歡迎使用餐飲系統\r\n\r\n");
printf("請輸入相應的命令:");
switch(getch())
{
case '1':viewDesk();break;
case '2':changeDesk();break;
case '3':viewList();break;
case '4':z=addOrder();
case '5':printf("總額:%d",z);
default:noThisOrder();break;
}
}
}

⑺ C語言編寫點菜系統

簡單的點菜系統,可供學習:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define SERVPORT 3333
#define MAXDATASIZE 100 /*每次最大數據傳輸量 */

int main(int argc, char *argv[])
{
int sockfd, recvbytes;
char buf[MAXDATASIZE];
struct hostent *host;
struct sockaddr_in serv_addr;
if (argc < 2)
{ fprintf(stderr,"Please enter the server's hostname!\
"); exit(1); }

if ((host=gethostbyname(argv[1]))==NULL)
{ perror("gethostbyname出錯!"); exit(1); }

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{ perror("socket創建出錯!"); exit(1); }
//初始化客戶端
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(SERVPORT);
serv_addr.sin_addr = *((struct in_addr *)host->h_addr);
bzero(&(serv_addr.sin_zero),8);
//connect
if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr)) == -1)
{ perror("connect error!"); exit(1); }
//recv
if ((recvbytes=recv(sockfd, buf, MAXDATASIZE, 0)) ==-1)
{ perror("recv出錯!"); exit(1); }

buf[recvbytes] = '\\0';
printf("Received: %s",buf);
close(sockfd);
return 0;
}
客戶端#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#define SERVPORT 3333 /*伺服器監聽埠號 */
#define BACKLOG 10 /* 最大同時連接請求數 */

int main()
{
int sockfd,client_fd,sin_size; /*sock_fd:監聽socket;client_fd:數據傳輸socket */
struct sockaddr_in my_addr; /* 本機地址信息 */
struct sockaddr_in remote_addr; /* 客戶端地址信息 */
//創建一個套接字,PF_INET,流式,
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{ perror("socket"); exit(1); }
//初始化服務端
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(SERVPORT);
my_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(my_addr.sin_zero),8);
//將套接字地址與所創建的套接字型大小聯系起來
if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)
{ perror("bind"); exit(1); }
//願意接收連接
if (listen(sockfd, BACKLOG) == -1)
{ perror("listen"); exit(1); }

while(1)
{
sin_size = sizeof(struct sockaddr_in);
if ((client_fd = accept(sockfd, (struct sockaddr *)&remote_addr, &sin_size)) == -1)
{ perror("accept"); continue; }

printf("received a connection from %s\
", inet_ntoa(remote_addr.sin_addr));

if (!fork()) { /* 子進程代碼段 */

if (send(client_fd, "Hello, you are connected!\
", 26, 0) == -1)

perror("send"); close(client_fd); exit(0); }
close(client_fd); }
return 0;
}

⑻ 求一個餐館點菜系統的代碼、要C語言的、

依靠Baihi聯系
有時間能處理你的題目
我們可以根據本要求提供一份相當於學生水平的程序

6 | ES:\\
5 | 交易提醒:預付定金有風險
7 |
1 | 北京易軟個人軟體
5 | 全職軟體開發團隊
6 | 十年信譽鑄成品質
1 | 速度專業積累效率
5 | 開發信息管理系統更有優惠

⑼ 用c語言做一個點菜系統。

你好!
可以按照你的課題要求完成,程序什麼時間要呢

⑽ c語言點菜系統

// 下面是前期的點餐系統的基礎數據維護,其它功能你可以自己嘗試寫,如果遇到什麼問題可以提出來追問喔,相信你可以解決的(我怕代碼太多提交會受字數限制)。

//mm.h頭文件
#include<stdio.h>
#include<stdlib.h>
#defineMENU_NUM_MAX100//假設有100種菜式
#defineLENsizeof(structMenuInfo)
structMenuInfo
{
intID;
charMenuName[20];
floatprice;
}Menu[MENU_NUM_MAX];

/*基礎數據維護*/
voidAddMenu()
{
FILE*fp;
intmenu_num;

printf(" 你要添加多少種菜?:");
scanf("%d",&menu_num);
for(inti=0;i<menu_num;i++)
{
printf(" ");//addedthisline
printf(" 請輸入ID:");
scanf("%d",&Menu[i].ID);
printf(" 請輸入菜名:");
scanf("%s",Menu[i].MenuName);
printf(" 請輸入[%s]菜的價格:",Menu[i].MenuName);
Menu[i].price=0.0f;//initialfloatprice
scanf("%f",&Menu[i].price);
fflush(stdin);
}

if((fp=fopen("MenuInfo.dat","ab"))==NULL)//openbinaryfile
{
printf("Can'topenfile ");
exit(1);
}
for(intj=0;j<menu_num;j++)
{
if(fwrite(&Menu[j],LEN,1,fp)!=1)//writingdatatobinaryfile
printf("Errorwritingfile. ");
}
fclose(fp);//closefilepoint
}

voidDisplayMenuInfo()
{
FILE*fp;
printf(" ID菜名 價格 ");//columnheadings
if((fp=fopen("MenuInfo.dat","rb"))==NULL)//openbinaryfile
{
printf("Can'topenfile ");
exit(1);
}

inti=0;
do
{
fseek(fp,i*LEN,SEEK_SET);//movefileheadlocation
if(fread(&Menu[i],LEN,1,fp))//
{
printf(" %d%5s %5.1f元 ",Menu[i].ID,Menu[i].MenuName,Menu[i].price);
i++;
}
}while(!feof(fp));

fclose(fp);
}
voidDeleteToMenu()
{
FILE*fp;
intMenuID;
inttodelete=-1;
inti=0;
printf("請輸入要刪除的菜名的ID:");
scanf("%d",&MenuID);

/**/
if((fp=fopen("MenuInfo.dat","rb"))==NULL)//openbinaryfile
{
printf("Can'topenfile ");
exit(1);
}

do
{
fseek(fp,i*LEN,SEEK_SET);//movefileheadlocation
if(fread(&Menu[i],LEN,1,fp))
{
if(Menu[i].ID==MenuID)todelete=i;
i++;
}
}while(!feof(fp));
fclose(fp);

if(todelete==-1)
{
printf("AmenuwiththatIDdoesn'texist ");
}
else
{
/**/
if((fp=fopen("MenuInfo.dat","wb"))==NULL)//openbinaryfile
{
printf("Can'topenfile ");
exit(1);
}

for(intj=0;j<i;j++)
{
if(j==todelete)continue;/*skiprecordtobedeleted*/
if(fwrite(&Menu[j],LEN,1,fp)!=1)//writingdatatobinaryfile
printf("Errorwritingfile. ");
}
fclose(fp);//closefilepoint
}
}
voidFindMenu()
{
FILE*fp;
intMenuID;
boolfind_mark=false;
printf(" 請輸入你要查找的菜名ID:");
scanf("%d",&MenuID);

printf(" ID菜名 價格 ");//columnheadings
if((fp=fopen("MenuInfo.dat","rb"))==NULL)//openbinaryfile
{
printf("Can'topenfile ");
exit(1);
}

inti=0;
do
{
fseek(fp,i*LEN,SEEK_SET);//movefileheadlocation
fread(&Menu[i],LEN,1,fp);//
if(Menu[i].ID==MenuID)
{
printf(" %d%5s %5.1f元 ",Menu[i].ID,Menu[i].MenuName,Menu[i].price);
find_mark=true;
break;
}

i++;
}while(!feof(fp));

if(!find_mark)printf(" 尊敬的客戶:我們餐廳沒有你要點的菜喔,你可以試試我們的招牌菜啊^-^. ");

fclose(fp);
}
/*基礎數據維護完畢*/
//sc.cpp主文件
#include<stdio.h>
#include<stdlib.h>
#include"mm.h"
voidmain(void)
{
//AddMenu();
//DisplayMenuInfo();
//FindMenu();
}