您的位置:

c语言做的学生成绩管理系统,c语言程序学生成绩管理系统

本文目录一览:

c语言编写查询学生成绩管理程序。

#includestdio.h

#includestdlib.h

#includestring.hstruct record

{

char xuehao[10];//学号

char name[20]; //姓名

char sex[3];//性别

int ke1;//数学

int ke2 ;//语文

int ke3;//英语

int pin;

}stu[50];

int k=1,n,m;void readfile();

void seek();

void insert();

void del();

void save();

void menu();

void seek()

{int i,j,item,flag;brchar s1[20];brprintf("------------------\n");brprintf("1.按学号查询\n");brprintf("2.退出本菜单\n");brprintf("------------------\n");brwhile(1)br{ printf("请选择子菜单编号:");brscanf("%d",item);brflag=0;brswitch(item)br{brcase 1:brprintf("请输入要查询的学生的学号:\n");brscanf("%s",s1);brfor(i=0;in;i++)brif(strcmp(stu[i].xuehao,s1)==0)br{ flag=1;brprintf("该学生学号,姓名,性别,数学,语文,英语 分别为:\n");brprintf(" %s %s %s %d %d %d",stu[i].xuehao,stu[i].name,brstu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3);br}

if(flag==0)

printf("该学号不存在!\n"); break;

case 2:return;

default:printf("请在1-2之间选择\n");

}

}

}

void insert()

{ int i=n,j,flag;

printf("请输入待增加的学生数:\n");

scanf("%d",m);

do

{ flag=1;

while(flag)

{ flag=0;

printf("请输入第 %d 个学生的学号:\n",i+1);

scanf("%s",stu[i].xuehao);

for(j=0;ji;j++)

if(strcmp(stu[i].xuehao,stu[j].xuehao)==0)

{ printf("已有该学号,请检查后重新录入!\n");

flag=1;

break;

}

}

printf("请输入第 %d 个学生的姓名:",i+1);

scanf("%s",stu[i].name);

printf("\n请输入第 %d 个学生的性别:",i+1);

scanf("%s",stu[i].sex);

printf("\n请输入第 %d 个学生的数学成绩:",i+1);

scanf("%d",stu[i].ke1);

printf("\n请输入第 %d 个学生的语文成绩:",i+1);

scanf("%d",stu[i].ke2);

printf("\n请输入第 %d 个学生的英语成绩:",i+1);

scanf("%d",stu[i].ke3);if(flag==0)

{ i=i;

i++;

}

}while(in+m);

n+=m;

printf("录入完毕!\n\n");

}void del()

{ int i,j,flag=0;

char s1[20];

printf("请输入要删除学生的学号:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].xuehao,s1)==0)

{ flag=1;

for(j=i;jn-1;j++)

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

}

if(flag==0)

printf("该学号不存在!\n");

if(flag==1)

{ printf("删除成功,显示结果请选择菜单6\n");

n--;

}

}

void readfile()

{

char buf[80],*p="student.dat";

FILE *fp;

int i=0;

if ((fp=fopen("student.dat","r"))==NULL)

{ printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s%s%s%d%d%d",stu[i].xuehao,stu[i].name,

stu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3)==6)

{ i++;

i=i;

}

fclose(fp);

n=i;

printf("录入完毕!\n");

}void save()

{ int i,j,k,flag=0;

FILE *fp;

fp=fopen("student.dat","w");

for(i=0;im;i++)

{

fprintf(fp,"%s%s%d%d%d",stu[i].xuehao,stu[i].name,stu[i].sex,stu[i].ke1,

stu[i].ke2,stu[i].ke3);

fclose(fp);

printf("已储存");

}

}

void paixu()

{

int i,j,k,t;

for(i=0;im;i++)

{

stu[i].pin=(stu[i].ke1+stu[i].ke2+stu[i].ke3)/3;

}

for(i=0;i=m-2;i++)

{

k=i;

for(j=i+1;j=m-1;j++)

if(stu[j].pinstu[k].pin)

k=j;

if(k!=i)

{

t=stu[k].pin;

stu[k].pin=stu[i].pin;

stu[i].pin=t;

}

}

for(i=0;im;i++)

{printf("第 %d 个学生的姓名%s:",i+1,stu[i].name);br printf("\n第 %d 个学生的性别:%s",i+1,stu[i].sex);br printf("\n第 %d 个学生的数学成绩:%d",i+1,stu[i].ke1);br printf("\n第 %d 个学生的语文成绩:%d",i+1,stu[i].ke2);br printf("\n第 %d 个学生的英语成绩:%d",i+1,stu[i].ke3);br printf("\n第 %d 个学生的平均成绩:%d",i+1,stu[i].pin);br }

}

void menu()

{ int nub;

printf(" \n\n学生成绩管理系统\n\n");

printf("*****系统功能菜单*****\n");

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

printf("1.输入学生信息\n");

printf("2.查询学生信息\n");

printf("3.按学号删除信息\n");

printf("4.读入学生信息\n");

printf("5.保存信息(要把修改保存到文件,退出程序前必须执行本项)\n");

printf("6.查询学生平均成绩信息\n");

printf("0.退出系统\n");

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

printf("请选择菜单编号:");

scanf("%d",nub);

switch(nub)

{

case 1:insert();break;

case 2:seek();break;

case 3:del();break;

case 4:readfile();break;

case 5:save();break;

case 6:paixu();break;

case 0:k=0;break;

default:printf("请在0-6之间选择\n");

}}

void main()

{

while(k)

menu();

}

//平均数是排序后,输出的,如果你不想直接输入,那就不要对每个学生进行选择排序了

怎样用C语言写学生成绩管理系统?

程序如下: #includestdio.h

void main()

{

float student[100][7];

//student[][0]存放学号,student[][1]到student[][4]存放四门成绩,

//student[][5]存放总分,student[][6]存放平均分,student[][7]存放排名

int n,i,j,k,p,t,count,flag;

int a[100],b[100],c[100];

//a[]存放排序后的下标,b[]存放总分(备份),c[]存放排名的数据

printf("输入学生的个数:\n");

scanf("%d",n);

for(i=0;i=n-1;i++)

{

printf("输入第%d个学生的学号:",i+1);

scanf("%f",student[i][0]);

for(j=0,student[i][5]=0;j=3;j++)

{

printf("输入第%d个学生的第%d门成绩:",i+1,j+1);

scanf("%f",student[i][j+1]);

student[i][5]+=student[i][j+1]; //计算总分

}

b[i]=student[i][5]; //把总分再赋给b[]数组,以后排序用

student[i][6]=student[i][5]/4; //计算平均分

}

for(i=0;i=n-2;i++) //对数组b[](即总分)进行排序

for(j=0;j=n-2-i;j++)

{

if(b[j]b[j+1])

{

t=b[j];

b[j]=b[j+1];

b[j+1]=t;

}

}

for(i=0,k=0;i=n-1;i++)//用数组a[]取得排序后总分的下标

{

for(j=0,flag=0;j=n-1;j++)

{

if(b[i]==student[j][5])

{

if(0==k) //如果数组a[]中有零个元素,就把j直接赋给a[]

{

a[k]=j;

k++;

flag=1;

}

else //如果数组a[]中有元素了,则判断

{

for(p=0;p=k-1;p++)

if(a[p]!=j)

{

a[k]=j;

k++;

flag=1;

break;

}

}

}

if(1==flag)

break;

}

}

for(count=1,i=0;i=n-1;i++) //对c[](排名)进行处理

{

if(b[i]==b[i+1])

{

c[i]=count;

}

else

if(b[i]b[i+1])

{

c[i]=count;

count++;

}

}

printf("\n以下是统计结果:\n");

printf("学号 s[1] s[2] s[3] s[4] 总分 平均分 排名\n");

for(i=0;i=n-1;i++)

{

printf("%.0f\t%.0f\t%.0f\t%.0f\t%.0f\t%.0f\t%f\t%d\n",student[a[i]][0],student[a[i]][1],student[a[i]][2],student[a[i]][3],student[a[i]][4],student[a[i]][5],student[a[i]][6],c[i]);

}

} 有疑问提出

用c语言做一个学生成绩管理系统。。。。。

自己制作成绩查询系统成本高昂,建议使用易查分系统,三分钟即可搭建完成。

C语言 学生成绩管理系统?

附录* 综合实例——学生成绩查询系统

这是一个用c语言编写的小软件——学生成绩查询系统,同学们可以将其作为一个综合实例,对其进行仔细的阅读和研究,体验编程处理问题的过程,加深对编程语言的理解,提高处理问题的综合能力。

1、程序的功能:

1)可以根据用户输入的输入、输出文件名,读入学生成绩,完成数据的初始化。

2)可以查询指定学生的成绩,可以是指定科目的成绩,也可以是全部科目的成绩。

3)友好退出。

2、使用说明:

1)将输入文件放到指定的目录下(即../student/)

图1

2)启动管理程序student.exe

3)在程序的使用界面,首先输入输入文件名和输出文件名,完成程序的初始化,操作如下图所示

图2

然后,按照按照提示,输入学生姓名和需要程序的成绩(此软件暂时只设置了五成成绩,同学们可以按照需要扩展)科目代码,也可以输入查询所有成绩的代码。程序成绩,如下图所示

图3

4)输入代码“q”退出程序。

3、程序代码

#include

#include

#include

FILE *f1,*f2;

char file1[20],file2[20],name[200][20],name1[15];

int n,m,data[200][10];

void init(){

int i,j;

char ch=' ';

printf("%20c欢迎使用班级成绩管理系统\n\n",ch);

printf("请输入输入和输出文件名(中间用一个空格隔开):\n");

scanf("%s %s",file1,file2);// 1)该条语句的功能是什么?

f1=fopen(file1,"r");

f2=fopen(file2,"w");

fscanf(f1,"%d%d",n,m); // 2)该条语句的功能是什么?

for(i=1;i=n;i++)

{

fscanf(f1,"%s",name[i]); // 3)该条语句的功能是什么?

data[i][0]=0; // 4)该条语句的功能是什么?没有这条语句可不可以?

for(j=1;j=m;j++)

{

fscanf(f1,"%d",data[i][j]);

data[i][0]+=data[i][j]; // 5)该条语句的功能是什么?

}

}

fprintf(f2,"name\tyuwen\tshuxue\tyingyu\twuli\thuaxue\tzongfen\n ");

for(i=1;i=n;i++)

{

fprintf(f2,"%s\t",name[i]);

for(j=1;j=m;j++)

fprintf(f2,"%d\t",data[i][j]);

fprintf(f2,"%d\n",data[i][0]);

}

fclose(f1);// 6)问什么可以在这关闭输入文件?

fclose(f2);

}

void search(char na[],char num){

int i=1,j;

while((i=n)(strcmp(na,name[i])!=0))i++;

if(i=n){

switch(num){

case '1':printf("%s的语文成绩为%d!\n",na,data[i][1]);break;

case '2':printf("%s的数学成绩为%d!\n",na,data[i][2]);break;

case '3':printf("%s的英语成绩为%d!\n",na,data[i][3]);break;

case '4':printf("%s的物理成绩为%d!\n",na,data[i][4]);break;

case '5':printf("%s的化学成绩为%d!\n",na,data[i][5]);break;

case 'a':

printf("%s的各科成绩为:\n",name[i]);

printf("语文\t数学\t英语\t物理\t化学\t总成绩\n");

for(j=1;j=m;j++)

printf("%d\t",data[i][j]);

printf("%d\n",data[i][0]);

break;

default: printf("没有这种查询方式,请确认后再次输入!\n");

}

}

else printf("查无此人,请确认后再次查询!\n");

printf("\n\n");

}

main(){

init();//数据初始化

printf("数据初始化结束!\n\n");

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

char na[20];

char num;

while(1){ // 7)该条语句的功能是什么?

//scanf("%s%c%c",na,num,num); // 8)此处的输入可不可以用这条语句?

printf("请输入学生的姓名和要查询成绩的科目代码(中间用一个空格隔开):\n(1 语文 2 数学 3 英语 4 物理 5 化学 a 所有科目成绩 q 退出)\n");

scanf("%s",na);

if(strcmp(na,"q")==0)break; // 9)问什么要用这条语句strcmp(na,"q")==0?

scanf("%c%c",num,num); // 10)为什么用了两次num?

search(na,num);

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

printf("\n请输入新的查询:\n\n");

}

system("pause");

}

这是我以前的一个程序,你改改吧,应该很好改

如何用C语言编写"学生成绩管理系统"

#includestdio.h

#includestdlib.h

#includeconio.h

#includestring.h

struct student{

int id;

char name[10];

int age;

char sex[10];

char birthady[20];

int tel;

char nativeplace[50];

}st[50];

int i=0;

void shuru() {

char a;

do{

printf("\n请输入学号:");

scanf("%d",st[i].id);

fflush(stdin);

printf("\n请输入姓名:");

gets(st[i].name);

printf("\n") ;

printf("请输入年龄:");

scanf("%d",st[i].age);

fflush(stdin);

printf("\n请输入姓别:");

gets(st[i].sex);

fflush(stdin);

printf("\n请输入生日:");

gets(st[i].birthady);

printf("\n请输入电话:");

scanf("%d",st[i].tel);

fflush(stdin);

printf("\n请输入籍贯:");

gets(st[i].nativeplace);

printf("\n是否继续输入另外一个学生信息?(y/n)");

fflush(stdin);

a=getchar();

i++;

}while(a=='y' i=50);

}

void xianshi()

{

int j;

printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t籍贯\n");

for(j=0;ji;j++)

printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",

st[j].id,st[j].name,st[j].age,st[j].sex,st[j].birthady,st[j].tel,st[j].nativeplace);

}

void paixu() //按年龄从大到小排序函数

{

int j,k;

int temp;

for(j=0;ji;j++)

{

for(k=0;ki-1-j;k++)

{

if(st[k].agest[k+1].age)

{

temp=st[k].age;

st[k].age=st[k+1].age;

st[k+1].age=temp;

}

}

}

xianshi(); //排序后输出

}

void chazhao()

{

int m;

char name[20],b;

do

{

printf("\n请输入想查找的学生姓名:");

fflush(stdin);

gets(name);

for(m=0;mi;m++)

{

if(strcmp(name,st[m].name)==0)

{

printf("\n\t您查找的学生在第%d个位置找到了!!!\n",m+1);

break;

}

}

if(m=20)

printf("\n\t没有找到这个学生!!!\n");

else

{

printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t籍贯\n");

printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",

st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace);

}

printf("\n是否查找另一个学生的信息?(y/n)");

fflush(stdin);

b=getchar();

}while(b=='y');

}

void shanchu()

{

char name[20],c;

int a,b;

do

{

printf("\n请输入要删除的学生姓名:\n");

fflush(stdin);

gets(name);

for(a=0;ai;a++)

{

if(strcmp(name,st[a].name)==0)

break;

}

for(b=a;bi;b++)

st[b]=st[b+1];

if(ai)

printf("\t没有找到这个学生!!!\n");

else

{

i--;

xianshi();

}

printf("\n是否继续删除另一个学生信息?(y/n) ");

fflush(stdin);

c=getchar();

}while(c=='y');

}

void charu()

{

shuru();

paixu();

}

void main() //主函数

{

int change;

do{

system("cls");

printf("============================学生信息管理系统===================================\n");

printf("\t\t一: 输入学生信息\n");

printf("\t\t二: 显示学生信息\n");

printf("\t\t三: 查找学生信息\n");

printf("\t\t四: 删除学生信息\n");

printf("\t\t五: 插入学生信息\n");

printf("\t\t六: 退出程序\n");

fflush(stdin);

printf("\t\t请输入功能选项:");

scanf("%d",change);

switch(change)

{

case 1:

shuru(); break;

case 2:

xianshi(); break;

case 3:

chazhao(); break;

case 4:

shanchu(); break;

case 5:

charu(); break;

case 6:

break;

}

getch();

}while(change!=6);

}

c语言做的学生成绩管理系统,c语言程序学生成绩管理系统

2022-11-29
c语言学生成绩管理系统,c语言学生成绩管理系统课程设计

2023-01-07
c语言课设学生成绩信息管理系统,学生成绩管理系统 c语言

2023-01-07
小成绩管理系统c语言,小成绩管理系统c语言报告

2022-11-23
成绩管理c语言,成绩管理C语言项目

2023-01-06
c语言学生管理系统,c语言学生管理系统流程图

2022-12-02
c语言学生管理系统for结构,c语言写学生管理系统

2023-01-06
c语言学生管理系统的删除模块,C语言编写学生管理系统

2022-11-30
成绩统计表c语言,统计成绩C语言

2023-01-08
学生信息管理系统c语言摘要,c语言中学生信息管理系统

2022-11-26
c语言校友管理系统,用c语言写学生信息管理系统

2023-01-06
c语言信息系统,c语言程序管理系统

2022-11-27
学生信息管理系统c语言关键技术,c语言的学生信息管理系统

2022-11-23
java学生成绩管理系统,Java学生成绩管理系统连接数据库

2022-11-23
学生身份管理系统c语言,学生管理系统设计c语言

2022-11-26
学生档案管理系统c语言代码,学生档案管理系统c语言代码查询

2023-01-04
c语言学生信息管理系统心得体会,基于c语言的学生信息管理系统

2022-12-01
java成绩管理系统,Java成绩管理系统程序系统总结

2023-01-10
c语言开发管理,c语言开发系统

2022-11-29
学生信息管理系统C语言代码详解

2023-05-21