#include <stdio.h>
extern fp;
struct Tdate
{
int year;
int month;
int date;
};
struct Tmark
{
float pol;
float chn;
float eng;
float com;
float oral;
};
struct Tinform
{
char name[20];
char sex;
float age;
char schoolrecord;
float worklen;
char wordsite[100];
Tmark mark;
float Sage;
float Srecord;
float Swlen;
float total;
};
void main()
{
void ARRANGE(struct Tinform in[]);
void CALCUT(struct Tinform in[]);
void PRNINF(int K);
void PRNMARK();
void PRNPER();
void READIN();
struct Tdate deadline;
FILE *p;
char choice;
int K;
int I=0;
struct Tinform findnum;
FILE *num;
num=fopen("filelist.dat","rb");
while(!feof(num))
{fread(&findnum,sizeof(struct Tinform),1,num);
I++;
}
printf("* * * * 欢迎使用干部录取系统! * * * */n");
printf("/n 输入应聘者信息 ——请输入 A/n");
printf("/n 输入成绩总表 ——请输入 B/n");
printf("/n 输出录取通知书 ——请输入 C/n");
printf("/n 查询应聘者信息 ——请输入 D/n");
printf("/n 设定招聘截止日期——请输入 E/n/n");
printf("* * * * * * * * * * * * * * * * * * * * */n/n");
printf("------- 请输入您的选项:");
choice=getchar();
while(choice=='A' || choice=='B' || choice=='C' || choice=='D' || choice=='E')
{
switch(choice)
{
case 'A':READIN();break;
case 'B':if(I-1==0)
{printf("/n* * * 您未输入任何应聘者信息,请先输入!* * */n");
break;
}
else {PRNMARK();break;}
case 'C':if(I-1==0)
{printf("/n* * * 您未输入任何应聘者信息,请先输入!* * */n");
break;
}
printf("/n* * * * 请输入录取人数:");
scanf("%d",&K);
do
{
if(K>I-1)
{
printf("/n* * * * 录取人数太多,当前应聘者只有 %d 人,请重新输入人数:——",I-1);
scanf("%d",&K);
}
else break;
}while(K>I-1);
PRNINF(K);
break;
case 'D':if(I-1==0)
{printf("/n您未输入任何应聘者信息,请先输入!/n");
break;
}
else {PRNPER();break;}
case 'E':p=fopen("deadline.dat","wb");
printf("/n请输入招聘截止日期(如2008年8月8日,可输入为2008 8 8,按回车键结束。):");
scanf("%d %d %d",&deadline.year,&deadline.month,&deadline.date);
fwrite(&deadline,sizeof(struct Tdate),1,p);
break;
default:break;
}
printf("/n若继续请输入选项:/n/n*** A--输入应聘者信息/n *** B--输出成绩总表/n *** C--输出录取通知书/n *** D--查询应聘者信息/n *** 退出请输入其它字母! *** ");
choice=getchar();
choice=getchar();
}
printf("/n* * * * * * * * * * * * * * * * * * * * * * * * */n");
printf("/n- - - - 谢谢您使用此干部录取系统!再见!- - - -/n");
printf("/n* * * * * * * * * * * * * * * * * * * * * * * * */n/n/n");
}
02-13