buranchencai 2019-12-21 15:32
浏览 100

求助,断点he存储到txt文件时有null

第一运行时存在断点,第二,存储到txt文件时有null。第三在执行read的sh无法读取txt文件

#include <stdio.h>
#include< stdlib.h>
#include <windows.h>

int n;
int Return;

int menu();
void input();
void end();



#define  N  30                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
char p1[20] = { "stud.dat" };
char p2[20] = { "studsort.dat" };
FILE *fp;
struct student_type
{
    char name[20];
    char num[20];
    double math, Eng, Chin, ave;
}
stud[N], h;


void main()
{
    int start;


    printf("输入学生人数(n>30)");
    scanf("%d", &n);






    while (1) {
         start = menu();

         break;
    }

}

int menu()
{
    int q;
    int start;
    system("cls");
     printf("=============================================\n");
     printf("=============学生成绩管理系统3.0=============\n");
     printf("=============================================\n\n");
     printf("_____________________________________________\n");
     printf("|                                           |\n");
     printf("|                菜单栏                     |\n");
     printf("|___________________________________________|\n");
     printf("|(1)输入学生姓名,学号,分数              |\n");
     printf("|(2)显示已存储成绩                        |\n");
     printf("|(3)                                      |\n");
     printf("|(4)                                      |\n");
     printf("|(5)                                      |\n");
     printf("|(6)                                      |\n");
     printf("|(7)                                      |\n");
     printf("|(8)                                      |\n");
     printf("|(9)                                      |\n");
     printf("|(0)end                                   |\n");
     printf("|(输入括号里的数字,程序开始运行)         |\n");
     printf("|___________________________________________|\n");

     scanf("%d",&q);
     switch (q) {
     case 1:input(); break;

     case 0:end(); break;
     }



     return 0;
}

void end() {
    printf("程序结束,欢迎下次使用。");
}

void input() {
    int fclose(FILE *fp);
    int Z,i;
    int Return;

    COORD coord;
    system("cls");
    printf("_____________________________________________________________________________________________\n");
    printf("| number |    student    |student ID  |科目1            |科目2            |科目3            |\n");
    printf("|________|_______________|____________|_________________|_________________|_________________|\n");


        for ( i = 0; i<n; i++)
        {
            FILE *fp;
            fp = fopen("D:\\score.txt", "w");

            printf("%d\t", i + 1);

            /*name*/
            coord.X = 10; //第3+i列
            coord.Y = 3+i; //第10行
                         //获取控制台缓冲区句柄
            HANDLE ConsoleHandleName = GetStdHandle(STD_OUTPUT_HANDLE);
            //设置光标位置
            SetConsoleCursorPosition(ConsoleHandleName, coord);
            printf("name:");
            scanf("%s", stud[i].name);

            /*ID*/
            coord.X = 26; //第26列
            coord.Y = 3+i; //第3+i行
                          //获取控制台缓冲区句柄
            HANDLE ConsoleHandleID = GetStdHandle(STD_OUTPUT_HANDLE);
            //设置光标位置
            SetConsoleCursorPosition(ConsoleHandleID, coord);
            printf("ID:");
            scanf("%s", stud[i].num);
            getchar();

            /*科目一math*/
            coord.X = 39; //第40列
            coord.Y = 3 + i; //第3+i行
                             //获取控制台缓冲区句柄
            HANDLE ConsoleHandle1 = GetStdHandle(STD_OUTPUT_HANDLE);
            //设置光标位置
            SetConsoleCursorPosition(ConsoleHandle1, coord);
            printf("科目一:");
            scanf("%d", &stud[i].math);

            /*科目二eng*/
            coord.X = 57; //第50列
            coord.Y = 3 + i; //第3+i行
                             //获取控制台缓冲区句柄
            HANDLE ConsoleHandle2 = GetStdHandle(STD_OUTPUT_HANDLE);
            //设置光标位置
            SetConsoleCursorPosition(ConsoleHandle2, coord);
            printf("科目二:");
            scanf("%d", &stud[i].Eng);

            /*科目三chin*/
            coord.X = 75; //第60列
            coord.Y = 3 + i; //第3+i行
                             //获取控制台缓冲区句柄
            HANDLE ConsoleHandle3 = GetStdHandle(STD_OUTPUT_HANDLE);
            //设置光标位置
            SetConsoleCursorPosition(ConsoleHandle3, coord);
            printf("科目三:");
            scanf("%d", &stud[i].Chin);



            fprintf(fp, "学号        姓名       科目一       科目二      科目三     ave\n");
            fprintf(fp, "%d%16s %d%16s %16f %d%16s %d%16s\n", stud[i].num, stud[i].name, stud[i].math,
                stud[i].Eng, stud[i].Chin, stud[i].ave);//math, Eng, Chin, ave
        }

              /*________ | _______________ | ____________ | _________________ | _________________ | _________________ |*/
        printf("\n=======================================================================================================");
        printf("\n======================是否删除原数据并写入新数据,按0确定,按1取消并返回菜单栏=========================");
        printf("\n=======================================================================================================\n");

        scanf("%d", &Z);
        if (Z == 1 ) {

            FILE *fp;
            fp = fopen("D:\\score.txt", "w");

            fprintf(fp, "学号        姓名       科目一       科目二      科目三     ave\n");

            printf("\n\n+++++++++++++++++++++++++取消存储并返回菜单栏+++++++++++++++++++++++++\n\n");


        }//end if
        else printf("\n\n*******************恭喜,保存完成!即将返回菜单栏*******************\n\n");

        printf("+++++++++++++++++++++++++5s后返回返回菜单栏+++++++++++++++++++++++++");
        Sleep(5 * 1000); //sleep for 5 seconds
        fclose(fp);//关闭txt
        Return = menu();


}


void read() {
    int Return;
    int fclose(FILE *fp);
    int Z;
    char name[10];
    char num[20];
    COORD coord;
    FILE *fp;
    system("cls");

    if ((fp = fopen("score.txt", "r")) == NULL) {
        printf("+++++++++++++++++++++++++++Fail to open file!+++++++++++++++++++++++++++\n");
        printf("++++++++++++++++++++++++++++++即将返回菜单++++++++++++++++++++++++++++++\n");
        Sleep(5 * 1000); //sleep for 5 seconds
        Return = menu();  //返回菜单

       }//end if

    fp = fopen("D:\\score.txt", "r");/*以读模式("r")打开文件score.txt*/
    fscanf(fp, "%s", name);
    fscanf(fp, "%s", num);/*从文件读取*/

    printf("%s\n%s", name, num);
    fclose(fp); /*关闭文件*/


    Return = menu();
}










  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?