我的C语言改不出错来啊 大神帮帮忙

作者&投稿:车松 (若有异议请与网页底部的电邮联系)
~ 你把函数声明放到main函数里面了,应该把它们放到main函数上面

因为你的程序发的不全,另外,一些变量没有用到,而用到的变量又没有声明,非常乱。

下面是修改过的,能够运行了。但能不能完成你的任务,还需要你仔细更改,只能帮你到这里了。

struct stude
{
char num[10];
char name[20];
char sex;
float score[20];
}x[4];
int main()

int i; 
void a(struct stude *p); 
void b(struct stude *p); 
void c(struct stude *p); 
void d(struct stude *p);
void e(struct stude *p); 
while(1)
{
system("CLS");
printf("=============请选择你的操作============

");
printf("*************************************************
");
printf("1----输入信息 2-----按成绩排序
");
printf("3----查找学生 4-----输出所有成绩
");
printf("5-----退出
"); 
printf("*************************************************
");
printf("请输入你的选择"); 
scanf("%d",&i);
switch (i)
{
case 1:a(x);break;
case 2:b(x);break;
case 3:c(x);break;
case 4:d(x);break;
case 5:e(x);break;
default:printf("输入有误,请重新输入");
getchar(); getchar();
}
}
}
void a(struct stude *p)
{
int i;
for(i=0;i<4;i++)
{
printf("请输入第%d位学生信息",i+1); 
scanf("%s%s%s%f",x[i].num,x[i].name,x[i].sex,x[i].score);
printf("%3d%3s%3s%3f",x[i].num,x[i].name,x[i].sex,x[i].score);
}
}
void b(struct stude *p)
{
int m,n,i=0;
struct stude q;
for(m=0;m<4;m++)
for(n=0;n<4-m;n++)
if(x[i].score<x[i+1].score)
{
q=x[i];
x[1]=x[i+1];
x[i+1]=q;
}
}
void c(struct stude *p)
{
char m[20];
int i;
printf("请输入要查找学生的学号");
scanf("%s",&m);
for(i=1;i<4;i++)
if(strcmp(m,x[i].num)==0)
printf("学号 姓名 性别 成绩
");
}


报什么错呢,报错信息看一下


我的C语言改不出错来啊 大神帮帮忙
你把函数声明放到main函数里面了,应该把它们放到main函数上面

为什么c语言里,改一点点的代码,就错误很多?
高级程序设计语言是一门形式化语言,与我们平时说话用的自然语言不同,形式化语言是高度格式化的语言,每一个语义的表达都是有严格的规定的,而且很多语法是上下文相关的,你破坏一处的同时很有可能破坏了上下文,造成很多错误。比如你吧 int a = 5;后面的分号去掉,他的影响是:当前句,变量a无法正确...

为什么我的c语言编译不了,一编译就出错?
出现这种错误的原因主要是你定义了相同函数名字的函数,比方说在MAIN.C里面定义了delay()函数,然后在APP.C里面又定义一个delay()函数,则会出现这种警告或错误,将同名函数修改名字即可。_delay这个函数重定义了,说明这个函数名定义了两遍。检查一下,如果没有的不要把函数体(函数定义)放在头文件...

如何修改c语言错误代码。
从提示来看有两个错误如图:1.if语句后面多了一个分号,这导致你的else语句和之前的if不配对,删除分号即可。另外如果你满足条件要执行多条语句请用{}扩起来,不然只会出错。2.void前面应该是个函数,少了函数结束符},需要加上。

为什么c语言程序在运行时出现错误?
出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。

C语言报错,请问哪里出错了?该怎么改?
在main函数中使用了max,但是max没有事先申明。C语言规定用户自定义的变量和函数都需要事先申明。修改方法是:在main函数之前申明max函数 max(float x,float y);修改编译后错误消失:2.现在只有两个警告,第一个警告是说明main函数应该有无类型返回值,这个的修改只需要在main前加上void就可以了。3....

C语言函数定义在main函数之后,而且在main函数之前没有函数原型声明。为...
\/\/int show_info()函数原型声明只是一个好习惯,C11标准并没有强制要求必须给出原型声明。而且声明函数的同时定义函数也是允许的。

C语言程序编译好后运行结果出错,如何快速纠错?
如果不太会用调试功能,可以在一些关键位置把你的一些关键变量的值给输出来,比方在变量赋值、运算、函数调用的前后,把你需要知道的变量值都输出来,看看这些值的变化是不是符合既定要求,这样可以帮你定位到底是什么地方出了问题导致你的最后结果出错。等到程序测试完全无误了之后,在把这些输出中间过程的...

C语言编程最常见的15个错误
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 ...

C++C语言的改错问题
1 void main() \/\/不带void的这种写法不规范,有些编译器会出错。2 { char c; \/\/后面比较是按char型来比较的 5 if('0'<=c&&c<='9') \/\/因该是间于0和9之间,所以用&& 7 else if('A'<=c&&c<='Z') \/\/应该是'A'<=c 9 else if('a'<=c&&c<='z') \/\/应该是c<='z'v...

贾汪区17182876741: 我的C语言改不出错来啊 大神帮帮忙 -
童泳瑞立: 你把函数声明放到main函数里面了,应该把它们放到main函数上面

贾汪区17182876741: C语言编辑出现问题了 哪位大神能解答一下怎么解决 谢谢啦 我用的编辑器是Codebl cks -
童泳瑞立: ch=(ch>='A'&& ch<='Z')?(ch+32):ch ;这句话是有问题的,这个是条件表达式,而条件表达式的形式一般是这样的a>b?a,左边一定是一个表达式,你那个写成了一个赋值语句,肯定是不行的,你的意思我大概能猜到,如果是大写字母,就把它改是小写的,对吧?main函数你也写错了,兄弟,看好了,你可以这样写:#includeint main() { char ch; printf("输入一个字母:\n"); scanf("%c",&ch); if(ch>='A'&& ch<='Z') { ch=ch+32; } ; printf("%c\n",ch); } 这样子才是可以的,小兄弟,请采纳!

贾汪区17182876741: 为什么我弄C语言总是错.求大神解答 -
童泳瑞立: 方法一:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)” —>“Directories(目录)”重新设置“Excutable Fils、Include Files、 Library Files、Source Files”的路径.很多情况可能就一个盘符的不同 (例如你的VC装在C,但是...

贾汪区17182876741: 我写了个c语言运行出现了错误,不知道错在哪?哪位高手帮我改改,谢谢!
童泳瑞立:for(j=7;j<=i*2-1;j--) 这里导致死循环了

贾汪区17182876741: C语言程序有问题, 求大神改一下.给出能运行处结果的程序. -
童泳瑞立: loop:scanf ("%d%*c", //这里修改成这样就好了,一、参数应该是地址,所以加&,二、要过滤掉最后的回车,所以,加上%*c...

贾汪区17182876741: 求简单C语言改错,我不知道应该样改,请高手帮忙.. -
童泳瑞立: 求简单C语言改错,我不知道应该样改,请高手帮忙.都少了单引号改成#include main() {float a,b,s; char c; scanf("%f%c%f", switch(c) {case '+': s=a+b; br...

贾汪区17182876741: 我的c语言怎么老是显示有错误啊? -
童泳瑞立: 你的程序文件夹最好不要在这么深的地方 该问题可能是c的路径设置不对 在你指定的地方没找到stdio.h

贾汪区17182876741: 求大神帮忙,这么简单的c语言程序我实在找不出错在哪儿了. -
童泳瑞立: 除了main之前少了一个int ,sum+=score;后面多了一个分号之外没有发现其他错误了.

贾汪区17182876741: 为什么我打的这个c语言没有错最后运行不出结果,求大神解答 -
童泳瑞立: 小伙伴,你的输入语句写错啦,scanf("%d",&a); 谢谢,请采纳.

贾汪区17182876741: 高手帮帮忙吧,我实在是无路可走了,解救一下吧~~一道c语言的改错题,我改了N遍还是不行,学艺不精啊 -
童泳瑞立: 细节没注意.没关系,慢慢来.#include void main(){int n=0;float a,s;//你s没定义 float max=0.0,sum=0.0;//你sum没赋值 scanf("%f",&s); while(s>=0) { if(s>max) max=s; sum=sum+s; n=n+1; scanf("%f",&s);//在while内部要重新输入s值,不然s始终都等于你第一次输入的值 }a=sum/n;//最后要算平均值 }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网