sinat_37032209 2016-12-13 15:12 采纳率: 100%
浏览 1301
已采纳

关于C语言文本类型输入

要做一个学生学籍管理系统,但是到文本输入的时候输进去了,txt文件也创建好了,打开文件就是一片空白,请各位帮帮忙,这是我的那一部分代码

#include
#include

typedef struct Student{
long StudentID; //学生学号
char StudentName[4]; //学生名字
char StudentSex; //学生性别
int StudentScore; //学生成绩
}STUDENT;

FILE *fp;
int find = 0; // 用于控制循环
char ch;//用于储存命令
STUDENT student;//定义一个结构体变量
if ((fp = fopen ("StudentInformation.txt", "a") == NULL))
{
    printf ("Failure to open student.txt\n");
    exit(0);
}
else
{
    // 录入数据
    while (find == 0)
    {
        do {
            printf ("请输入学生学号(9位数字,例:161110500):\n");
            scanf ("%ld", &student.StudentID);
            getchar();
            printf ("请输入学生姓名:(4个字以内)\n");
            gets(&student.StudentName);
            printf ("请输入学生性别(男或女):\n");
            scanf (" %c", &student.StudentSex);
            getchar();
            printf ("请输入学生成绩:\n");
            scanf ("%d", &student.StudentScore);

            printf ("是否输入正确?(按Y正确,按N重输)\n");
            ch = getch();
            system("cls");
        } while (ch == 'N' || ch == 'n');
        fprintf (fp, "%ld", student.StudentID);
        fprintf (fp, "%s", student.StudentName);
        fprintf (fp, "%c", student.StudentSex);
        fprintf (fp, "%d", student.StudentScore);
        printf ("是否继续输入下一个学生成绩?(按Y继续,按N返回)\n");
        ch = getch();
        if (ch == 'Y' || ch == 'y')
        {
            find = 0;
        }
        else if (ch == 'N' || ch == 'n')
        {
            find = 1;
        }
        else
        {
            printf ("输入错误,即将返回\n");
            find = 1;
        }
    }
}
  • 写回答

1条回答 默认 最新

  • Vincent_gc 2016-12-13 15:36
    关注

    我调了下你的程序,只是把if ((fp = fopen ("StudentInformation.txt", "a") == NULL))里的fp = fopen()放到了外边,可以出结果的呀。txt存到数据了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况