📄 1.c
字号:
#include "stdio.h" /*I/O函数*/
#include "stdlib.h" /*其它说明*/
#include "string.h" /*字符串函数*/
#include "conio.h" /*屏幕操作函数*/
#include "mem.h" /*内存操作函数*/
#include "ctype.h" /*字符操作函数*/
#include "alloc.h" /*动态地址分配函数*/
struct score
{
int order;
char number[15];
char name[20];
float score[6];
}recored,space[50];
int i,j,k=0;
char temp[20],ch;
FILE *fp,*fp1;
void put_data()
{
if((fp=fopen("score.txt","ab+"))==NULL)
{
printf("cannot open this file.\n");
getch();exit(0);
}
for(i=0;i<=50;i++)
{
printf("\nPlease input number:");
gets(recored.number);
printf("Please input name:");
gets(recored.name);
printf("Please input Chinese score:");
gets(temp);recored.score[0]=atof(temp);
printf("Please input Math score:");
gets(temp);recored.score[1]=atof(temp);
printf("Please input English score:");
gets(temp);recored.score[2]=atof(temp);
printf("Please input Physics score:");
gets(temp);recored.score[3]=atof(temp);
printf("Please shur Chemistry score:");
gets(temp);recored.score[4]=atof(temp);
recored.score[5]=(recored.score[0]+recored.score[1]+recored.score[2]+recored.score[3]+recored.score[4])/5;
fwrite(&recored,sizeof(recored),1,fp);
printf("another?y/n");
ch=getch();
if(ch=='n'||ch=='N')
break;
} fclose(fp);
}
void output_data()
{
float s;int n;
if((fp=fopen("score.txt","rb+"))==NULL)
{
printf("Cannot reading this file.\n");
exit(0);
}
for(i=0;i<=50;i++)
{
if((fread(&space[i],sizeof(space[i]),1,fp))!=1)
break;
}
printf("\nnumber name Chinese Math English Physics Chemistry Average\n");
for(j=0,k=1;j<i;j++,k++)
{
space[j].order=k;
printf("%6s %8s %3.1f %3.1f %3.1f %3.1f %3.1f %3.1f\n",space[j].number,space[j].name,space[j].score[0],space[j].score[1],space[j].score[2],space[j].score[3],space[j].score[4],
space[j].score[5]);
}
getch();
fclose(fp);
}
void change_data()
{
if((fp=fopen("score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("Cannot open this file.\n");
exit(0);
}
printf("\nPLease input change_data number:");
scanf("%d",&i); getchar();
while((fread(&recored,sizeof(recored),1,fp))==1)
{
j=atoi(recored.number);
if(j==i)
{
printf("number:%s\nname:%s\n",recored.number,recored.name);
printf("Please input name:");
gets(recored.name);
printf("Please input Chinese score:");
gets(temp);recored.score[0]=atof(temp);
printf("Please input Math score:");
gets(temp);recored.score[1]=atof(temp);
printf("Please input English score:"); gets(temp);recored.score[2]=atof(temp);
printf("Please input Physics score:");
gets(temp);recored.score[3]=atof(temp);
printf("Please input Chemistry score:");
gets(temp);recored.score[4]=atof(temp);
recored.score[5]=(recored.score[0]+recored.score[1]+recored.score[2]+recored.score[3]+recored.score[4])/5;
} fwrite(&recored,sizeof(recored),1,fp1);
}
fseek(fp,0L,0);
fseek(fp1,0L,0);
while((fread(&recored,sizeof(recored),1,fp1))==1)
{
fwrite(&recored,sizeof(recored),1,fp);
}
fclose(fp);
fclose(fp1);
}
void search()
{
if((fp=fopen("score.txt","rb"))==NULL)
{
printf("\nCannot open this file.\n");
exit(0);
}
printf("\nPLease input number to see:");
scanf("%d",&i);
while(fread(&recored,sizeof(recored),1,fp)==1)
{
j=atoi(recored.number);
if(i==j)
{
printf("number:%s name:%s\nChinese:%f\n Math:%f\n English:%f\n Physics:%f\n Chemistry:%f\n ",recored.number,recored.name,recored.score[0],recored.score[1],recored.score[2],recored.score[3],recored.score[4],recored.score[5]);
}getch();
}
}
void delete()
{
if((fp=fopen("score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("\nopen score.txt was failed!");
getch();
exit(0);
}
printf("\nPlease input ID which you want to del:");
scanf("%d",&i);getchar();
while((fread(&recored,sizeof(recored),1,fp))==1)
{
j=atoi(recored.number);
if(j==i)
{
printf("Anykey will delet it.\n");
getch();
continue;
}
fwrite(&recored,sizeof(recored),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("score.txt");
rename("temp.txt","score.txt");
printf("recored delet was succesful!\n");
printf("Anykey will return to main.");
getch();
}
main()
{
while(1)
{
clrscr();
gotoxy(1,1);
textcolor(GREEN);
textbackground(BLACK);
window(1,1,99,99);
clrscr();
printf("\n\n\n\t (*^__^*) Student's Score System (*^__^*) \n");
printf("\t \n");
printf("\t 1>input \n");
printf("\t 2>change \n");
printf("\t 3>delete \n");
printf("\t 4>search \n");
printf("\t 5>output \n");
printf("\t 6>exit \n");
printf("\t \n");
printf("\t (*^__^*) \n");
printf("Enter number(1-6):");
ch=getch();
switch(ch)
{
case '1':clrscr();put_data();break;
case '2':clrscr();change_data(); break;
case '3':clrscr();delete(); break;
case '4':clrscr();search(); break;
case '5':clrscr();output_data(); break;
case '6':clrscr();printf("\n\n\n\n\n\n\n\n\t\t\t\tGOOD BYE!");getch();exit(0);
default: continue;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -