You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

285 lines
7.1 KiB

1 year ago
#include<stdio.h>
#include<stdlib.h>
typedef struct student{
char name[25];
int num;
int t;
int f;
float total;
}STU;
typedef struct textpaper{
char title[1000];
char a[100];
char b[100];
char c[100];
char d[100];
char answer;
}Paper;
void Openfile();//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
float pinfen(char,char);//<2F><><EFBFBD><EFBFBD>
void chengji(); //<2F><><EFBFBD>ճɼ<D5B3><C9BC>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>
void design();//<2F><><EFBFBD><EFBFBD>ϵͳ
void check();//<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD>
void del();//ɾ<><C9BE><EFBFBD><EFBFBD>Ŀ
void alter();//<2F>޸<EFBFBD><DEB8><EFBFBD>Ŀ
int a=0,d=0,t=0;//a<><61>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> t<><74>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <-ȫ<>ֱ<EFBFBD><D6B1><EFBFBD>
struct student stu[100];
Paper problem[1000];
int main(){
char ch,ch1,key;//key<65><79>ʾѧ<CABE><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
float sum=0,count=0;
int b,c;
Openfile();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
printf("================================================================================\n\n");
printf("================================================================================\n\n");
printf("*************************<2A><>ӭʹ<D3AD>ÿ<EFBFBD><C3BF><EFBFBD>ϵͳ*******************************\n\n");
printf("--------------------------------------------------------------------------------\n\n");
printf("********************************************************************************\n\n");
printf("================================================================================\n\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳϵͳ<EFBFBD><EFBFBD>\n");
getchar();
system("cls");
printf("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: y/n yΪ<79>ǣ<EFBFBD><6E><CEAA><EFBFBD><EFBFBD>\n");
scanf("%c",&ch1);
getchar();
if(ch1=='y'||ch1=='Y'){
printf("--------------------------<2D><>¼<EFBFBD><C2BC>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ-----------------------------\n");
printf("--------------------<2D>Ƿ<EFBFBD>ѡ<EFBFBD><D1A1>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y/N --------\n");
printf("--------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-------\n");
scanf("%c",&ch);
getchar();
if(ch=='y'||ch=='Y'){
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
scanf("%d",&a);
for(int i=0;i<a;i++){
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%dλѧ<CEBB><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ\n",i+1);
scanf("%s %d",stu[i].name,&stu[i].num);
getchar();
}
system("cls");
}
else{
a=1;
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ:\n");
scanf("%s %d",stu[0].name,&stu[0].num);//
getchar();
system("cls");
}
printf("׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣡣<EFBFBD>\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n");
scanf("%c",&ch);
getchar();
if(ch=='y'||ch=='Y'){
printf("<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д𰸾<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>Ĵ𰸴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
printf("<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD>\n",t);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>!\n");
}
for(int j=0;j<a;j++){
sum=0;
for(int i=0;i<t;i++){
printf("<EFBFBD><EFBFBD>%d<><64>\n",i+1);
printf("<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>\n");
printf("%s\n",problem[i].title);
printf("A:%s\n",problem[i].a);
printf("B:%s\n",problem[i].b);
printf("C:%s\n",problem[i].c);
printf("D:%s\n",problem[i].d);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ𰸣<EFBFBD>");
key=getchar();
getchar();
count=pinfen(key,problem[i].answer);//<2F>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sum+=count;
system("cls");//<2F><><EFBFBD><EFBFBD>
}
stu[j].total=sum;
printf("<EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>%s\n",stu[j].name);
printf("<EFBFBD>ܷ<EFBFBD>:%.2f\n",stu[j].total);
}
chengji();//<2F><><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD>ɼ<EFBFBD>
}
else{
while(1){//
system("cls");
printf(" *************************<2A>˵<EFBFBD>****************************\n");
printf(" * 1. <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> 2. <20><EFBFBD><E9BFB4><EFBFBD><EFBFBD> *\n");
printf(" * 3. ɾ<><C9BE><EFBFBD><EFBFBD>Ŀ 4. <20>޸<EFBFBD><DEB8><EFBFBD>Ŀ *\n");
printf(" *********************************************************\n");
z: printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫѡ<EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD>ܣ<EFBFBD>\n");
scanf("%d",&c);
getchar();
switch(c){
case 1:
design();//<2F><><EFBFBD><EFBFBD>ϵͳ
break;
case 2:
check();//<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD>
break;
case 3:
del();//ɾ<><C9BE><EFBFBD><EFBFBD>Ŀ
break;
case 4:
alter();//<2F>޸<EFBFBD><DEB8><EFBFBD>Ŀ
break;
default:
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:(\n");
goto z; //<2F><>չ<EFBFBD><D5B9>goto<74><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> ͷ<>ļ<EFBFBD>stdio
}
}
}
return 0;
}
void Openfile(){ //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
int i=0;
FILE *fp1;
fp1= fopen("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data2.txt","ab+");//<2F><>׷<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ļ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ԭ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>׷<EFBFBD><D7B7>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>β<EFBFBD><CEB2>׷<EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD>󣬿<EFBFBD><F3A3ACBF><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
if(fp1==NULL){
printf("<EFBFBD>ܱ<EFBFBD>Ǹ<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:( \n");
}
while(!feof(fp1)){//feof <20><>ʾ<EFBFBD>ļ<EFBFBD><C4BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
if( fread(&problem[t],sizeof(Paper),1,fp1)==1){//fread <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
t++;//<2F><>ȡ<EFBFBD><C8A1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
fclose(fp1);//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>©<EFBFBD><C2A9>
}
void design(){//<2F><><EFBFBD><EFBFBD>ϵͳ
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>\n");
gets(problem[t].title);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Aѡ<EFBFBD>\n");
gets(problem[t].a);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Bѡ<EFBFBD>\n");
gets(problem[t].b);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cѡ<EFBFBD>\n");
gets(problem[t].c);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dѡ<EFBFBD>\n");
gets(problem[t].d);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷѡ<EFBFBD>\n");
problem[t].answer=getchar();
t++;
}
void check(){//<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD>
int i;
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD>Ŀ\n",t);
for(i=0;i<t;i++){
printf("<EFBFBD><EFBFBD>%d<>\n",i+1);
printf("<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>\n");
printf("%s\n", problem[i].title);
printf(" A:%s\n", problem[i].a);
printf(" B:%s\n", problem[i].b);
printf(" C:%s\n", problem[i].c);
printf(" D:%s\n", problem[i].d);
printf("<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%c\n", problem[i].answer);
}
putchar('\n');
system("pause");
}
void del(){//ɾ<><C9BE><EFBFBD><EFBFBD>Ŀ
int i;
char chi;
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ı<EFBFBD><EFBFBD>ţ<EFBFBD>\n");
scanf("%d",&i);
getchar();
i=i-1;
printf("<EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>\n");
printf("<EFBFBD><EFBFBD>%d<><64>\n",i+1);
printf("<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>\n");
printf("%s\n", problem[i].title);
printf(" A:%s\n", problem[i].a);
printf(" B:%s\n", problem[i].b);
printf(" C:%s\n", problem[i].c);
printf(" D:%s\n", problem[i].d);
printf("<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%c\n", problem[i].answer);
printf("\n<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y/N\n");
chi = getchar();
getchar();
if(chi=='N'||chi=='n'){
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>:(\n");
system("pause");
return;
}
for(;i<t;i++){
problem[i]=problem[i+1];
}
t--;
printf("ɾ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :)\n\n");
system("pause");
}
void alter(){//<2F>޸<EFBFBD><DEB8><EFBFBD>Ŀ
int i;
char chi;
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸ĵ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ı<EFBFBD><EFBFBD>ţ<EFBFBD> ");
scanf("%d", &i);
i = i - 1;
getchar();
printf("\n<EFBFBD><EFBFBD>Ҫ<EFBFBD>޸ĵ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> \n");
printf("\nNo.%d\n", i + 1);
printf("Title:\n");
printf("%s\n", problem[i].title);
printf(" A:%s\n", problem[i].a);
printf(" B:%s\n", problem[i].b);
printf(" C:%s\n", problem[i].c);
printf(" D:%s\n", problem[i].d);
printf("<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%c\n", problem[i].answer);
printf("\n<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>޸ĸ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y/N\n");
chi = getchar();
getchar();
if(chi == 'N' || chi == 'n')
{
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>˵<EFBFBD>ҳ<EFBFBD><EFBFBD> :)\n\n");
system("pause");
return;
}
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>\n");
gets(problem[i].title);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Aѡ<EFBFBD>\n");
gets(problem[i].a);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Bѡ<EFBFBD>\n");
gets(problem[i].b);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cѡ<EFBFBD>\n");
gets(problem[i].c);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dѡ<EFBFBD>\n");
gets(problem[i].d);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷѡ<EFBFBD>\n");
problem[i].answer = getchar();
printf("<EFBFBD>޸ijɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> :)\n\n");
system("pause");
}
float pinfen(char key,char ch){
if(key==ch){
return 10.0;
}
else
return 0.0;
}
void chengji(){//ð<><C3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
STU temp;
float sum=0;
printf("*<2A><><EFBFBD><EFBFBD> ѧ<><D1A7> <20>ɼ<EFBFBD>\n");
for(int i=0;i<a;i++){
for(int j=i+1;j<a;j++){
if(stu[i].total<stu[j].total){
temp=stu[j];
stu[j]=stu[i];
stu[i]=temp;
}
}
}
for(int i=0;i<a;i++){
printf("%s %03d %.2f \n ",stu[i].name,stu[i].num,stu[i].total);
sum+=stu[i].total;
}
printf("****ƽ<><C6BD><EFBFBD><EFBFBD>Ϊ%.2f\n",sum/a);
}