最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言学生成绩管理系统源程序

来源:动视网 责编:小OO 时间:2025-10-02 18:06:30
文档

C语言学生成绩管理系统源程序

附录程序#include"stdio.h"#include#include#include"process.h"#include"ctype.h"typedefstruct{}Student;Studentstu[99];intshuru(Studentstud[],intn)/*输入若干条记录*/{while(sign!='n'&&sign!='N'){printf("输入学生学号:");scanf("%s",stu[n+i].num);printf("输入学生姓名:");printf("输
推荐度:
导读附录程序#include"stdio.h"#include#include#include"process.h"#include"ctype.h"typedefstruct{}Student;Studentstu[99];intshuru(Studentstud[],intn)/*输入若干条记录*/{while(sign!='n'&&sign!='N'){printf("输入学生学号:");scanf("%s",stu[n+i].num);printf("输入学生姓名:");printf("输
附录程序

#include"stdio.h"

#include

#include

#include"process.h"

#include"ctype.h"

typedef struct 

{

}Student;

Student stu[99];

int shuru(Student stud[],int n)/*输入若干条记录*/

{

while(sign!='n'&&sign!='N') 

printf("输入学生学号:"); 

scanf("%s",stu[n+i].num); 

printf("输入学生姓名:"); 

printf("输入学生的语文、数学、英语、电路分数:");

scanf("%d%d%d%d",&stu[n+i].chinese,&stu[n+i].math,&stu[n+i].english,&stu[n+i].dianlu);

a=1.0*(stu[n+i].chinese+stu[n+i].math+stu[n+i].english+stu[n+i].dianlu)/4; 

stu[n+i].aver=a;

g清除多余的输入*/ 

printf("是否继续输入?(Y/N):\\n");

scanf("%c",&sign);

i++; 

return(n+i);

}

void xianshi(Student stud[],int n) /*显示所有记录*/

  int i ;

  printf("----------------------------------------------------------\\n"); /*格式头*/ 

  printf("学号 姓名 语文 数学 英语 电路 平均成绩 \\n"); 

  printf("----------------------------------------------------------\\n");

for(i=0;i  { 

    printf("%-10s%-10s%-10d%-10d%-10d%-10d%-10.2lf\\n",stu[i].num,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].dianlu,stu[i].aver);                                                

  }

}

void xiugai(Student stud[],int n)/*修改*/

{

 int i=0,choice=1;

 char x[10]; 

    {   printf("请输入您要修改的学生的学号:\\n");

 

 

  

 

 

 请选择您要修改的内容:\\n");

  姓名 请按 1 |\\n");

  语文 请按 2 |\\n");

  数学分数 请按 3 |\\n");

  英语分数 请按 4 |\\n");

  电路 请按 5 |\\n");

  退出 请按 0|\\n");

 请输入您的选择:");

        {                                                          

 请输入新姓名:");

            case 2:                                               

 请输入新的语文分数:

  

 请输入新的数学分数:");

  

 请输入新的英语分数:

 请输入新的电路分数:

 无效选项!");

 

int shanchu(Student stud[],int n) /*按姓名查找,删除一条记录*/  

{ char s[20]; 

int i;

int j; 

i=0;

printf("输入要删除记录的姓名:"); 

scanf("%s",s); 

while(strcmp(stu[i].name,s)!=0&&iif(i==n) 

{printf("not find!\\n"); 

for(j=i;j

strcpy(stu[j].num,stu[j+1].num); 

strcpy(stu[j].name,stu[j+1].name); 

stu[j].chinese=stu[j+1].chinese; 

stu[j].math=stu[j+1].math; 

stu[j].english=stu[j+1].english; 

stu[j].dianlu=stu[j+1].dianlu;

stu[j].aver=stu[j+1].aver; 

printf("Delete Successed!\\n"); 

return(n-1); 

void chaxun_xingming(Student stud[],int n) /*按姓名查找并显示一个记录*/ 

int i=0; 

printf("输入姓名:"); 

scanf("%s",s); 

while(strcmp(stu[i].name,s)!=0&&iif(i==n) 

{printf("not find!\\n"); /*输入失败信息*/ 

return;  }

printf("他的姓名、学号是:输出该学生信息*/ 

printf("语文 高数 英语 电路 平均成绩是

}  

void chaxun_pingjun(Student stud[],int n) /*按平均成绩查找并显示一个记录*/ 

int i=0; 

printf("输入平均成绩:"); 

scanf("%lf",&s); 

while(stu[i].aver!=s && iif(i==n)

{ printf("not find!\\n"); /*输入失败信息*/ 

printf("他的学号是:%s\\n",stu[i].num); /*输出该学生信息*/ 

printf("他的姓名是:%s\\n",stu[i].name); 

printf("他的语文、数学、英语、电路分数是

void paixu_xuehao(Student stud[],int n) /*按学号排序*/ 

{ int i,j,p,q,r,w;

  double y;

  char x[20],t[10];

for(i=0;ifor(j=0;jif(strcmp(stud[j].num,stud[j+1].num)>0)

{ strcpy(t,stud[j].num); 

  strcpy(stud[j].num,stud[j+1].num); 

  strcpy(stud[j+1].num,t); 

  strcpy(x,stud[j].name); 

  strcpy(stud[j].name,stud[j+1].name); 

  strcpy(stud[j+1].name,x); 

  y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

  p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

  q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

  r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

  w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

return;

}

 

void paixu_pingjun(Student stud[],int n) /*按平均成绩排序*/ 

{ int i,j,p,q,r,w;

  double y;

  char x[20],t[10];

for(i=0;ifor(j=0;j   {   y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

 

}

void paixu_chinese(Student stud[],int n) /*按语文成绩排序*/ 

{ int i,j,p,q,r,w;

  double y;

  char x[20],t[10];

for(i=0;ifor(j=0;j  

   {   

 

}

void paixu_english(Student stud[],int n) /*按英语成绩排序*/ 

{ int i,j,p,q,r,w;

  double y;

  char x[20],t[10];

for(i=0;ifor(j=0;j  

   {   

 

}

void paixu_math(Student stud[],int n) /*按数学成绩排序*/ 

{ int i,j,p,q,r,w;

  double y;

  char x[20],t[10];

for(i=0;ifor(j=0;j  

   {   

 

}

void paixu_dianlu(Student stud[],int n) /*按电路成绩排序*/ 

{ int i,j,p,q,r,w;

  double y;

  char x[20],t[10];

for(i=0;ifor(j=0;j  

   {   

 

}

void tongji(Student stud[],int n)//按分数段统计人数

 你想统计哪科成绩: 1语文 2数学  3英语  4电路 5平均 \\n");

 

  

  

  

  

  分数段的人数为 :%d",k);

 

 

  

  

  

  

  分数段的人数为 :%d",l);

 

 

  

  

  

  

  分数段的人数为 :%d",p);

 

  

  

  

    

  

  分数段的人数为 :%d",w);

 

 

 

  

  

  

  

  分数段的人数为 :%d",q);

 

}

int wenjian2(Student stud[],int n) /*从文件中读入数据*/ 

{ int i=0,num; 

FILE *fp; /*定义文件指针*/ 

char filename[20]; /*定义文件名*/ 

printf("\\\Input the filename:"); 

scanf("\\\%s",filename); /*输入文件名*/ 

if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/ 

{ printf("\\\cann't open the file\\n"); /*打开失败信息*/ 

printf("\\\"); 

system("pause"); 

return(n); 

fscanf(fp,"%d",&num); /*读入总记录量*/ 

while(i

fscanf(fp,"%s %s %d %d %d %d %lf\\n",stu[n+i].num,stu[n+i].name,&stu[n+i].chinese,&stu[n+i].math,&stu[n+i].english,&stu[n+i].dianlu,&stu[n+i].aver);

i++;

}

n+=num; 

fclose(fp); /*关闭文件*/

printf("\\\Successed!\\n");

printf("\\\"); 

system("pause"); 

return(n); 

v将所有记录写入文件*/

{

int i=0;

F定义文件指针*/

c定义文件名

 输入文件名*/

   if((fp=fopen(filename,"w"))==NULL)             /*打开文件*/

   fprintf(fp,"%d\\n",n);             /*循环写入数据*/

fprintf(fp,"%s %s %d %d %d %d %lf\\n",stu[i].num,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].dianlu,stu[i].aver);

   fclose(fp);           /*关闭文件*/

   printf("Successed!\\n");          /*返回成功信息*/

i菜单函数*/ 

do{ 

 学生信息管理系统菜单****\\n");

 编辑 \\n");

 显示 \\n");

 查询 \\n"); 

 排序\\n"); 

 统计\\n"); 

 文件 \\n"); 

 退出 \\n"); 

 请选择(0-6):"); 

}while(c<0||c>6);

return(c-0); /*返回选择*/ 

int bianji()

{

 printf("\\ 1. 录入\\n"); 

 printf("\\ 2 .修改\\n"); 

 printf("\\ 3. 删除 \\n"); 

 printf("\\ 按其它数字键退出 \\n");

int i;

scanf("%d",&i);

return i;

}

int chaxun()

{

 printf("\\ 1. 按姓名查询\\n"); 

 printf("\\ 2 .按平均成绩查询\\n");  

 printf("\\  按其它数字键退出\\n");

int i;

scanf("%d",&i);

return i;

}

int paixu()

{

 按学号\\n"); 

 按语文成绩\\n");

 按数学成绩\\n");

 按英语成绩\\n");

 按电路成绩\\n");

 按平均成绩\\n");

 按其它数字键退出\\n");

 

}

int wenjian()

{

 printf("\\ 1. 从文件中读入数据\\n"); 

 printf("\\ 2 .将所有记录写入文件\\n");  

 按其它数字键退出 \\n");

int i;

scanf("%d",&i);

return i;

}

v主函数*/ 

int n=0; 

for(;;)

{

 

  case 1:  switch(bianji())

  

   

  

 

  case 2:xianshi(stu,n);break; 

  case 3: 

  

   

 

  case 4:  switch(paixu())

  

               case 1:paixu_xuehao(stu,n);xianshi(stu,n); break ;          

  

  

  

 

  case 5:tongji(stu,n);break; 

  case 6: 

  

  

 

              exit(0);   /*结束程序*/ 

 

}

}

文档

C语言学生成绩管理系统源程序

附录程序#include"stdio.h"#include#include#include"process.h"#include"ctype.h"typedefstruct{}Student;Studentstu[99];intshuru(Studentstud[],intn)/*输入若干条记录*/{while(sign!='n'&&sign!='N'){printf("输入学生学号:");scanf("%s",stu[n+i].num);printf("输入学生姓名:");printf("输
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top