#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 mingci
char xuehao[8]
char mingzi[20]
float score[6]
}data,info[1000]
int i,j,k=0
char temp[20],ch
FILE *fp,*fp1
void shuru()
{
if((fp=fopen("s_score.txt","ab+"))==NULL)
{
printf("cannot open this file.\n")
getch()exit(0)
}
for(i=0i<=1000i++)
{
printf("\nPlease shuru xuehao:")
gets(data.xuehao)
printf("Please shuru mingzi:")
gets(data.mingzi)
printf("Please shuru yuwen score:")
gets(temp)data.score[0]=atof(temp)
printf("Please shuru shuxue score:")
gets(temp)data.score[1]=atof(temp)
printf("Please input yingyu score:")
gets(temp)data.score[2]=atof(temp)
printf("Please shuru wuli score:")
gets(temp)data.score[3]=atof(temp)
printf("Please shur huaxue score:")
gets(temp)data.score[4]=atof(temp)
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4]
fwrite(&data,sizeof(data),1,fp)
printf("another?y/n")
ch=getch()
if(ch=='n'||ch=='N')
break
} fclose(fp)
}
void xianshi()
{
float sint n
if((fp=fopen("s_score.txt","rb+"))==NULL)
{
printf("胡乱老Cannot reading this file.\n")
exit(0)
}
for(i=0i<=1000i++)
{
if((fread(&info[i],sizeof(info[i]),1,fp))!=1)
break
}
printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n")
for(j=0,k=1j<ij++,k++)
{
info[j].mingci=k
printf("%6s %8s %3.1f %3.1f%3.1f%3.1f%3.1f %3.1f\n",info[j].xuehao,info[j].mingzi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4],
info[j].score[5])
}
getch()
fclose(fp)
}
void xiugai()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("Cannot open this file.\n")
exit(0)
}
printf("\nPLease shuru xiugai xuehao:")
scanf("%d",&i)getchar()
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao)
if(j==i)
{
printf("xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi)
printf("Please shuru mingzi:")
gets(data.mingzi)
printf("Please shuru yuwen score:")
gets(temp)data.score[0]=atof(temp)
printf("Please shuru shuxue score:")
gets(temp)data.score[1]=atof(temp)
printf("Please input yingyu score:")
gets(temp)data.score[2]=atof(temp)
printf("Please input wuli score:")
gets(temp)data.score[3]=atof(temp)
printf("Please input huaxue score:")
gets(temp)data.score[4]=atof(temp)
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4]
} fwrite(&data,sizeof(data),1,fp1)
}
fseek(fp,0L,0)
fseek(fp1,0L,0)
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp)
}
fclose(fp)
fclose(fp1)
}
void chazhao()
{
if((fp=fopen("s_score.txt","rb"))==NULL)
{
printf("\nCannot open this file.\n")
exit(0)
}
printf("\nPLease shuru xuehao chakan:")
scanf("%d",&i)
while(fread(&data,sizeof(data),1,fp)==1)
{
j=atoi(data.xuehao)
if(i==j)
{
printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5])
}getch()
}
}
void shanchu()
{
if((fp=fopen("s_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(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao)
if(j==i)
{
printf("Anykey will delet it.\n")
getch()
continue
}
fwrite(&data,sizeof(data),1,fp1)
}
fclose(fp)
fclose(fp1)
remove("s_score.txt")
rename("temp.txt","s_score.txt")
printf("Data delet was succesful!\n")
printf("Anykey will return to main.")
getch()
}
main()
{
while(1)
{
clrscr()/*清屏幕*/
gotoxy(1,1)/*移动光标*/
textcolor(YELLOW) /*设置文本显示颜色为黄色*/
textbackground(BLUE) /*设置背景颜色为蓝色*/
window(1,1,99,99) /* 制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr()
printf("*************welcome to use student manage******************\n")
printf("*************************menu********************************\n")
printf("* ========================================================= * \n")
printf("* 1>shuru2>xiugai * \n")
printf("* 3>shanchu 4>chazhao* \n")
printf("* 5>xianshi 6>exit * \n")
printf("* * \n")
printf("* --------------------------------------------------------- * \n")
printf(" Please input which you want(1-6):")
ch=getch()
switch(ch)
{
case '1':shuru()break
case '2':xiugai()break
case '3':shanchu() break
case '4':chazhao()break
case '5':xianshi() break
case '6':exit(0)
default: continue
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)