标题:关于成绩单输出的问题,没错,但是运行时是提示这样的错误
只看楼主
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
结帖率:80%
 问题点数:0 回复次数:1 
关于成绩单输出的问题,没错,但是运行时是提示这样的错误
看不懂,求解读

搜索更多相关主题的帖子: 成绩单 
2012-12-06 11:53
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
得分:0 
代码如下

#include <stdio.h>
#include <stdlib.h>
#define SIZE 27
struct student
{
    int num;
    char name[20];
    char sex[4];
    int gaoshu;
    int xiandai;
    int yinyu;
    int sum;
    struct *next;
}stu[SIZE];
int s;
int i;
void main()

{   
   
    void menue(void);
    printf("                         ");
    printf("**********************************\n");
    printf("                         ");
    printf("*吉林大学软件学院学生成绩管理系统*\n");
    printf("                         ");
    printf("**********************************\n");
    printf("********************************************************************************\n");
    printf("*                         请输入选项前面的字母进入选项                         *\n");
    printf("********************************************************************************\n");
    printf("*                                原始成绩单                                    *\n");
    printf("********************************************************************************\n");
    printf("*q:按学号升序      w:按学号降序                    e:按姓名升序    r:按姓名降序*\n");
    printf("*                                                                              *\n");
    printf("*                  t:按总分升序                    y:按总分降序                *\n");
    printf("********************************************************************************\n");
    printf("*                                优秀成绩单                                    *\n");
    printf("********************************************************************************\n");
    printf("*           z:高数                x:线代                     c:英语            *\n");
    printf("********************************************************************************\n");
    printf("*                                挂科成绩单                                    *\n");
    printf("********************************************************************************\n");
    printf("*           v:高数                b:线代                     n:英语            *\n");
    printf("********************************************************************************\n");

    menue();

}
void menue(void)//输入菜单指令函数
{   
    void ysxs(void);
    void ysxj(void);
   
   
    char x2;
    printf("请输入菜单指令:");
    scanf("%c",&x2);
    switch(x2)
    {
    case 'q':ysxs();break;
    case 'w':ysxj();break;
   
    default:menue();
    }


}
void ysxs(void)//输出原成绩单(学号升序)的函数
{   void menue(void);

    FILE *p;
    printf("请输入文件地址:");
    char a[20];
    gets(a);
   
    if((p=fopen(a,"rb"))==NULL)
    {
        printf("不能打开文件,请重新输入:");
        ysxs();
        exit(0);
    }
   
    printf("********************************************************************************\n");
    printf("*                             原始成绩单(学号升序)                             *\n");
    printf("********************************************************************************\n");
    for(i=0;i<SIZE;i++)
    {fread(&stu[i],sizeof(struct student),1,p);
        printf("%3d\t%15s\t%1s\t%3d\t%3d\t%3d\t%3d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].gaoshu,stu[i].xiandai,stu[i].yinyu,stu[i].sum);
    }
    fclose(p);
    menue();
   
}
void ysxj(void)//输出按学号降序的原始成绩单
{
    void menue(void);

    FILE *p;
    printf("请输入文件地址:");
    char a[20];
    gets(a);
   
    if((p=fopen(a,"rb"))==NULL)
    {
        printf("不能打开文件,请重新输入:");
        ysxj();
        exit(0);
    }
    printf("********************************************************************************\n");
    printf("*                             原始成绩单(学号降序)                             *\n");
    printf("********************************************************************************\n");
    struct student t;
    int i,j;
    for(i=0;i<SIZE;i++)
    {
        for(j=i+1;j<=SIZE;j++)
        {
             if(stu[i].num<stu[j].num)
             {
               t=stu[i];
               stu[i]=stu[j];
               stu[j]=t;
             }
        }
    }
    for(i=0;i<SIZE;i++)
    {fread(&stu[i],sizeof(struct student),1,p);
        printf("%3d\t%15s\t%1s\t%3d\t%3d\t%3d\t%3d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].gaoshu,stu[i].xiandai,stu[i].yinyu,stu[i].sum);
    }
    fclose(p);
    menue();


}

菜鸟成长中
2012-12-06 11:56



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




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

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