Chinaunix首页 | 论坛 | 博客
  • 博客访问: 124347
  • 博文数量: 31
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 470
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-31 20:04
文章分类

全部博文(31)

文章存档

2011年(1)

2008年(30)

我的朋友

分类:

2008-04-01 23:04:54

#include "stdio.h"
#include"stdlib.h"
#include"string.h"
#include"process.h"
#define N 3
#include"top.c"


void main_1();
struct students{
 int n;
 char name[20];
 float cj[3];
}st[3];


int i=0; //计数器;
void init(struct students st[],int num){
 int j,c,xz,m;
 FILE *fp1,*fp2;//fp1中存i值;fp2为读入文件;
 printf("按1从文件导入数据,按2重新输入数据;");
 scanf("%d",&xz);
 if(xz==1){
  fp1=fopen("d:\\c\\i.txt","r");
   if(fp1==NULL){
    printf("文件中尚无记录!");
    exit(1);
   }
  fscanf(fp1,"%d",&i);//读出i的值;
  fp2=fopen("d:\\c\\SSMS.txt","r");
   if(fp2==NULL){
    printf("文件不存在,请检查(d:\c\学生成绩管理.txt)是否存在。");
    exit(1);
   }
  printf("\t\n编号\t姓名\t语文\t数学\t英语\n");
  for(m=0;m  fscanf(fp2,"%d%s%d%d%d",&st[m].n,st[m].name,&st[m].cj[0],&st[m].cj[1],&st[m].cj[2]);
  printf("%3d\t%3s\t%3d\t%3d\t%3d\n",st[m].n,st[m].name,st[m].cj[0],st[m].cj[1],st[m].cj[2]);
  } 
  printf("文件导入成功!按ENTER返回主界面。");getchar();getchar();
  system("cls");
  main_1();
 } 
 else{
  do{
    st[i].n=i;
    printf("请输入编号%d的姓名:",st[i].n+1);
    fflush(stdin);
    gets(st[i].name);
    for(j=0;j     printf("第%d门成绩:",j+1);
     scanf("%f",&st[i].cj[j]);
     if(st[i].cj[j]<0||st[i].cj[j]>100) {
      fflush(stdin);printf("输入失败,成绩范围在0-100之间!\n");j--;
     }
    }
    i++;
   printf("还要输入吗?(y/n)");fflush(stdin);
   c=getchar();
  }while(c=='y'||c=='Y');
  system("cls");
  main_1();
 }
}

 


void paixu(){
   int m,j,n,c;
 struct students p;
 do{ 
  if(i==0) {
   printf("尚未找到成绩,请按回车回主页面添加;"); fflush(stdin);
   getchar();system("cls");main_1();
  }
  else{
   printf("请选择按哪一门成绩进行排序(1-3):");
   scanf("%d",&n);
   printf("您选择了按第%d门成绩排序:",n);
   for(m=0;m    for(j=m+1;j     if(st[m].cj[n-1]      p=st[m];
      st[m]=st[j];
      st[j]=p;
     }
   }
   printf("\t\n编号\t姓名\t语文\t数学\t英语\n");
   for(m=0;m    printf("\t\n%d\t%s\t%d\t%d\t%d\n",st[m].n,st[m].name,st[m].cj[0],st[m].cj[1],st[m].cj[2]);
  }
  printf("还要输入吗?(y/n)");fflush(stdin);
  c=getchar();
 }while(c=='y'||c=='Y');
 fflush(stdin);
 getchar();
 system("cls");
 main_1();
}

 


void chaxun(){
 int n,xh,m,c,flag=0;
 char name[20];
 do{ 
  if(i==0) {
   printf("尚未找到成绩,请按回车回主页面添加;"); fflush(stdin);
   getchar();system("cls");main_1();
  }
  else{
   printf("请选择按什么方式进行查询\n按1以学号查询,按2以姓名查询:");
   scanf("%d",&n);
   if(n==1){
    printf("您选择了按学号查询:\n");    
     printf("请输入您要查询的学号:");
     scanf("%d",&xh);
     for(m=0;m      if(xh==st[m].n)
       flag=1;
     if(flag==1){
      printf("\t\n编号\t姓名\t语文\t数学\t英语\n");
      printf("%d\t%s\t%d\t%d\t%d\n",st[xh].n,st[xh].name,st[xh].cj[0],st[xh].cj[1],st[xh].cj[2]);
     }else
      printf("暂无该学员数据。\n");
   }
   else{
    printf("您选择了按姓名查询:\n");
     printf("请输入您要查询的姓名:");
     scanf("%s",name);
     for(m=0,flag=0;m      if(strstr(st[m].name,name)!=NULL)
       printf("%d\t%s\t%d\t%d\t%d\n",st[m].n,st[m].name,st[m].cj[0],st[m].cj[1],st[m].cj[2]);
      else
       flag++;
     }if(flag==m)
      printf("暂无该学员数据。\n");
   }
  }
  printf("还想查询吗?(y/n)");
  fflush(stdin);
  c=getchar();
 }while(c=='y'||c=='Y');
 system("cls");
 main_1();
}

 


void xiugai(){
 int m,k,j;
 char c;
 do{
  if(i==0) {
   printf("尚未找到成绩,请按回车回主页面添加;"); fflush(stdin);
   getchar();system("cls");main_1();
  }
  else{
   printf("\n编号\t姓名\t语文\t数学\t英语\n");
   for(k=0;k    printf("%d\t%s\t%d\t%d\t%d\n",st[k].n,st[k].name,st[k].cj[0],st[k].cj[1],st[k].cj[2]);
   printf("请输入您想要修改的信息编号:");
loop:    scanf("%d",&m);
   if(m>i){
    printf("没有该数据\n请重新输入:");
    goto loop;
   }
   else
    j=m-1;
    printf("姓名:");
    scanf("%s",st[j].name);
    printf("语文:");
    scanf("%d",&st[j].cj[0]);
    printf("数学:"); 
    scanf("%d",&st[j].cj[1]);
    printf("英语:");
    scanf("%d",&st[j].cj[2]);
    printf("数据已保存\n");
  } 
  printf("还想修改吗?(y/n)");
   fflush(stdin);
   c=getchar();
 }while(c=='y'||c=='Y');
 system("cls");
 main_1();
}

 


void shuchu(){
 FILE *fp1,*fp2;
 int m;
 fp1=fopen("d:\\c\\SSMS.txt","w");
 fp2=fopen("d:\\c\\i.txt","w");
 fprintf(fp2,"%d",i);
 for(m=0;m fprintf(fp1,"%d\t",st[m].n);
 fprintf(fp1,"%s\t",st[m].name);
 fprintf(fp1,"%d\t",st[m].cj[0]);
 fprintf(fp1,"%d\t",st[m].cj[1]);
 fprintf(fp1,"%d\n",st[m].cj[2]);
 }
 fclose(fp1);
 fclose(fp2);
 printf("成功储存,按ENTER回主界面!");
 fflush(stdin);
 getchar();
 system("cls");
 main_1();
}

 

 

void tongji(){
 int sum[N],avg[N],m;
 char c,name[20];
 FILE *fp;
 printf("\n编号\t姓名\t语文\t数学\t英语\t平均分\t总分\n"); 
 for(m=0;m  sum[m]=st[m].cj[0]+st[m].cj[1]+st[m].cj[2];
  avg[m]=sum[m]/3;
  printf("%d\t%3s\t%3d\t%3d\t%3d\t %3d\t %3d\n",st[m].n,st[m].name,st[m].cj[0],st[m].cj[1],st[m].cj[2],avg[m],sum[m]); 
 }printf("是否输出列表信息(y/n)");
 fflush(stdin);c=getchar();
 if(c=='y'||c=='Y'){
  printf("请填写报表名字:");
  scanf("%s",name);
  fp=fopen(name,"w");
  fprintf(fp,"\t学生成绩报表 SSMS3.0\n");
  fprintf(fp,"\n编号\t姓名\t语文\t数学\t英语\t平均分\t总分\n"); 
  for(m=0;m   fprintf(fp,"%d\t",st[m].n);
   fprintf(fp,"%s\t",st[m].name);
   fprintf(fp,"%d\t",st[m].cj[0]);
   fprintf(fp,"%d\t",st[m].cj[1]);
   fprintf(fp,"%d\t",st[m].cj[2]);
   fprintf(fp,"%d\t",avg[m]);
   fprintf(fp,"%d\n",sum[m]);
  }fclose(fp);
  printf("文件成功保存!");
  fflush(stdin);getchar();
  system("cls");
  main_1();
 }else{
  system("cls");
  main_1();
 }
}

 

 

void main_1(){
 int n,count=0;
 top();//头文件;
 printf("请选择:");
 for(;;){
  scanf("%d",&n);
  if(n==1)
   {system("cls");tian_jia();init(st,3);}
  else if(n==2)
   {system("cls");cha_xun();chaxun();}
  else if(n==3)
   {system("cls");pai_xu();paixu();}
  else if(n==4)
   {system("cls");xiu_gai();xiugai();}
  else if(n==5)
   {system("cls");shu_chu();shuchu();}
  else if(n==6)
   {system("cls");tong_ji();tongji();}
  else if(n==7)
   {system("cls");about();printf("按ENTER返回主界面!");fflush(stdin);getchar();system("cls");main_1();}
  else if(n==8){
   exit(0);
   break;
  }
  else{
   fflush(stdin);
   printf("您选择出错!\n请重新选择:");
  }
 }
}

 

 

void main(){
 main_1();
}

 
 
阅读(2536) | 评论(1) | 转发(0) |
0

上一篇:SQL语言

下一篇:工资管理系统(C编写)

给主人留下些什么吧!~~

chinaunix网友2009-07-10 09:58:58

运行不了啊