0

所以我有一系列结构,比如说学生成绩。未确定长度的数据列表(由文件加载),格式为 student:test1:test2:lettergrade 我希望能够通过提示用户输入字母等级来“搜索”,然后按回车键,程序会找到所有学生使用该字母等级并打印出来。

在做了一些研究之后,我认为也许做一个 strrchr 将是解决方案。但除了得出这个结论之外,我有点不知所措......有人可以在这里指出我正确的方向吗?

这是我到目前为止尝试过的...当我尝试运行它时,在我输入字母等级进行搜索后,我的程序崩溃了。

void gradeLetter (STUREC records[], int count)
{

int j;
char letter;
int s;
int i;

printf("Enter letter grade you wish to view: ");
scanf("%s", letter);

for(j = 0; j < count; j++)
    {s = strrchr (records[count].grade, "letter");

  if (s != NULL)
  {

    printf("\n+---------------------------+--------+--------+--------+--------+--------+--------+---------+-------+\n");
    printf("| Student Name              |   ID   | Test 1 | Test 2 | Proj 1 | Proj 2 | Proj 3 | Average | Grade |\n");
    printf("+---------------------------+--------+--------+--------+--------+--------+--------+---------+-------+\n");

    for (i = 0; i < count; i++)
    {
        int count = printf( "| %s, %s", records[i].lname, records[i].fname );
if ( count < NAME_LEN )
    printf( "%*s", NAME_LEN - count, "" ); printf ("| %-7.6d| %4d   | %4d   | %4d   | %4d   | %4d   | %6.2f  |  %-2s   |\n", records[i].id, records[i].score1,
                 records[i].score2, records[i].score3, records[i].score4, records[i].score5,
                  records[i].ave, records[i].grade);
    }
    printf("+---------------------------+--------+--------+--------+--------+--------+--------+---------+-------+\n");

    }
    }

  return 0;
}
4

0 回答 0