标题:调试了很多遍,还是不行,可以帮我看看么
只看楼主
wFengJ
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-6-6
结帖率:0
已结贴  问题点数:20 回复次数:28 
调试了很多遍,还是不行,可以帮我看看么
#include<stdio.h>
#include<string.h>
#define N 10
typedef struct
{
    long num;
    char name[10];
    char sex;
    float score;
}Employee;

Employee employee[N];
void level(Employee employee[]);
{
    int i,best=0,medium=0,bad=0;
    for(i=0;i<N;i++)
     if(employee[i].score>=90)
         best++;
     else if(employee[i].score>=60 && employee[i].score<90)
         medium++;
     else bad++;
  printf("优秀人数:%d\n合格人数:%d\n不合格人数:%d\n",best,medium,bad);     
}
void main(){
 void print(Employee employee[])
{
    int i;
    for(i=0;i<N;i++)
{
    printf("请输入第%d个职工的信息:\n",i+1);
    printf("请输入职工考号:\n");
    scanf("%ld",&employee[i].num);
    printf("请输入职工姓名:\n");
    scanf("%s",&employee[i].name);
    printf("请输入职工性别(男/女):\n");
    scanf("%s",&employee[i].sex);
    printf("请输入职工成绩:\n");
    scanf("%f",&employee[i].score);
    }
    printf("刚才所输入的职工信息是:\n");
    printf("Num Name Sex Score\n");
    for(i=0;i<N;i++)
    scanf("%ld %s %s %f",&employee[i].num,&employee[i].name,&employee[i].sex,
    &employee[i].score);
}
}
搜索更多相关主题的帖子: medium include employee 
2017-06-06 19:58
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:5 
scanf("%s",&employee[i].sex);

那个sex数据类型不是char么?~怎么输出用%s了?~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-06 20:00
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
    scanf("%ld %s %s %f",&employee[i].num,&employee[i].name,&employee[i].sex,
    &employee[i].score);

为什么这里不是printf?~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-06 20:01
wFengJ
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-6-6
得分:0 
回复 2楼 九转星河
哦哦这个问题现在改了,但是还是不行
2017-06-06 20:03
wFengJ
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-6-6
得分:0 
回复 3楼 九转星河
啊这样一看,犯了好多低级错误,改了改了;我这里显示的错误主要好像是没有配对,是不是void main()那里有问题
2017-06-06 20:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 5楼 wFengJ
这样如果是renkejun1942那你可不知被喷多少次了~改为int main()试试~还有main最后加个return 0;虽然我没碰到过这个问题~但我猜测有些编译环境是不支持void main()的~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-06 20:09
wFengJ
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-6-6
得分:0 
回复 6楼 九转星河
renkejun1942??
应该不是void的问题,我觉得是他的位置没有对
2017-06-06 20:13
大大哟nice
Rank: 2
等 级:论坛游民
威 望:3
帖 子:15
专家分:30
注 册:2016-11-26
得分:5 
void print 的是什么鬼?你是要把里面的内容封装吗?如果你只是要打印其中的内容void print{}外壳是没用的。

[此贴子已经被作者于2017-6-6 20:25编辑过]

2017-06-06 20:21
wFengJ
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-6-6
得分:0 
回复 8楼 大大哟nice
我是想把这些信息输出
2017-06-06 20:32
大大哟nice
Rank: 2
等 级:论坛游民
威 望:3
帖 子:15
专家分:30
注 册:2016-11-26
得分:0 
回复 9楼 wFengJ
你把void print(){}去掉就能输出里面的内容,而且你的void level()函数在这个程序中并没有使用唉!
2017-06-06 20:39



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




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

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