| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1154 人关注过本帖
标题:下面程序 Dev C++ 报错 [Error] ld returned 1 exit status 哪里有问题?
只看楼主 加入收藏
Yu_ib
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-4-1
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
下面程序 Dev C++ 报错 [Error] ld returned 1 exit status 哪里有问题?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define M 10
#define K 5

typedef struct singer
{
    int num;
    char name[M];
    float score[K];
    float sum;
    float aver;
}SIN;

int Menu(void);
int Input(SIN sin[]);
void InPut(SIN sin[],int n);
void mark(SIN sin[],int n);
void PrintScore(SIN sin[],int n);
void Modify(SIN sin[],int n);
void SearchNum(SIN sin[],int n);
void SearchName(SIN sin[],int n);
void Sort(SIN sin[],int n);
void swapc(char x[],char y[]);
void swapf(float *x,float *y);
void swapn(int *x,int *y);
void keep(SIN sin[],int n);
void KeepSort(SIN sin[],int n);
void Deleted(SIN sin[],int n);
void Add(SIN sin[],int n);



int main()
{
    char ch;
    int n=0;
    char a;
    SIN sin[20]={0};
    printf("ttttt 欢迎使用选手信息管理系统n");
    n=Input(sin);
    do{
        ch=Menu();
        switch(ch)
        {
            case 1:TnPut(sin,n);
                mark(sin,n);
                printf("-------编号  姓名  五位评委评分       平均分----------n");
                PrintfScore(sin,n);
            break;
            case 2:Modify(sin,n);
            break;
            case 3:Add(sin,n);
            break;
            case 4:Deleted(sin,n);
            break;
            case 5:SearchNum(sin,n);
            break;
            case 6:Sort(sin,n);
            break;
            case 7:SearchName(sin,n);
            break;
            case 0:printf("程序结束n");
                exit(0);
            default:printf("输入错误!n");
        }
        printf("您要继续进行操作吗?(输入Y/y继续操作):");
        scanf(" %c",&a);
    }while(a=='Y'||a=='y');
    return 0;
}



int Input(SIN sin[])
{
    int i=-1;
    do{
        i++;
        printf("输入编号:n");
        scanf("%d ",&sin[i].num);
    }while(sin[i].num>=0);
    return i;
}

void InPut(SIN sin[],int n)
{
    int i,j;
    printf("请输入选手姓名以及五位评委评分:n");
    for(i=0;i<n;i++)
    {
        gets(sin[i].name);
        for(j=0;j<K;j++)
        {
            scanf("%f",&sin[i].score[j]);
        }
    }
}

void mark(SIN sin[],int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        sin[i].sum=0;
        for(j=0;j<K;j++)
        {
            sin[i].sum+=sin[i].score[j];
        }
        sin[i].aver=K>0?sin[i].sum/K:-1;
    }
}

void PrintScore(SIN sin[],int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        printf("%d %s",sin[i].num,sin[i].name);
        for(j=0;j<K;j++)
        {
            printf("%f ",sin[i].score[j]);
        }
        printf("平均分=%f",sin[i].aver);
        printf("n");
    }
}

void Sort(SIN sin[],int n)
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
        {
            if(sin[j].aver>sin[k].aver)
            {
                k=j;
            }
        }
        if(k!=i)
        {
            swapn(&sin[k].num,&sin[i].num);
            swapc(sin[k].name,sin[i].name);
            for(t=0;t<K;t++)
            {
                swapf(&sin[k].score[t],&sin[i].score[t]);
            }
            swapf(&sin[k].aver,&sin[i].aver);
        }
    }
}

void swapn(int *x,int *y)
{
    int temp;
    temp=*x;
    *x=*y;
    *y=temp;
}

void swapc(char x[],char y[])
{
    char temp[M];
    strcpy(temp,x);
    strcpy(x,y);
    strcpy(y,temp);
}

void swapf(float *x,float*y)
{
    float temp;
    temp=*x;
    *x=*y;
    *y=temp;
}

void SearchNum(SIN sin[],int n)
{
    int i,j,k;
    printf("请输入要查询的选手号码:n");
    scanf("%d",&k);
    for(i=0;i<n;i++)
    {
        if(sin[i].num==k)
        {
            printf("%d 号选手的信息如下:n",sin[i].num);
            printf("姓名:n",sin[i].name);
            printf("评分:");
            for(j=0;j<K;j++)
            {
                printf("%f ",sin[i].score[j]);
            }
            printf("平均分:",sin[i].aver);
            printf("n");
            return;
        }
    }
    printf("n 未找到该选手 请输入正确编号n");
}

void SearchName(SIN sin[],int n)
{
    char x[M];
    int i,j;
    printf("请输入要查询的姓名:n");
    scanf("%s",x);
    for(i=0;i<n;i++)
    {
        if(strcmp(sin[i].name,x)==0)
        {
            printf("该选手编号:%dn",sin[i].num);
            printf("评分:");
            for(j=0;j<K;j++)
            {
                printf("%f ",sin[i].score[j]);
            }
            printf("平均分:",sin[i].aver);
            printf("n");
            return;
        }
    }
    printf("n 未找到该选手 请输入正确姓名n");
}

void Modify(SIN sin[],int n)
{
    int i,j,a,s;
    printf("请输入要修改的选手编号:n");
    scanf("%s",&s);
    for(i=0;i<n;i++)
    {
        if(sin[i].num==s)
        {
            s=i;
            printf("请分别输入新编号 姓名以及五位裁判评分:n");
            scanf("%d %s",&sin[a].num,sin[a].name);
            for(j=0;j<K;j++)
            {
                scanf("%f",&sin[a].score[j]);
            }
            sin[a].sum=0;
            for(i=0;j<K;j++)
            {
                sin[a].sum+=sin[a].score[j];
            }
            sin[a].aver=K>0?sin[a].sum/K:-1;
            printf("成绩已修改!n");
            return;
        }
    }
    printf("n 未找到该选手 请输入正确编号n");
}

void Deleted(SIN sin[],int n)
{
    int i,j,k,s;
    printf("请输入要删除的选手编号:n");
    scanf("%s",&s);
    for(i=0;i<n;i++)
    {
        if(sin[i].num==s)
        {
            for(k=1;k<n;k++)
            {
                sin[i].num=sin[i+1].num;
                strcpy(sin[i].name,sin[i+1].name);
                sin[i].sum=sin[i+1].sum;
                sin[i].aver=sin[i+1].aver;
                for(j=0;j<K;j++)
                {
                    sin[i].score[j]=sin[i+1].score[j];
                }
            }
        }
    }
    printf("成绩已删除!n");
}

void Add(SIN sin[],int n)
{
    int i,j;
    i=n;
    printf("请分别输入选手的编号 姓名以及五位评委评分:n");
    scanf("%d %s",&sin[i].num,sin[i].name);
    for(j=0;j<K;j++)
    {
        sin[i].sum+=sin[i].score[j];
    }
    sin[i].aver=K>0?sin[i].sum/K:-1;
    printf("成绩添加成功!n");
}

void keep(SIN sin[],int n)
{
    FILE *fp;
    int i,j;
    if((fp=fopen("歌唱比赛选手信息.txt","w"))==NULL)
    {
        printf("Failure to open score.txt!n");
        exit(0);
    }
    for(i=0;i<n;i++)
    {
        fprintf(fp,"%3d%8st",sin[i].num,sin[i].name);
        for(j=0;j<K;j++)
        {
            fprintf(fp,"%0.ft%0.2fn",sin[i].sum,sin[i].aver);
        }
        fclose(fp);
    }
}

void KeepSort(SIN sin[],int n)
{
    FILE *fp;
    int i,j;
    if((fp=fopen("分数由高到低排序.txt","w"))==NULL)
    {
        printf("Failure to open score.txt!n");
        exit(0);
    }
    for(i=0;i<n;i++)
    {
        fprintf(fp,"%3d%8st",sin[i].num,sin[i].name);
        for(j=0;j<K;j++)
        {
            fprintf(fp,"%0.ft",sin[i].score[j]);
        }
        fprintf(fp,"%0.ft%0.2fn",sin[i].sum,sin[i].aver);
    }
    fclose(fp);
}

int Menu(void)
{
    int itemSelected;
    printf("n");
    printf("----------------- 选手信息管理系统 ----------------n");
    printf("                请选择你要进行的操作:             n");
    printf("       1.输入并显示选手信息   2.修改选手信息       n");
    printf("       3.添加选手信息         4.删除选手信息       n");
    printf("       5.查询信息(按编号)     6.按编号排序         n");
    printf("       7.查询信息(按姓名)     0.退出               n");
    printf("       请输入你的选择         按回车键结束         n");
    scanf("%d",&itemSelected);
    return itemSelected;
}
搜索更多相关主题的帖子: SIN int void printf for 
2018-04-01 15:23
ab1412
Rank: 7Rank: 7Rank: 7
来 自:M78星球
等 级:黑侠
威 望:4
帖 子:103
专家分:537
注 册:2018-3-15
收藏
得分:20 
你定义的是InPut 和PrintScore,你在调用的时候却用了Tnput和PrintfScore.函数定义和引用不一致吧,还有这串代码乱七八糟的,你就算改了这处也还需要修改

printf("萌新一枚,请多指教");
2018-04-01 17:56
Yu_ib
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-4-1
收藏
得分:0 
回复 2楼 ab1412
兄dei 这个代码很乱吗 好吧 我也觉得有点乱 只是我有两个input 大小写的 不是这个问题吧
2018-04-01 21:34
快速回复:下面程序 Dev C++ 报错 [Error] ld returned 1 exit status 哪里有问题 ...
数据加载中...
 
   



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

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