请教C语言高手!!!帮我看下这程序那错了

#include<stdio.h>
#include<string.h>
void Areashipin();
void Areayongpin();
void main()
{
char username[15],pwd[15];
printf("欢迎进入网上购物系统\n");
printf("---------------------------------\n");
printf("\n请输入用户名:");
gets(username);
printf("\n请输入密码: ");
gets(pwd);
if((strcmp(username,"xxxxxxx")==0)&&(strcmp(pwd,"123456")==0))
printf("\n您已成功登录\n");
else
printf("\n用户名和密码无效\n");
{
int i;
{
printf("1、食品\n 2、物品\n");
printf("请选择功能: ");
scanf("%d",&i);
switch(i)
{
case 1:yongpin();break;
case 2:shipin();break;
default:printf("输入有误,请在0~3之间选择\n");
}
}
}
void shipin()
{
int area,s;
printf("\n\t1.薄荷堂3元\n");
printf("\n\t2.奶糖4元\n");
printf("\n\t3.口香糖5元\n");
printf("\n\t请输入选项(1/2/3): ");
scanf("%d",&s);
switch (s)
{
case a:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*3;
printf("\n总价为%d\n",area);
break;
case b:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*4;
printf("\n总价为%d\n",area);
break;
case c:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*5;
printf("\n总价为%d\n",area);
break;
}
}

void yongpin()
{
printf("\n此用品以售空");
}

}
假使我用户名或密码输入错误 就直接跳出
不显示下面的步骤要怎样做?

第1个回答  2007-12-11
26 行的 "yongpin()" 和

27 行的 "shipin()" 都 缺乏原形

33 行的 "{ " 和 66行(就是最后行) 的"}" 2个括号有问题
第2个回答  2007-12-11
VC++编译通过
函数可以调用,不能嵌套,还有函数名声明错了

#include<stdio.h>
#include<string.h>
void shipin();
void yongpin();
void main()
{
char username[15],pwd[15];
printf("欢迎进入网上购物系统\n");
printf("---------------------------------\n");
printf("\n请输入用户名:");
gets(username);
printf("\n请输入密码: ");
gets(pwd);
if((strcmp(username,"xxxxxxx")==0)&&(strcmp(pwd,"123456")==0))
printf("\n您已成功登录\n");
else
printf("\n用户名和密码无效\n");
{
int i;
{
printf("1、食品\n 2、物品\n");
printf("请选择功能: ");
scanf("%d",&i);
switch(i)
{
case 1:yongpin();break;
case 2:shipin();break;
default:printf("输入有误,请在0~3之间选择\n");
}
}
}
}
void shipin()
{
int area,s;
printf("\n\t1.薄荷堂3元\n");
printf("\n\t2.奶糖4元\n");
printf("\n\t3.口香糖5元\n");
printf("\n\t请输入选项(1/2/3): ");
scanf("%d",&s);
switch (s)
{
case 1:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*3;
printf("\n总价为%d\n",area);
break;
case 2:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*4;
printf("\n总价为%d\n",area);
break;
case 3:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*5;
printf("\n总价为%d\n",area);
break;
}
}

void yongpin()
{
printf("\n此用品以售空");
}

参考资料:http://www.cncolleges.cn

第3个回答  2007-12-11
这样改就对了:
#include<stdio.h>
#include<string.h>
void Areashipin();
void Areayongpin();
void main()
{
char username[15],pwd[15];
int i;
printf("欢迎进入网上购物系统\n");
printf("---------------------------------\n");
printf("\n请输入用户名:");
gets(username);
printf("\n请输入密码: ");
gets(pwd);
if((strcmp(username,"xxxxxxx")==0)&&(strcmp(pwd,"123456")==0))
{
printf("\n您已成功登录\n");
printf("1、食品\n 2、物品\n");
printf("请选择功能: ");
scanf("%d",&i);
switch(i)
{
case 1:Areashipin();break;
case 2:Areayongpin();break;
default:printf("输入有误,请在0~3之间选择\n");
}
}
else
printf("\n用户名和密码无效\n");

}
void Areashipin()
{
int area,s;
printf("\n\t1.薄荷堂3元\n");
printf("\n\t2.奶糖4元\n");
printf("\n\t3.口香糖5元\n");
printf("\n\t请输入选项(1/2/3): ");
scanf("%d",&s);
switch (s)
{
case 1:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*3;
printf("\n总价为%d\n",area);
break;
case 2:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*4;
printf("\n总价为%d\n",area);
break;
case 3:printf("\n请输入数量: ");
scanf("%d",&s);
area=s*5;
printf("\n总价为%d\n",area);
break;
}
}

void Areayongpin()
{
printf("\n此用品以售空");
}本回答被提问者采纳
第4个回答  2007-12-11
检查一下,大括号不匹配

关于C语言的,高手帮我看看这段程序哪错了,为什么用tuberC2.0运行说for...
一看你程序看到这里 define NUM_RATES (sizeof(value)\/sizeof(value[0])我就一头雾水了,VALUE是啥?然后看到下面,哦,是个数组,但要告诉你的是预定义是在编译的时候才会知道你的VALUE是什么东东,现在它不知道你的VALUE是啥(因此value[0]是错的),况且你的VALUE还在下面,不过就算在上面也是不...

C语言开关灯问题,麻烦大神们帮我看看这个程序哪里错了啊,结果不对...
1、int a[6000]={1};这句。你这只是将a[0]赋值1,其他都是0,数组默认以0填充,应该改为:int a[6000];for(i=0;i<6000;i++)a[i]=1;2、第二层循环里:if(a[j]==0)a[j]=1;if(a[j]==1)a[j]=0;这个语句把所有的灯都关闭了,因为如果关了,就打开;打开后又关了。逻辑...

C语言高手进 看下这个程序哪里错了 我是新手 r=1到r=10时圆的面积, 知...
include <stdio.h> define pi 3.14159 void main(){ int r;float area;for(r=1;r<=10;r++){area=pi*r*r;if(area<100)continue;printf("%f,%d\\n",area,r);} getch();}这个行的,你试试,我用win-tc的。答案是 ,,,或者#include <stdio.h> void main(){ float pi=3.14159...

C语言简单程序,帮看看哪错了
输入一个实数那行有个引号用了中文符,应该改为英文符;最后输出-a那段语句后面没有写“;”;定义变量a时为双精度浮点数,而输入时存为了单精度浮点数,存在溢出故障,会导致运行错误,见下图:应该改为如下 include<stdio.h> main(){ double a;printf("请输入一个实数:");scanf("%lf",&a);...

大佬帮忙看看这个程序错在哪了,刚学C语言?
修改如下:int main(){int price=0; \/\/该处由‘,’改为‘;’printf("请输入金额(元) :") ;\/\/该处缺少分号scanf("%d",&price);int change=100-price;printf("找您%d元。\\n",change);return 0;} 运行结果如下:

关于C语言编写程序的一个疑问 高手帮忙看看我的程序哪错了
看了你的代码觉得,你在C语言的语法规则上还有待提高啊,在此举出你所给出的代码的若干错误。首先,你的代码不完整。第9、11、13行要定义三个100行的二维字符数组,如果仅仅是类似char adj[100][12]={"开心的"}的定义;这样adj[1]到adj[99]这99个词都会是空值(ASCII码为0),若用printf()...

哪位大神帮我看一下这个程序哪里错了? C语言问题,输入一个整数,输出...
} \/\/上面的程序不能实现你的功能。printf("0=%d\\n1=%d\\n2=%d\\n3=%d\\n4=%d\\n5=%d\\n6=%d\\n7=%d\\n8=%d\\n9=%d\\n",a,b,c,d,e,f,g,h,i,j);} 我写了一个,你看一下:include <stdio.h> include <string.h> int main(){ int data[10], i;for(i=0;i < 10;i++)data...

C语言菜鸟跪求大神告知这个程序哪里错了。。。T^T
scanf("%1f,%1f,%1f",&a,&b,&c);这句有问题,应该改为%lf,而不是1f,lf代表输入双精度浮点型数据,如果是1f,就只会取输入的数字的第一位;希望我的答案对你有帮助!

我是c语言小白,问问大神帮我看看编写的简单程序这哪里出错了?
#include<stdio.h> 输入代码时忽视输入法隐藏的错误 表面上看都是一样的代码,但是第二行就有错误,是全角和半角的不同,再看:正确编译运行 所以你的代码没有任何问题,但是要注意代码输入的方法。以前回答了很多,有时间可以看看我最近回答c语言问题:网页链接 网页链接 网页链接 网页链接等等。

c语言 请问这个程序那里写错了
scanf("%d",&n);

相似回答