标题:求助C语言:
只看楼主
卅卅卅川川川
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-9-7
 问题点数:0 回复次数:4 
求助C语言:
cannot convert parameter 1 from 'float' to 'const char *
编译的时候出现了这个问题怎么解决?
搜索更多相关主题的帖子: convert cannot C语言 
2014-09-07 13:23
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
参数类型错误

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-07 13:26
卅卅卅川川川
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-9-7
得分:0 
回复 2 楼 wssy213
#include <stdio.h>
#include <string.h>
struct Student{
 float Chinese;
 float Math;
 float English;
 float Physics;
 float Biology;
 char  name[5];
}stu[5];
void main()
{   
    float t;
    float a,b,c,d,e;
    strcpy(stu[0].name,"张三");
    strcpy(stu[1].name,"李四");
    strcpy(stu[2].name,"王五");
    strcpy(stu[3].name,"赵高");
    strcpy(stu[4].name,"王青");
    float score;
    float score1=0,score2=0,score3=0,score4=0,score5=0;
    for(int i=0;i<5;i++)
    {   
        printf("请输入第%d名学生的各科成绩:",i+1);
        scanf("%f%f%f%f%f",&stu[i].Chinese,&stu[i].Math,&stu[i].English,&stu[i].Physics,&stu[i].Biology);
        score=(stu[i].Chinese+stu[i].Math+stu[i].English+stu[i].Physics+stu[i].Biology)/5;
        printf("第%d个学生的平均分为:%f n",i+1,score);
            
    }   
    printf("语文课的平均分为:");
    for(i=0;i<5;i++)
            score1=(score1+stu[i].Chinese);
            printf("%f n",score1/5);
       printf("数学课的平均分为:");
    for(int j=0;j<5;j++)
       score2=(score2+stu[j].Math);
       printf("%f n",score2/5);
    printf("英语课的平均分为:");
    for(i=0;i<5;i++)
       score3=(score3+stu[i].English);
       printf("%f n",score3/5);
       printf("物理课的平均分为:");
    for(i=0;i<5;i++)
       score4=(score4+stu[i].Physics);
       printf("%f n",score4/5);
    printf("生物课的平均分为:");
    for(i=0;i<5;i++)
       score5=(score5+stu[i].Biology);
       printf("%f n",score5/5);
    for(j=0;j<5;j++)
    {
        for(i=j+1;i<5;i++)
        {
        if(stu[j].Chinese<stu[i].Chinese)
        {
           t=stu[i].Chinese;
           stu[i].Chinese=stu[j].Chinese;
           stu[j].Chinese=t;   
        
        }
   
        }
            
    }
 printf("语文成绩排序为:");
 for(i=0;i<5;i++)
     printf("%f ",stu[i].Chinese);
    for(i=0;i<5;i++)
    {
        if(strcmp(stu[0].Chinese,stu[i].Chinese)==0)
            printf("%s ",stu[i].name);
    }

}
总提示 cannot convert parameter 1 from 'float' to 'const char * 这个错误,该怎么解决啊?
2014-09-07 13:29
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
w5.cpp(32): error C2065: “i”: 未声明的标识符
1>w5.cpp(32): error C2065: “i”: 未声明的标识符
1>w5.cpp(32): error C2065: “i”: 未声明的标识符
1>w5.cpp(33): error C2065: “i”: 未声明的标识符
1>w5.cpp(33): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(40): error C2065: “i”: 未声明的标识符
1>w5.cpp(40): error C2065: “i”: 未声明的标识符
1>w5.cpp(40): error C2065: “i”: 未声明的标识符
1>w5.cpp(41): error C2065: “i”: 未声明的标识符
1>w5.cpp(41): error C2228: “.English”的左边必须有类/结构/联合
1>w5.cpp(44): error C2065: “i”: 未声明的标识符
1>w5.cpp(44): error C2065: “i”: 未声明的标识符
1>w5.cpp(44): error C2065: “i”: 未声明的标识符
1>w5.cpp(45): error C2065: “i”: 未声明的标识符
1>w5.cpp(45): error C2228: “.Physics”的左边必须有类/结构/联合
1>w5.cpp(48): error C2065: “i”: 未声明的标识符
1>w5.cpp(48): error C2065: “i”: 未声明的标识符
1>w5.cpp(48): error C2065: “i”: 未声明的标识符
1>w5.cpp(49): error C2065: “i”: 未声明的标识符
1>w5.cpp(49): error C2228: “.Biology”的左边必须有类/结构/联合
1>w5.cpp(51): error C2065: “j”: 未声明的标识符
1>w5.cpp(51): error C2065: “j”: 未声明的标识符
1>w5.cpp(51): error C2065: “j”: 未声明的标识符
1>w5.cpp(53): error C2065: “i”: 未声明的标识符
1>w5.cpp(53): error C2065: “j”: 未声明的标识符
1>w5.cpp(53): error C2065: “i”: 未声明的标识符
1>w5.cpp(53): error C2065: “i”: 未声明的标识符
1>w5.cpp(55): error C2065: “j”: 未声明的标识符
1>w5.cpp(55): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(55): error C2065: “i”: 未声明的标识符
1>w5.cpp(55): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(57): error C2065: “i”: 未声明的标识符
1>w5.cpp(57): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(58): error C2065: “i”: 未声明的标识符
1>w5.cpp(58): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(58): error C2065: “j”: 未声明的标识符
1>w5.cpp(58): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(59): error C2065: “j”: 未声明的标识符
1>w5.cpp(59): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(67): error C2065: “i”: 未声明的标识符
1>w5.cpp(67): error C2065: “i”: 未声明的标识符
1>w5.cpp(67): error C2065: “i”: 未声明的标识符
1>w5.cpp(68): error C2065: “i”: 未声明的标识符
1>w5.cpp(68): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(69): error C2065: “i”: 未声明的标识符
1>w5.cpp(69): error C2065: “i”: 未声明的标识符
1>w5.cpp(69): error C2065: “i”: 未声明的标识符
1>w5.cpp(71): error C2065: “i”: 未声明的标识符
1>w5.cpp(71): error C2228: “.Chinese”的左边必须有类/结构/联合
1>w5.cpp(71): error C2664: “strcmp”: 不能将参数 1 从“float”转换为“const char *”
1>w5.cpp(72): error C2065: “i”: 未声明的标识符
1>w5.cpp(72): error C2228: “.name”的左边必须有类/结构/联合

DO IT YOURSELF !
2014-09-07 13:35
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
strcmp(stu[0].Chinese,stu[i].Chinese)

事实上编译器的错误信息提示的挺明显的了,你要注意观察
再者,对变量的定义要放在整个函数的开头


[ 本帖最后由 wssy213 于 2014-9-7 13:46 编辑 ]

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-07 13:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435821-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.748025 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved