最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)餐飲管理與點餐系統(tǒng)

 更新時間:2022年06月16日 10:00:54   作者:子奕°  
這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)餐飲管理與點餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)餐飲管理與點餐系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一、項目簡介

1、本程序?qū)崿F(xiàn)了用戶的點餐功能,共包含五類菜品:涼菜、熱菜、鍋仔、主食、飲品。還有查看所點菜品與結(jié)束等功能。
2、后臺管理員:按a可進(jìn)入,主頁面并未提示。
3、合理運用getch函數(shù),清屏與暫停函數(shù),頁面整潔清爽。
4、菜品與txt文件對應(yīng),可實現(xiàn)對程序與txt的同步增刪改查等功能。
5、使用了C語言很多基礎(chǔ)語法:函數(shù)、指針、結(jié)構(gòu)體、文件等。

二、程序說明

程序運行后在主頁面按a進(jìn)入后臺管理頁面,給相應(yīng)的菜品信息添加菜品,這些信息會自動保存到txt中,下次打開的時候也會自動讀取,做好菜品信息的創(chuàng)建工作就可以回到主頁面進(jìn)行相應(yīng)的用戶點餐操作。

三、功能演示

四、思維導(dǎo)圖

五、程序代碼

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

/*宏定義區(qū)*/
#define max_str 30 //最大字符串長度
#define max_num 30 //最大菜品數(shù)量
#define max_all 100 //今日售賣總計最大值

/*定義菜品結(jié)構(gòu)體*/
struct dishes
{
 char name[max_str];
 int price;
};

/*定義全局變量*/
struct dishes list1[max_num]; //存放涼菜菜品信息
int num1=0; //存放涼菜菜品數(shù)量
int *p1=&num1;
struct dishes list2[max_num]; //存放熱菜菜品信息
int num2=0; //存放熱菜菜品數(shù)量
int *p2=&num2;
struct dishes list3[max_num]; //存放鍋仔菜品信息
int num3=0; //存放鍋仔菜品數(shù)量
int *p3=&num3;
struct dishes list4[max_num]; //存放主食菜品信息
int num4=0; //存放主食菜品數(shù)量
int *p4=&num4;
struct dishes list5[max_num]; //存放飲品菜品信息
int num5=0; //存放飲品菜品數(shù)量
int *p5=&num5;
struct dishes list6[max_num]; //存放顧客點餐菜品信息
int num6=0; //存放顧客點餐菜品數(shù)量
int *p6=&num6;
struct dishes list7[max_all]; //存放今日所點總菜品信息
int num7=0; //存放今日所點總菜品數(shù)量
int *p7=&num7;

/*全局聲明*/
/*菜單的輸出*/
//一級主菜單
char menu_m1();
// 管理員一級菜單
char menu_a1();
// 管理員二級菜單:添加或刪除菜品的提示
char menu_a2();
//輸出菜單1(包括提示輸入語句)
void output_1(struct dishes list[],int num);
//輸出菜品信息2(不含有提示輸入語句)
void output_2(struct dishes list[],int num);

/*函數(shù)*/
//創(chuàng)建程序運行所需的txt文件
void creat_file();
//加載菜品信息到結(jié)構(gòu)體數(shù)組,嵌套功能模塊1:讀取txt寫入到單個結(jié)構(gòu)體數(shù)組中
void load_dishes(struct dishes list1[],int *p1,struct dishes list2[],int *p2,struct dishes list3[],int *p3,struct dishes list4[],int *p4,struct dishes list5[],int *p5);
//實現(xiàn)點餐的函數(shù),嵌套功能模塊2:實現(xiàn)點餐的結(jié)構(gòu)體數(shù)組寫入數(shù)據(jù)
void ordering(struct dishes list1[],int num1,struct dishes list2[],int *p2,struct dishes list3[],int *p3);
// 查看與結(jié)算的輸出函數(shù)
void settlement(struct dishes list[],int num);
// 計算今日收入
void income(struct dishes list[],int num);
// 實現(xiàn)菜品的價格修改,內(nèi)嵌功能模塊3:實現(xiàn)結(jié)構(gòu)體菜品的價格修改與文件的重構(gòu)
void change(struct dishes list[],int *p,char ch);
// 實現(xiàn)菜品的刪除,內(nèi)嵌功能模塊4:實現(xiàn)結(jié)構(gòu)體菜品的刪除與文件的重構(gòu)
void del(struct dishes list[],int *p,char ch);
// 函數(shù):實現(xiàn)菜品的添加,內(nèi)嵌功能模塊5:實現(xiàn)結(jié)構(gòu)體菜品的添加與文件的重構(gòu)
void add(struct dishes list[],int *p,char ch);

/*功能模塊區(qū)*/
//功能模塊1:讀取txt寫入到單個結(jié)構(gòu)體數(shù)組中
int function_read(struct dishes list[],FILE *fp);
//功能模塊2:實現(xiàn)點餐的結(jié)構(gòu)體數(shù)組寫入數(shù)據(jù)
void function_ordering(struct dishes list1[],int num1,struct dishes list2[],int *p2,struct dishes list3[],int *p3,int choice);
// 功能模塊3:實現(xiàn)結(jié)構(gòu)體菜品的價格修改與文件的重構(gòu),內(nèi)嵌功能模塊6:對經(jīng)過修改的菜品結(jié)構(gòu)體按價格從低到高排序
int funtion_change(struct dishes list[],int num,FILE *fp);
//功能模塊4:實現(xiàn)結(jié)構(gòu)體菜品的刪除與文件的重構(gòu)
int function_del(struct dishes list[],int *p,FILE *fp);
//功能模塊5:實現(xiàn)結(jié)構(gòu)體菜品的添加與文件的重構(gòu),,內(nèi)嵌功能模塊6:對經(jīng)過修改的菜品結(jié)構(gòu)體按價格從低到高排序
int function_add(struct dishes list[],int *p,FILE *fp);
// 功能模塊6:對經(jīng)過修改的菜品結(jié)構(gòu)體按價格從低到高排序
void function_sort(struct dishes list[],int num);

int main()
{
 creat_file();
 load_dishes(list1,p1,list2,p2,list3,p3,list4,p4,list5,p5);
 int i,j,choice;
 char a,b,c;
 while(1)
 {
  a=menu_m1();
  switch(a)
  {
  case '1':
   ordering(list1,num1,list6,p6,list7,p7);
   break;
  case '2':
   ordering(list2,num2,list6,p6,list7,p7);
   break;
  case '3':
   ordering(list3,num3,list6,p6,list7,p7);
   break;
  case '4':
   ordering(list4,num4,list6,p6,list7,p7);
   break;
  case '5':
   ordering(list5,num5,list6,p6,list7,p7);
   break;
  case '6':
   system("cls"),settlement(list6,num6),system("pause"),system("cls");
   break;
  case 'y':
   system("cls"),settlement(list6,num6),*p6=0,system("pause");
   break;
  case 'a':
   system("cls");
   while(1)
   {
    b=menu_a1();
    switch(b)
    {
    case '1':
     system("cls"),income(list7,num7),system("pause"),system("cls");
     break;
    case '2':
    {
     system("cls");
     c=menu_a2();
     system("cls");
     switch(c)
     {
     case '1':
      change(list1,p1,c);
      break;
     case '2':
      change(list2,p2,c);
      break;
     case '3':
      change(list3,p3,c);
      break;
     case '4':
      change(list4,p4,c);
      break;
     case '5':
      change(list5,p5,c);
      break;
     }
     system("cls");
    }
    break;
    case '3':
    {
     system("cls");
     c=menu_a2();
     system("cls");
     switch(c)
     {
     case '1':
      del(list1,p1,c);
      break;
     case '2':
      del(list2,p2,c);
      break;
     case '3':
      del(list3,p3,c);
      break;
     case '4':
      del(list4,p4,c);
      break;
     case '5':
      del(list5,p5,c);
      break;
     }
     system("cls");
    }
    break;
    case '4':
    {
     system("cls");
     c=menu_a2();
     system("cls");
     switch(c)
     {
     case '1':
      add(list1,p1,c);
      break;
     case '2':
      add(list2,p2,c);
      break;
     case '3':
      add(list3,p3,c);
      break;
     case '4':
      add(list4,p4,c);
      break;
     case '5':
      add(list5,p5,c);
      break;
     }
     system("cls");
    }
    break;
    case '0':
     system("cls");
     break;
    }
    if(b=='0')
     break;
   }
   break;

  }
  system("cls");
 }
}

/*菜單的輸出*/
//一級主菜單
char menu_m1()
{
 char ch;
 printf("    ---------------------------\n");
 printf("   |  歡迎光臨本餐廳  |\n");
 printf("   | 請按序號選擇菜品  |\n");
 printf("    ---------------------------\n");
 printf("   |  1   涼菜  |\n");
 printf("   |  2   熱菜  |\n");
 printf("   |  3   鍋仔  |\n");
 printf("   |  4   主食  |\n");
 printf("   |  5   飲品  |\n");
 printf("   |  6   查看  |\n");
 printf("   |  y   結(jié)算  |\n");
 printf("    ---------------------------\n");
 printf("   輸入序號:");
 ch=getch();
 return ch;
}

// 管理員一級菜單
char menu_a1()
{
 char ch;
 printf("\n-------------------------------\n");
 printf("\t1\t今日收入\t\n");
 printf("\t2\t修改價格\t\n");
 printf("\t3\t刪除菜品\t\n");
 printf("\t4\t添加菜品\t\n");
 printf("\t0\t返回上一級\t\n");
 printf("-------------------------------\n");
 printf("輸入序號:");
 ch=getch();
 return ch;
}

// 管理員二級菜單:添加或刪除菜品的提示
char menu_a2()
{
 char ch;
 printf("\n-------------------------------\n");
 printf("\t1\t涼菜\t\n");
 printf("\t2\t熱菜\t\n");
 printf("\t3\t鍋仔\(zhòng)t\n");
 printf("\t4\t主食\t\n");
 printf("\t5\t飲品\t\n");
 printf("\t0\t返回上一級\t\n");
 printf("-------------------------------\n");
 printf("輸入序號:");
 ch=getch();
 return ch;
}

//輸出菜單1(包括提示輸入語句)
void output_1(struct dishes list[],int num)
{
 int i;
 printf("\n-------------------------------------------------\n");
 printf("|\t序號\t菜品\t\t價格\t\t|\n");
 printf("-------------------------------------------------\n");
 for(i=0; i<num; i++)
 {
  if(strlen(list[i].name)<=6)
   printf("|\t%d\t%s\t\t%d\t\t|\n",i+1,list[i].name,list[i].price);
  else
   printf("|\t%d\t%s\t%d\t\t|\n",i+1,list[i].name,list[i].price);
 }
 printf("|\t0\t返回\t\t\t\t|\n");
 printf("-------------------------------------------------\n");
 printf("請輸入序號:\n");
}

//輸出菜品信息2(不含有提示輸入語句)
void output_2(struct dishes list[],int num)
{
 int i;
 printf("\n-------------------------------------------------\n");
 printf("|\t序號\t菜品\t\t價格\t\t|\n");
 printf("-------------------------------------------------\n");
 for(i=0; i<num; i++)
 {
  if(strlen(list[i].name)<=6)
   printf("|\t%d\t%s\t\t%d\t\t|\n",i+1,list[i].name,list[i].price);
  else
   printf("|\t%d\t%s\t%d\t\t|\n",i+1,list[i].name,list[i].price);
 }
 printf("|\t0\t返回\t\t\t\t|\n");
 printf("-------------------------------------------------\n");
}

/*函數(shù)*/
//創(chuàng)建程序運行所需的txt文件
void creat_file()
{
 FILE *fp=fopen("涼菜.txt","a");
 if(fp==NULL)
  return;
 fclose(fp);
 fp=fopen("熱菜.txt","a");
 if(fp==NULL)
  return;
 fclose(fp);
 fp=fopen("鍋仔.txt","a");
 if(fp==NULL)
  return;
 fclose(fp);
 fp=fopen("主食.txt","a");
 if(fp==NULL)
  return;
 fclose(fp);
 fp=fopen("飲品.txt","a");
 if(fp==NULL)
  return;
 fclose(fp);
}
//加載菜品信息到結(jié)構(gòu)體數(shù)組,嵌套功能模塊1:讀取txt寫入到單個結(jié)構(gòu)體數(shù)組中
void load_dishes(struct dishes list1[],int *p1,struct dishes list2[],int *p2,struct dishes list3[],int *p3,struct dishes list4[],int *p4,struct dishes list5[],int *p5)
{
 FILE *fp;
 fp=fopen("涼菜.txt","r");
 *p1=function_read(list1,fp);
 fp=fopen("熱菜.txt","r");
 *p2=function_read(list2,fp);
 fp=fopen("鍋仔.txt","r");
 *p3=function_read(list3,fp);
 fp=fopen("主食.txt","r");
 *p4=function_read(list4,fp);
 fp=fopen("飲品.txt","r");
 *p5=function_read(list5,fp);
 fclose(fp);
}

//實現(xiàn)點餐的函數(shù),嵌套功能模塊2:實現(xiàn)點餐的結(jié)構(gòu)體數(shù)組寫入數(shù)據(jù)
void ordering(struct dishes list1[],int num1,struct dishes list2[],int *p2,struct dishes list3[],int *p3)
{
 int choice;
 system("cls");
 output_1(list1,num1);
 while(1)
 {
  scanf("%d",&choice);
  if(choice>=0&&choice<=num1)
  {
   if(choice==0)
    break;
   else
    function_ordering(list1,num1,list2,p2,list3,p3,choice);
  }
  else
   printf("輸入序號有誤,請重新輸入:\n");
 }
}

// 查看與結(jié)算的輸出函數(shù)
void settlement(struct dishes list[],int num)
{
 int i,sum;
 for(i=0,sum=0; i<num; i++)
  sum+=list[i].price;
 printf("\n-------------------------------------------------\n");
 printf("|\t序號\t菜品\t\t價格\t\t|\n");
 printf("-------------------------------------------------\n");
 for(i=0; i<num; i++)
 {
  if(strlen(list[i].name)<=6)
   printf("|\t%d\t%s\t\t%d\t\t|\n",i+1,list[i].name,list[i].price);
  else
   printf("|\t%d\t%s\t%d\t\t|\n",i+1,list[i].name,list[i].price);
 }
 printf("-------------------------------------------------\n");
 printf("總價格為:%d\n\n",sum);
}

// 計算今日收入
void income(struct dishes list[],int num)
{
 int i,sum;
 output_2(list,num);
 for(i=0,sum=0; i<num; i++)
  sum+=list[i].price;
 printf("今日總收入:%d\n",sum);
}

// 實現(xiàn)菜品的價格修改,內(nèi)嵌功能模塊3:實現(xiàn)結(jié)構(gòu)體菜品的價格修改與文件的重構(gòu)
void change(struct dishes list[],int *p,char ch)
{
 int i=1;
 FILE *fp;
 while(i!=0)
 {
  switch(ch)
  {
  case '1':
   output_2(list1,num1),fp=fopen("涼菜.txt","w"),i=funtion_change(list1,num1,fp),fclose(fp);
   break;
  case '2':
   output_2(list2,num2),fp=fopen("熱菜.txt","w"),i=funtion_change(list2,num2,fp),fclose(fp);
   break;
  case '3':
   output_2(list3,num3),fp=fopen("鍋仔.txt","w"),i=funtion_change(list3,num3,fp),fclose(fp);
   break;
  case '4':
   output_2(list4,num4),fp=fopen("主食.txt","w"),i=funtion_change(list4,num4,fp),fclose(fp);
   break;
  case '5':
   output_2(list5,num5),fp=fopen("飲品.txt","w"),i=funtion_change(list5,num5,fp),fclose(fp);
   break;
  }

 }
}

// 實現(xiàn)菜品的刪除,內(nèi)嵌功能模塊4:實現(xiàn)結(jié)構(gòu)體菜品的刪除與文件的重構(gòu)
void del(struct dishes list[],int *p,char ch)
{
 int i=1;
 FILE *fp;
 while(i!=0)
 {
  switch(ch)
  {
  case '1':
   output_2(list1,num1),fp=fopen("涼菜.txt","w"),i=function_del(list1,p1,fp),fclose(fp);
   break;
  case '2':
   output_2(list2,num2),fp=fopen("熱菜.txt","w"),i=function_del(list2,p2,fp),fclose(fp);
   break;
  case '3':
   output_2(list3,num3),fp=fopen("鍋仔.txt","w"),i=function_del(list3,p3,fp),fclose(fp);
   break;
  case '4':
   output_2(list4,num4),fp=fopen("主食.txt","w"),i=function_del(list4,p4,fp),fclose(fp);
   break;
  case '5':
   output_2(list5,num5),fp=fopen("飲品.txt","w"),i=function_del(list5,p5,fp),fclose(fp);
   break;
  }

 }
}

// 函數(shù):實現(xiàn)菜品的添加,內(nèi)嵌功能模塊5:實現(xiàn)結(jié)構(gòu)體菜品的添加與文件的重構(gòu)
void add(struct dishes list[],int *p,char ch)
{
 int i=1;
 FILE *fp;
 while(i!=0)
 {
  switch(ch)
  {
  case '1':
   output_2(list1,num1),fp=fopen("涼菜.txt","w"),i=function_add(list1,p1,fp),fclose(fp);
   break;
  case '2':
   output_2(list2,num2),fp=fopen("熱菜.txt","w"),i=function_add(list2,p2,fp),fclose(fp);
   break;
  case '3':
   output_2(list3,num3),fp=fopen("鍋仔.txt","w"),i=function_add(list3,p3,fp),fclose(fp);
   break;
  case '4':
   output_2(list4,num4),fp=fopen("主食.txt","w"),i=function_add(list4,p4,fp),fclose(fp);
   break;
  case '5':
   output_2(list5,num5),fp=fopen("飲品.txt","w"),i=function_add(list5,p5,fp),fclose(fp);
   break;
  }

 }
}

/*功能模塊區(qū)*/
//功能模塊1:讀取txt寫入到單個結(jié)構(gòu)體數(shù)組中
int function_read(struct dishes list[],FILE *fp)
{
 int num=1;//索引從0開始 定義為1統(tǒng)計個數(shù)
 char t,c[max_str];
 int i;
 if(fp==NULL)
 {
  printf("Can't open this file\n");
  exit(1);
 }
 while(!feof(fp)) //檢測流上的文件結(jié)束符,如果文件s結(jié)束,則返回非0值,否則返回0
 {
  t=fgetc(fp);
  if(t=='\n')
   num++;
 }
 rewind(fp); //將指針重置到第一行
 for(i=0; i<num; i++)
 {
  fgets(c,max_str,fp);
  sscanf(c,"%s %d",list[i].name,&list[i].price);
 }
 fclose(fp);
 return num;
}

//功能模塊2:實現(xiàn)點餐的結(jié)構(gòu)體數(shù)組寫入數(shù)據(jù)
void function_ordering(struct dishes list1[],int num1,struct dishes list2[],int *p2,struct dishes list3[],int *p3,int choice)
{
 strcpy(list2[*p2].name,list1[choice-1].name);
 list2[*p2].price=list1[choice-1].price;
 strcpy(list3[*p3].name,list1[choice-1].name);
 list3[*p3].price=list1[choice-1].price;
 *p2=*p2+1;
 *p3=*p3+1;
}

// 功能模塊3:實現(xiàn)結(jié)構(gòu)體菜品的價格修改與文件的重構(gòu),內(nèi)嵌功能模塊6:對經(jīng)過修改的菜品結(jié)構(gòu)體按價格從低到高排序
int funtion_change(struct dishes list[],int num,FILE *fp)
{
 if(fp==NULL)
 {
  printf("Can't open this file\n");
  exit(1);
 }
 int i,n;
 char temp[max_str],t[max_str];
 printf("\n輸入ID:");
 scanf("%d",&n);
 if(n==0)
 {
  for(i=0; i<num; i++)
  {
   strcpy(temp,list[i].name);
   strcat(temp," ");
   itoa(list[i].price,t,10); //itoa():將整型值轉(zhuǎn)換為字符串,參數(shù)依次為:要復(fù)制的內(nèi)容,復(fù)制給誰,以什么進(jìn)制。
   strcat(temp,t);
   strcat(temp,"\n");
   fputs(temp,fp);
  }
  return n;
 }
 printf("輸入修改后的價格:");
 scanf("%d",&list[n-1].price);
 function_sort(list,num);
 for(i=0; i<num; i++)
 {
  strcpy(temp,list[i].name);
  strcat(temp," ");
  itoa(list[i].price,t,10); //itoa():將整型值轉(zhuǎn)換為字符串,參數(shù)依次為:要復(fù)制的內(nèi)容,復(fù)制給誰,以什么進(jìn)制。
  strcat(temp,t);
  strcat(temp,"\n");
  fputs(temp,fp);
 }
 printf("修改完成\n");
 system("pause");
 system("cls");
 return 1;
}

//功能模塊4:實現(xiàn)結(jié)構(gòu)體菜品的刪除與文件的重構(gòu)
int function_del(struct dishes list[],int *p,FILE *fp)
{
 if(fp==NULL)
 {
  printf("Can't open this file\n");
  exit(1);
 }
 int i,n;
 char temp[max_str],t[max_str];
 printf("\n輸入想要修改的菜品ID:");
 scanf("%d",&n);
 if(n==0)
 {
  for(i=0; i<*p; i++)
  {
   strcpy(temp,list[i].name);
   strcat(temp," ");
   itoa(list[i].price,t,10); //itoa():將整型值轉(zhuǎn)換為字符串,參數(shù)依次為:要復(fù)制的內(nèi)容,復(fù)制給誰,以什么進(jìn)制。
   strcat(temp,t);
   strcat(temp,"\n");
   fputs(temp,fp);
  }
  return 0;
 }
 for(i=n-1; i<*p; i++)
 {
  strcpy(list[i].name,list[i+1].name);
  list[i].price=list[i+1].price;
 }
 *p=*p-1;
 for(i=0; i<*p; i++)
 {
  strcpy(temp,list[i].name);
  strcat(temp," ");
  itoa(list[i].price,t,10); //itoa():將整型值轉(zhuǎn)換為字符串,參數(shù)依次為:要復(fù)制的內(nèi)容,復(fù)制給誰,以什么進(jìn)制。
  strcat(temp,t);
  strcat(temp,"\n");
  fputs(temp,fp);
 }
 printf("刪除完成\n");
 system("pause");
 system("cls");
 return 1;
}

//功能模塊5:實現(xiàn)結(jié)構(gòu)體菜品的添加與文件的重構(gòu),內(nèi)嵌功能模塊6:對經(jīng)過修改的菜品結(jié)構(gòu)體按價格從低到高排序
int function_add(struct dishes list[],int *p,FILE *fp)
{
 if(fp==NULL)
 {
  printf("Can't open this file\n");
  exit(1);
 }
 int i,n,x;
 char temp[max_str],t[max_str],in[max_str];
 printf("\n輸入0 0返回上一級\n");
 printf("輸入菜品名和價格,中間使用空格隔開:\n");
 scanf("%s%d",list[*p].name,&list[*p].price);
 if(list[*p].price == 0)
 {
  for(i=0; i<*p; i++)
  {
   strcpy(temp,list[i].name);
   strcat(temp," ");
   itoa(list[i].price,t,10); //itoa():將整型值轉(zhuǎn)換為字符串,參數(shù)依次為:要復(fù)制的內(nèi)容,復(fù)制給誰,以什么進(jìn)制。
   strcat(temp,t);
   strcat(temp,"\n");
   fputs(temp,fp);
  }
  return 0;
 }
 *p=*p+1;
 function_sort(list,*p);
 for(i=0; i<*p; i++)
 {
  strcpy(temp,list[i].name);
  strcat(temp," ");
  itoa(list[i].price,t,10); //itoa():將整型值轉(zhuǎn)換為字符串,參數(shù)依次為:要復(fù)制的內(nèi)容,復(fù)制給誰,以什么進(jìn)制。
  strcat(temp,t);
  strcat(temp,"\n");
  fputs(temp,fp);
 }
 printf("添加完成\n");
 system("pause");
 system("cls");
 return 1;
}

// 功能模塊6:對經(jīng)過修改的菜品結(jié)構(gòu)體按價格從低到高排序
void function_sort(struct dishes list[],int num)
{
 int i,j;
 struct dishes t;
 for(j=num-1; j>0; j--)
 {
  for(i=0; i<j; i++)
   if(list[i].price>list[i+1].price)
   {
    t=list[i];
    list[i]=list[i+1];
    list[i+1]=t;
   }
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • kernel利用pt?regs劫持seq?operations的遷移過程詳解

    kernel利用pt?regs劫持seq?operations的遷移過程詳解

    這篇文章主要為大家介紹了kernel利用pt_regs劫持seq_operations進(jìn)行遷移的過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C++使用yaml-cpp庫操作YAML的示例代碼

    C++使用yaml-cpp庫操作YAML的示例代碼

    配置文件有利于我們靈活配置工程,解決大量重復(fù)勞動,也方便調(diào)試,YAML?是一種人類可讀的數(shù)據(jù)序列化格式,它使用縮進(jìn)和特定的符號來表示數(shù)據(jù)結(jié)構(gòu),在本文中,我們將詳細(xì)介紹如何在?C++?中使用?yaml-cpp?庫來解析和生成?YAML?格式的數(shù)據(jù),需要的朋友可以參考下
    2024-10-10
  • 簡單實現(xiàn)C++復(fù)數(shù)計算器

    簡單實現(xiàn)C++復(fù)數(shù)計算器

    這篇文章主要為大家詳細(xì)介紹了C++簡單實現(xiàn)復(fù)數(shù)計算器的的相關(guān)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • C語言實現(xiàn)歌手大獎賽計分程序

    C語言實現(xiàn)歌手大獎賽計分程序

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)歌手大獎賽計分程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C++使用redis的實例詳解

    C++使用redis的實例詳解

    這篇文章主要介紹了C++使用redis的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C++?超詳細(xì)分析多態(tài)的原理與實現(xiàn)

    C++?超詳細(xì)分析多態(tài)的原理與實現(xiàn)

    這篇文章主要介紹了C++多態(tài)的原理與實現(xiàn),多態(tài)是一種面向?qū)ο蟮脑O(shè)計思路,本身和C++不是強(qiáng)綁定的,其他語言當(dāng)中一樣有多態(tài),只不過實現(xiàn)的方式可能有所不同。下面來一起了解更多詳細(xì)內(nèi)容吧
    2022-03-03
  • 詳解C++11中的線程庫

    詳解C++11中的線程庫

    線程是操作系統(tǒng)中的一個概念,線程對象可以關(guān)聯(lián)一個線程,用來控制線程以及獲取線程的狀態(tài),這篇文章主要介紹了C++11中的線程庫的相關(guān)知識,需要的朋友可以參考下
    2022-01-01
  • C++實現(xiàn)LeetCode(173.二叉搜索樹迭代器)

    C++實現(xiàn)LeetCode(173.二叉搜索樹迭代器)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(173.二叉搜索樹迭代器),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • FFRPC應(yīng)用 Client/Server使用及原理解析

    FFRPC應(yīng)用 Client/Server使用及原理解析

    這篇文章主要介紹了FFRPC應(yīng)用 Client/Server使用及原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • c語言中&的用法示例代碼

    c語言中&的用法示例代碼

    這篇文章主要給大家介紹了關(guān)于c語言中&的用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

佛山市| 河北省| 南和县| 南雄市| 阜新| 临沭县| 丽江市| 策勒县| 中西区| 崇仁县| 固始县| 珲春市| 马鞍山市| 达州市| 岚皋县| 威海市| 建昌县| 合阳县| 县级市| 资兴市| 临沧市| 南涧| 剑阁县| 大城县| 威海市| 鹤峰县| 合作市| 德清县| 大足县| 会宁县| 廊坊市| 灵丘县| 绥棱县| 永清县| 平山县| 北安市| 吉林省| 肃南| 剑阁县| 芦溪县| 庐江县|