正文

学生成绩管理系统2006-06-19 12:54:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wojiele/15992.html

分享到:

#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=0;i<=1000;i++)
{
    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 s;int n;
    if((fp=fopen("s_score.txt","rb+"))==NULL)
    {
     printf("Cannot reading this file.\n");
     exit(0);
    }
    for(i=0;i<=1000;i++)
    {
     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=1;j<i;j++,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>shuru        2>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;
    }
}
}

阅读(7338) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册