c++设计一个餐厅当日菜单生成程序,实现的功能为:能够产生菜单并浏览内容

【实验步骤】
1、打开文件:menu.cpp
2、在menu.cpp文件的指定位置,定义结构体SMenuinfo存储菜单记录。该结构体成员包括编号,菜名、和单价
3、请在createmenu函数中实现菜单创建功能。
4、请在printmenu函数中实现菜单打印功能。

#include<fstream.h>
#include<stdio.h>
#include<string.h>
//请在下方定义结构体SMenuinfo存储菜单记录
//请修改createmenu函数实现点餐功能
int createmenu(char filename[])
{
}
//请修改checkbill函数结账功能
void printmenu(char filename[])
{
}
void main()
{

int choise=0;
while (choise!=3)
{
printf("_____________________________\n");
printf("1:菜单创建\n");
printf("2:打印\n");
printf("3:退出\n");
printf("_____________________________\n");
printf("请选择:");
scanf("%d",&choise);
switch (choise)
{
case 1:createmenu("menu.txt");break;
case 2:printmenu("menu.txt");break;
}
if (choise==3) break;
}

}

第1个回答  2013-04-08
int createmenu(char filename[])
{
SMenuinfo menu;
//将file1指针与文件filename关联,filename由主函数提供
ofstream file1(filename,ios::out|ios::binary);
if (!file1)
{
cout<<"cannot open output file.\n";
return 0;
}
printf("请输入餐馆所有的菜式的编号,名称,单价(用空格分隔)\n");
for (int i=0;i<3;i++)
{
scanf("%s%s%s",&menu.num,&menu.name,&menu.price);
//将结构体menu的数据写入文件
file1.write((char *)&menu,sizeof(SMenuinfo));
}
file1.close();
return 1;
}
//请修改checkbill函数结账功能
int printmenu(char filename[100],SMenuinfo menu[],int count)
{
// filename是文件名,menu是存储文件读出信息的结构体数组,count表示数组的大小
//将file1指针与文件filename关联,filename由主函数提供
ifstream file1(filename,ios::in|ios::binary);
if (!file1)
{
cout<<"cannot open output file.\n";
return 0;
}
for (int i=0;i<count;i++)
{
//将文件内容读取出来存放在结构体menu[i]中
file1.read((char *)&menu[i],sizeof(SMenuinfo));
}
file1.close();
return 1;
}
第2个回答  2013-04-07
这个不难啊追问

那你快答啊