player_G 2018-12-03 04:47 采纳率: 0%
浏览 558

大佬们帮忙看一下C语言编译时出现的这个问题

C:\Users\67332\AppData\Local\Temp\ccWMJLH3.o:StudentSystem.c:(.text+0x1b): undefined reference to print'
C:\Users\67332\AppData\Local\Temp\ccWMJLH3.o:StudentSystem.c:(.text+0xf3): undefined reference toStatistical'
collect2.exe: error: ld returned 1 exit status

  • 写回答

1条回答 默认 最新

  • player_G 2018-12-03 04:47
    关注

    #include"stdio.h"
    //函数名
    void Student();
    void Sum();
    void Down();
    void Up();
    void IDUp();
    void Search();
    void Statistical();
    void Statistic();
    void List();
    //变量
    int score[30],n;
    long StudentID[30];
    long sum=0;
    float average;
    void Choose();
    main()
    {
    //选择功能
    Choose();
    print("bye,bye");
    getch();
    }
    void Choose()
    {
    int i;
    //输入学生学号和成绩v
    printf("1.Input record\n");
    //输出总分和平均分v
    printf("2.Caculate tolal and average score of course\n");
    //按分数降幂排序v
    printf("3.Sort in descending order by score\n");
    //按分数升幂排序v
    printf("4.Sort in ascending order by score\n");
    //按学号升幂排序v
    printf("5.Sort in ascending order by number\n");
    //按编号搜索v
    printf("6.Search by number\n");
    //统计分析
    printf("7.Statistic analysis\n");
    //清单记录:输出学号、成绩,以及总分以及百分比
    printf("8.List recore\n");
    //退出系统
    printf("0.Exit\n");
    printf("Please enter your choice\n");
    scanf("%d",&i);
    switch(i)
    {
    case 1:Student();
    break;
    case 2:Sum();
    break;
    case 3:Down();
    break;
    case 4:Up();
    break;
    case 5:IDUp();
    break;
    case 6:Search();
    break;
    case 7:Statistical();
    break;
    case 8:List();
    break;
    case 0:break;
    }
    }
    void Student()
    {
    int i = -1;
    do{
    i++;
    printf("Input StudentID[%d]",i);
    scanf("%d",&StudentID[i]);
    printf("Input score[%d]",i);
    scanf("%d",&score[i]);
    }while(score[i]>0);
    n=i;
    main();
    }
    void Sum()
    {
    int i = 0;
    for(;i {
    sum+=score[i];
    }
    printf("SUM is %ld\n",sum);
    average=sum/n;
    printf("The average is %f",average);
    main();
    }
    void Down()
    {
    char q;
    int i,j,s;
    long t;
    for(i=0;i {
    for(j=0;j {
    if(score[j]>score[i])
    {
    s=score[i];
    score[i]=score[j];
    score[j]=s;
    t=StudentID[i];
    StudentID[i]=StudentID[j];
    StudentID[j]=t;
    }
    }
    }
    //询问是否输出数据
    printf("Output date or not(Y&N)");
    scanf("%c",&q);
    if(q=='Y')
    {
    for(i=0;i {
    printf("%ld\t",StudentID[i]);
    printf("%d\n",score[i]);
    main();
    }
    }
    else main();
    }
    void Up()
    {
    char q;
    int i,j,s;
    long t;
    for(i=0;i {
    for(j=0;j {
    if(score[j] {
    s=score[i];
    score[i]=score[j];
    score[j]=s;
    t=StudentID[i];
    StudentID[i]=StudentID[j];
    StudentID[j]=t;
    }
    }
    }
    //询问是否输出数据
    printf("Output date or not(Y&N)");
    scanf("%c",&q);
    if(q=='Y')
    {
    for(i=0;i {
    printf("%ld\t",StudentID[i]);
    printf("%d\n",score[i]);
    main();
    }
    }
    else main();
    }
    void IDUp()
    {
    char q;
    int i,j,s;
    long t;
    for(i=0;i {
    for(j=0;j {
    if(StudentID[j] {
    s=score[i];
    score[i]=score[j];
    score[j]=s;
    t=StudentID[i];
    StudentID[i]=StudentID[j];
    StudentID[j]=t;
    }
    }
    }
    //询问是否输出数据
    printf("Output date or not(Y&N)");
    scanf("%c",&q);
    if(q=='Y')
    {
    for(i=0;i {
    printf("%ld\t",StudentID[i]);
    printf("%d\n",score[i]);
    main();
    }
    }
    else main();
    }
    void Search()
    {
    int low = 0, high = n - 1, mid;
    long s;
    printf("Input StudentID:");
    scanf("%ld",&s);
    while(low {
    mid=(high+low)/2;
    if (s>StudentID[mid])
    {
    low=mid+1;
    }
    else if(s {
    high=mid-1;
    }
    else printf("%ld\t%d\n",StudentID[mid],score[mid]);
    }
    main();
    }
    void Statistic()
    {
    int i = 0;
    int a=0,b=0,c=0,d=0,e=0;
    float A,B,C,D,E;
    for(;i {
    if(score[i]>89) a++;
    else if(score[i>79]) b++;
    else if(score[i>69]) c++;
    else if(score[i>59]) d++;
    else e++;
    }
    A=a/n;
    B=b/n;
    C=c/n;
    D=d/n;
    E=e/n;
    printf("A=%d\t%f%%\n",a,A);
    printf("B=%d\t%f%%\n",b,B);
    printf("C=%d\t%f%%\n",c,C);
    printf("D=%d\t%f%%\n",d,D);
    printf("E=%d\t%f%%\n",e,E);
    main();
    }
    void List()
    {
    int i=0;
    for(;i<n;i++)
    {
    printf("StudentID\tscore\n");
    printf("%ld\t%d",StudentID[i],score[i]);
    Sum();
    }
    main();
    }

    评论

报告相同问题?

悬赏问题

  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。