学生成绩管理系统(信息的合成)

下面是信息的合成的代码:






#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include"qtsm.h"
extern int read_dir, write_dir;
int comp_infor()
{
if (insure == 1)
{
FILE *grain1, *grain2;
p1 = p2 = head = NULL;
grain1 = fopen("Text1.txt", "r");
char index[30];
int n = 0;
p1 = p2 = head = malloc(sizeof(infor));
if (fscanf(grain1, "%s", index) == EOF) { printf("未找到信息!\n"); return 0; }
else {
strcpy(p1->name, index);
}
fscanf(grain1, "%s", p1->number);
fscanf(grain1, "%s", p1->gender);
fscanf(grain1, "%d", &p1->math);
fscanf(grain1, "%d", &p1->chi);
fscanf(grain1, "%d", &p1->Eng);
fscanf(grain1, "%d", &p1->phy);
fscanf(grain1, "%d", &p1->chem);
while (fscanf(grain1, "%s", index) != EOF)
{
n++;
if (n != 1) { p2->next = p1; }
p2 = p1;
p1 = malloc(sizeof(infor));
strcpy(p1->name, index);
fscanf(grain1, "%s", p1->number);
fscanf(grain1, "%s", p1->gender);
fscanf(grain1, "%d", &p1->math);
fscanf(grain1, "%d", &p1->chi);
fscanf(grain1, "%d", &p1->Eng);
fscanf(grain1, "%d", &p1->phy);
fscanf(grain1, "%d", &p1->chem);
}
fclose(grain1);
grain2 = fopen("Text2.txt", "r");
while (fscanf(grain2, "%s", index) != EOF)
{
p2->next = p1; 
p2 = p1;
p1 = malloc(sizeof(infor));
strcpy(p1->name, index);
fscanf(grain2, "%s", p1->number);
fscanf(grain2, "%s", p1->gender);
fscanf(grain2, "%d", &p1->math);
fscanf(grain2, "%d", &p1->chi);
fscanf(grain2, "%d", &p1->Eng);
fscanf(grain2, "%d", &p1->phy);
fscanf(grain2, "%d", &p1->chem);
}
p2->next = p1;
p1->next = NULL;
fclose(grain2);
return 0;
}
else
{
printf("您未输入学生成绩不能合成!\n");
int nn = 0;
printf("您需要输入学生成绩!  帮您自动跳转!\n");
in_put();
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/lannister_awalys_pay/article/details/80142610