📄 add_disp.c
字号:
#include "student.h"
void showTable(void)
{
int j;
printf("学号\t姓名\t性别");
for(j=0;j<NUM_SUBJECT;j++)
printf("\t%s",subject[j]);
printf("\t总分\t平均分\t名次\n");
}
void display(void)
{
int i,j;
if(numStus==0)
{
printf("没有可供显示的记录!");
return;
}
showTable();
for(i=0;i<numStus;i++)
{
printf("%s\t%s\t%s",records[i].number,records[i].name,records[i].gender);
for(j=0;j<NUM_SUBJECT;j++)
printf("\t%.1f",records[i].score[j]);
printf("\t%.1f\t%.1f\t%d\n",records[i].sum,records[i].average,records[i].index);
if(i%20==0&&i!=0)
{
printf("输出任一字符后继续...\n");
getch();
printf("\n\n");
showTable();
}
}
}
void addRecord(void)
{
char str[10];
int j;
float mark,sum;
if(numStus==0)
printf("原来没有记录,现在建立新表\n");
while(1)
{
printf("您将要添加一组信息,确定吗?(Y/N)");
gets(str);
if(str[0]=='n'||str[0]=='N')
break;
if(numStus>=arraySize)
{
records=realloc(records,(arraySize+INCR_SIZE)*sizeof(StuInfo));
if(records==NULL)
{
printf("memory failed!");
exit(-1);
}
arraySize=arraySize+INCR_SIZE;
}
printf("请输入学号:");
gets(records[numStus].number);
printf("请输入姓名:");
gets(records[numStus].name);
printf("请输入性别(0为女,1为男):");
gets(str);
if(str[0]=='0')
strcpy(records[numStus].gender,"女");
else
strcpy(records[numStus].gender,"男");
sum=0;
for(j=0;j<NUM_SUBJECT;j++)
{
printf("请输入%s成绩:",subject[j]);
gets(str);
mark=(float)atof(str);
records[numStus].score[j]=mark;
sum+=mark;
}
records[numStus].sum=sum;
records[numStus].average=sum/NUM_SUBJECT;
records[numStus].index=getIndex(sum);
numStus++;
}
printf("现在一共有%d条信息\n",numStus);
savedTag=1;
}
int getIndex(float sum)
{
int i;
int count=0;
for(i=0;i<numStus;i++)
{
if(records[i].sum<sum)
{
records[i].index++;
}
else if(records[i].sum>sum)
{
count++;
}
}
return count+1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -