㈠ c語言外賣管理系統涉及的知識點
用C語言做了一個外賣管理系統,則希望可以模擬網上訂餐,店家工作,專人管理的過程。並實現注冊與登錄以及基本信息的輸出。各位大佬不喜勿噴
管理員端可以查看店鋪信息,店鋪信息修改(分為增刪改查),處理申請店鋪,和修改本人信息。
用戶端分為用戶相關(為用戶本人對自己信息的操作),查看訂單,查看菜品,購買菜品,以及訂單排序。
管理員端為增添菜品,刪除菜品,修改菜品,查看菜品以及業績查看(統計總訂單與總收入)。
注冊分為用戶注冊和點擊注冊,其中店家注冊需要的到管理員的認證,認證通過之後才可登錄。
㈡ 怎麼用c語言的鏈表知識設計一個電話訂餐系統呢,在線等,挺急的
首先要說明一點的就是:你的這個要求絕對是不會有人在短時間內滿足你的要求的。因為 C 語言中最精華的、但是同時又是最難於掌握、以及難於調試的內容就是:指針了。而且了,如果一旦指針內容再和數據結構課程中的鏈表、二叉樹等內容再一結合起來,對於上機編程、以及調試程序的難度,則更是難上加難。
不過雖然我已經很多年不編寫程序了,但是可以給你提供一個編程思路:你好好把 C 語言中涉及到的結構體、以及指針部分的內容好好進行徹底復習、並徹底掌握它們的編程方法、以及數據結構中涉及到的各種排序演算法(例如:你這道題中的插入排序演算法)、以及對鏈表的各種操作(插入一個元素、刪除一個元素、查找一個元素),必須要熟練掌握其編程。
不過現在方便的是:現在已經有 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();
}
#include#include#include#includetypedefstructbody{charname[20];charphonenumber[20];charaddress[50];charmail[50];chargroup[10];}CARD;voidinput(CARD*cp);intsearch(CARD*cp,intn);voidmenu(void);voidlist(CARD*cp,intn);intdel(CARD*cp,intn);voidsave(CARD*cp,intn);voidsort(CARD*cp,intn);voidreload(CARD*cp,FILE*fp);intn=0;FILE*fp;voidmain(){inti,m,a;i=0;CARDcontact[100],*cp;cp=contact;if((fp=fopen("contact_list.bin","a+"))==NULL){printf("erroronopenfile\n");getch();exit(1);}while(!feof(fp)){if(fread(cp+n,sizeof(CARD),1,fp)==1)n++;}fclose(fp);printf("\t\topenfilesuccess");printf("\n\n\n\t\tNow%dcontactsonfile",n);printf("\n\t\tpessanykeytocontinue");getch();while(1){menu();printf("\t%dcontactsonfile",n);printf("\n\t\tchoosethenumber:");scanf("%d",&m);switch((int)m){case1:system("cls");printf("%dcontacts",n);list(cp,n);printf("\n\n\t\tpressanykeytocontinue");getch();break;case2:cp=contact;for(i=n;iname);printf("\nphonenumber:");gets(cp->phonenumber);printf("\naddress:");gets(cp->address);printf("\ne-mail:");gets(cp->mail);printf("\ngroup:chooseanumber\n1.family\n2.colleague\n3.friend\n");scanf("%d",&x);switch((int)x){case1:strcpy(cp->group,"family");break;case2:strcpy(cp->group,"colleague");break;case3:strcpy(cp->group,"friend");break;default:printf("\nerror:wrongkeypressed");break;}}intsearch(CARD*cp,intn){ints,i;charnamefor[20],phonenumberfor[20];printf("\n\nsearchon:\n1.name2.phonenumber\n");fflush(stdin);scanf("%d",&s);if(s==1){printf("pleaseenterthename:\n");fflush(stdin);gets(namefor);for(i=0;iname,namefor)==0){printf("\n\n\nSearchresult:\n\n");printf("%s\t",(cp+i)->name);printf("%s\t",(cp+i)->phonenumber);printf("%s\t",(cp+i)->address);printf("%s\t",(cp+i)->mail);printf("%s\t",(cp+i)->group);return(i);}}}elseif(s==2){printf("pleaseenterthephonenumber:\n");gets(phonenumberfor);for(i=0;iphonenumber,phonenumberfor)==0){printf("Searchresult:\n");printf("%s\t",(cp+i)->name);printf("%s\t",(cp+i)->phonenumber);printf("%s\t",(cp+i)->address);printf("%s\t",(cp+i)->mail);printf("%s\t",(cp+i)->group);return(i);}}}printf("\nNosuchfileexist,pressanykeytocontinue\n\t");getch();return-1;}voidmenu(){system("cls");printf("\n\nWelcometothecontactsystem\n");printf("\n\n-----------right-----DongChao---------------------\n\n\n\n");printf("\n\nPleasechoosethenumber\n\n\n\n");printf("\t1.list2.input3.search4.delete\n\t5.sort6.save7.reload\n\n");printf("\t8.exit\n\n\n\n\t");}intdel(CARD*cp,intn){intd,i,a;printf("\n\n\tDeletecontact:");d=search(cp,n);if(d!=-1){printf("\n\?\n\t1.Yes2.No\n");scanf("%d",&a);if(a==1){for(i=d;iname,(cp+i+1)->name);strcpy((cp+i)->phonenumber,(cp+i+1)->phonenumber);strcpy((cp+i)->address,(cp+i+1)->address);strcpy((cp+i)->mail,(cp+i+1)->mail);strcpy((cp+i)->group,(cp+i+1)->group);}n=n-1;return(n);}elseif(a==2){printf("\n\tpressanykeytocontinue");getch();}}if(d==-1){printf("Nosuchfileexist,pressanykeytocontinue\n\t");getch();}}voidlist(CARD*cp,intn){inti;printf("\nnamephonenumber\taddress\t\te-mail\tgroup\n");i=0;while(iname);printf("%10s",(cp+i)->phonenumber);printf("%15s",(cp+i)->address);printf("%18s",(cp+i)->mail);printf("%10s\n",(cp+i)->group);i++;}}voidsave(CARD*cp,intn){FILE*fp;inti=0;if((fp=fopen("contact_list.bin","w"))==NULL){printf("erroronopenfile\n");getch();exit(1);}for(i=0;i0){system("cls");printf("\n\tSavecomplete,pressanykeytocontinue");getch();}else{system("cls");printf("\n\tnocontactissaved");getch();}fclose(fp);}voidsort(CARD*cp,intn){inti,j;CARDcontactsort[100],*sp;sp=contactsort;j=0;system("cls");printf("\n\n\tsortthecontactsof\n\n\t\t1.family2.colleague3.friend\n\t\t");states:printf("pleasechoose:");scanf("%d",&i);switch((int)i){case1:for(i=0;igroup,"family")==0){strcpy((sp+j)->name,(cp+i)->name);strcpy((sp+j)->phonenumber,(cp+i)->phonenumber);strcpy((sp+j)->address,(cp+i)->address);strcpy((sp+j)->mail,(cp+i)->mail);strcpy((sp+j)->group,(cp+i)->group);j++;}}list(sp,j);if(j==0){printf("\t\tNofileoffamily");}printf(",pressanykeytocontinue");getch();break;case2:for(i=0;igroup,"colleague")==0){strcpy((sp+j)->name,(cp+i)->name);strcpy((sp+j)->phonenumber,(cp+i)->phonenumber);strcpy((sp+j)->address,(cp+i)->address);strcpy((sp+j)->mail,(cp+i)->mail);strcpy((sp+j)->group,(cp+i)->group);j++;}}list(sp,j);if(j==0){printf("\t\tNofileofcolleague");}printf(",pressanykeytocontinue");getch();break;case3:for(i=0;igroup,"friend")==0){strcpy((sp+j)->name,(cp+i)->name);strcpy((sp+j)->phonenumber,(cp+i)->phonenumber);strcpy((sp+j)->address,(cp+i)->address);strcpy((sp+j)->mail,(cp+i)->mail);strcpy((sp+j)->group,(cp+i)->group);j++;}}list(sp,j);if(j==0){printf("\n\n\t\tNofileoffriend");}printf(",pressanykeytocontinue");getch();break;default:printf("\nerror:wrongkeypressed,pressanykeytocontinue");getch();gotostates;}}voidreload(CARD*cp,FILE*fp){inti=0;system("cls");fp=fopen("contact_list.bin","r");while(!feof(fp)){if(fread(cp+i,sizeof(CARD),1,fp)==1);i++;}printf("\n\n\n\t\t\t%dcontactsonfile,pressanykeytocontinue\n\t\t",i-1);getch();fclose(fp);}
㈤ c語言電話訂餐信息處理系統-求保存函數
/**
*將訂餐信息保存到硬碟中。保存文件的位置為「D:\order.txt」,格式如下
*"number:name:sum:time"
*@paramcount--訂餐信息的數量
*/
voidSave(intcount)
{
/*打開文件*/
FILE*fp;
fp=fopen("D:\order.txt","w");
/*保存*/
for(inti=0;i<count;i++){
fprintf(fp,"%d:%s:%d:%s ",
GuestList[i].number,
GuestList[i].name,
GuestList[i].sum,
GuestList[i].time);
}
/*列印保存完畢提示*/
printf("SaveDatatoD:\dat.txt ");
fclose(fp);
}
【認真回答,澄清採納】
PS:
如需其他函數,請追問。
如需對答主進行經濟援助,請聯系答主。
㈥ 跪求:C語言課程設計--電話訂餐信息處理系統
#include"stdio.h"
#include"string.h"
#define MaxSize 20
struct guest_info
{
char name[8];
int sum;
char time[10];
int number;
}
GuestList[MaxSize];
void Insert(int * );
void Search(int );
void Update(int );
void Delete(int * );
void Show(int);
int main()
{
int i;
int count=0;
do
{
printf("\n");
printf("1---插入(Insert)\n");
printf("2---查詢(Search)\n");
printf("3---修改(Update)\n");
printf("4---刪除(Delete)\n");
printf("5---顯示(Show)\n");
printf("6---退出(Exit)\n");
scanf("%d",&i);
switch(i)
{
case 1:Insert(&count);
break;
case 2:Search(count);
break;
case 3:Update(count);
break;
case 4:Delete(&count);
break;
case 5:Show(count);
break;
case 6:break;
dafault:printf("錯誤選擇!請重選");
break;
}
}
while(i!=6);
return 0;
}
void Insert(int * count)
{
int i,in_number;
if( * count==MaxSize)
{
printf("空間已滿!");
return ;
}
printf("請輸入編號:");
scanf("%d",&in_number);
for(i=0;i< * count;i++)
if(GuestList[i].number==in_number)
{
printf("已經有相同的編號:");
return ;
}
GuestList[i].number=in_number;
printf("請輸入姓名:");
scanf("%s",GuestList[i].name);
printf("請輸入人數:");
scanf("%d",&GuestList[i].sum);
printf("請輸入用餐時間:");
scanf("%s",GuestList[i].time);
( * count)++;
}
void Search(int count)
{
int i,number,flag=1;
printf("請輸入要查詢的編號:");
scanf("%d",&number);
for(i=0;i<count && flag;i++)
if(GuestList[i].number==number)
{
printf("姓名:%s",GuestList[i].name);
printf("人數:%d",GuestList[i].sum);
printf("用餐時間:%s",GuestList[i].time);
flag=0;
}
else
printf("沒有查詢到!!");
void Update(int count)
{
int i;number,flag=1;
printf("請輸入要修改數據的編號:");
scanf("%d",&number);
for(i=0;i<count && flag;i++)
if(GuestList[i].number==number)
{
printf("請輸入人數:");
scanf("%d",GuestList[i].sum);
printf("請輸入用餐時間:");
scanf("%s",GuestList[i].time);
flag=0;
}
else
printf("沒有查詢到可以修改的數據!!");
}
void Delete(int * count)
{
int i,j,number,flag=1;
printf("請輸入要刪除數據的編號:");
scanf("%d",&number);
for(i=0;i< * count && flag;i++)
{
if(GuestList[i].number==number)
{
for(j=i;j< * count-1;j++)
GuestList[j]=GuestList[j+1];
flag=0;
( * count)--;
}
else
printf("沒有查詢到可以刪除的數據!!");
}
}
void Show (int count)
{
int i;
printf("\n");
printf("編號 姓名 人數 用餐時間\n");
for(i=0;i<count;i++)
{
printf("%10d",GuestList[i].number);
printf("%12s",GuestList[i].name);
printf("%10d",GuestList[i].sum);
printf("%12s",GuestList[i].time);
}
}
書上的,,還有一種用指針方法做的
㈦ 求C語言寫一份外賣點餐管理程序
這一份是數據結構大作業的題目吧
我寫過,這份代碼我有完整功能的
一般可以用單鏈表進行數據存儲
菜品信息、訂單信息里相應的數據進行struct分類
然後對這些單鏈表進行一些操作
比如添加刪除修改遍歷查詢等操作進行這些功能優化
㈧ 電話訂餐系統c語言講解#include"stdio.h" #include"string.h"
結構體、鏈表、分支、循環。
都是基礎的C語言結構,不知道需要給你講解什麼啊。
㈨ c語言,電話訂餐信息處理系統,求講解
code呢?
你有code,我可以全方位的給你講解,保證讓你明白。
如果你沒有code,我可以幫你做。
祝你好運!
㈩ C語言編寫酒店預訂管理系統的好處
C語言編寫酒店預訂管理系統的好處如下:
1.C語言時具有結構化的控制語句,可以用於實現函數的邏輯控制,方便麵向過程的程序設計。
2.C語言豐富的數據類型,不僅包含有傳統的字元型、整型、浮點型、數組類型等數據類型,還具有其他編程語言所不具備的數據類型,其中以指針類型數據使用最為靈活,可以通過編程對各種數據結構進行計算。對應於酒店各部分管理數據的眾多項目也沒有問題。
管理系統是為達到組織目標,針對管理對象,由具有特定管理職能和內在聯系的各種管理機構、管理制度、管理過程、管理方法所構成的完整的組織管理體系。在企業中,這個總系統可分為計劃經營,生產技術、勞動人事、財務成本和生活服務等子系統。它們之間,既有區別,又有聯系。子系統的目標要服從企業管理系統的總目標。各個子系統的作用不是平列的,其中有一個子系統對實現總目標居中心地位,起主導作用。把企業管理看作一個系統,就能夠採取系統分析的方法,綜合研究企業的各項專業管理,把生產經營活動的內部條件和外部環境、定量分析和定性分析有機地結合起來,選擇最優方案,提高經濟效益,促進生產發展。