C语言编程问题.请高手进(附源码)!!!!!!!!!HELP

作者&投稿:爱霍 (联系方式在网页底部的电邮联系)
help!!! C语言编程。。。。编程题!!急。。谢谢!~

亲,把分给我吧

要不要发到你邮箱,亲

反驳:
fp=fopen("C:\\Program Files\\1.log","r");
少个杠
TC测试通过

//三个地方, 不过最后那个函数递归的时候最好先关闭文件。
#include "stdio.h"
#include "stdlib.h"
void fcxxwh(void);
void fcxxcx(void);
void dc(void);
void zz(void);
void sr(void);
void main()
{
int a;
printf("\t饭店信息维护系统\n");
printf("1.饭菜信息维护\t");
printf("2.饭菜信息查询\n");
printf("3.点菜\t\t");
printf("4.结帐\n");
printf("请输入所需要的功能:");
scanf("%d",&a);
switch(a)
{
case 1:fcxxwh();break;
case 2:;break;
case 3:;break;
case 4:;break;
default:printf("输入错误,请重新打开程序输入!");
}
}
void fcxxwh(void)
{int a,b,c;
printf("1.录入\t");
printf("2.修改\t");
printf("3.删除\t");
printf("\n请输入所需要的功能:");
scanf("%d",&a);
switch(a)
{case 1:
printf("请输入录入次数:");
scanf("%d",&b);//---------------&b
for(c=0;c!=b;c++)
sr();break;
case 2:;break;
case 3:;break;
default:printf("输入错误,请重新打开程序输入!");
}
}
void sr(void)
{
int b=0,d=0,f=0;
float e=0.0;
char A[20],c[20];
FILE *g;
g=fopen("fdsj.dat","a+");//----------a方式好,是追加
printf("请输入菜的类别:(数字)\n");
printf("1.主食\t2.热菜\t3.凉菜\t4.汤\t");
scanf("%d",&b);
printf("请输入菜名,按回车键结束\n");
scanf("%s",A);
printf("\n请输入拼音码(菜名首字母)&编码&价格{回车确定}\n");
scanf("%s%d%f",c,&d,&e);
printf("此款菜:类别为%d,编码为%d,拼音吗为%s,菜名为%s,价格为%f\n是否正确?(正确请输入1,否则按任意键退出):",b,d,c,A,e);
scanf("%d",&f); //------------&f
if (f==1)
fprintf(g,"此款菜:类别为%d,编码为%d,拼音吗为%s,菜名为%s,价格为%f",b,d,c,A,e);//------------fprintf
else
sr();
}

因为你的源程序中:fprintf("此款菜:类别为%d,编码为%d,拼音吗为%s,菜名为%s,价格为%f",b,d,c,A,e);这句话的fprintf前面多了个f,这是导致出错的原因。正确的应该是:
printf("此款菜:类别为%d,编码为%d,拼音吗为%s,菜名为%s,价格为%f",b,d,c,A,e);

printf("请输入录入次数:");
scanf("%d",b);
for(c=0;c!=b;c++)

这里b前面是不是少了&

编译错,还是运行错?

scanf("%d",&f); 变量前少个&

相关视频

C语言程序:高手们,帮我看个题
p=1;for(i=1;i<=n;i++)p=p*y;return p;}程序错误颇多,给出以下几处,仅供参考:1)建议:加上头文件,否则可能编译通不过;2)如果是void的话,建议不用返回,主函数最好用int返回值,并加上return 0;3)C语言以分号作为语句的结束府的,如果你main后面加个分号,表示该行是一条一句...

C语言求解,高手进
后面的题目等下继续发上来 1、include "stdio.h"include "string.h"int main(){ int i=0;char str[100];printf("Input String:\\n");gets(str);for(;i<strlen(str);i+=2)printf("%c",str[i]);} 2、include "stdio.h"include "string.h"void mcopy(char *str,int m){ int i=0...

C语言菜鸟求高手解答...
第一个问题只能说是一个判定条件,不知道你要的结果是什么。。2.m++>5这个判定是先取值后运算,m=5>5这个是不成立的,所以结果为假,然后m自增m=6,接着运行else printf("%d\\",m--);同样先取值运行,m=6所以输出6,之后再自减m=5但这是没有输出的,如果运行这个 main(){ int m=5;i...

C语言简单编程题目两道,求高手做一下。高分!!!
第1题 :include <stdio.h> include <stdlib.h> define MAX 200 int main(void){ int a[MAX], i = 0;srand(time(NULL)); \/\/ 时间种子, 保证真随机, 每次不会相同 while (i < MAX) { a[i] = rand() % 10000; \/\/ 随机获得10000以下数字, 0-9999 if (a[i] < 1000) { ...