程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c語言-關於C語言文本類型輸入

c語言-關於C語言文本類型輸入

編輯:編程解疑
關於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;
        }
    }
}

最佳回答:


我調了下你的程序,只是把if ((fp = fopen ("StudentInformation.txt", "a") == NULL))裡的fp = fopen()放到了外邊,可以出結果的呀。txt存到數據了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved