C语言课程设计学生成绩管理系统.docx

上传人:b****8 文档编号:28044724 上传时间:2023-07-07 格式:DOCX 页数:15 大小:17.01KB
下载 相关 举报
C语言课程设计学生成绩管理系统.docx_第1页
第1页 / 共15页
C语言课程设计学生成绩管理系统.docx_第2页
第2页 / 共15页
C语言课程设计学生成绩管理系统.docx_第3页
第3页 / 共15页
C语言课程设计学生成绩管理系统.docx_第4页
第4页 / 共15页
C语言课程设计学生成绩管理系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言课程设计学生成绩管理系统.docx

《C语言课程设计学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统.docx(15页珍藏版)》请在冰豆网上搜索。

C语言课程设计学生成绩管理系统.docx

C语言课程设计学生成绩管理系统

*题目七:

学生成绩管理系统设计

学生成绩信息包括:

学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

主要功能:

(1)能按学期、按班级完成对学生成绩的录入、修改

(2)能按班级统计学生的成绩,求学生的总分及平均分

(3)能查询学生成绩,不及格科目及学生名单

(4)能按班级输出学生的成绩单

要求:

使用二进制文件方式存储数据,系统以菜单方式工作

源代码:

#include

#include

#include

#include

structStudent

{

intcls;

charnam[10];

charnum[10];

intchinese;

intenglish;

intcomputer;

intmath;

}stud1[100],stud2[100];

intmenu()

{

chara;

while(a>'7'||a<'0')

{

system("cls");

printf("欢迎使用学生成绩管理系统\n");

printf("制作人:

章建\n");

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

printf("1.输入学生成绩\n");

printf("2.输出学生成绩\n");

printf("3.查找并显示学生成绩\n");

printf("4.按姓名查找,修改学生资料\n");

printf("5.显示所有学生名单\n");

printf("6.查找并删除学生信息\n");

printf("7.从文件读取数据\n");

printf("0.储存学生资料并退出系统\n");

printf("**********************************************************************\n");

printf("请选择(0-7)\n");

a=getchar();

}

return(a-'0');

}

/***************************************************************************************/

intInput(Studentstud[],intn)//输入数据(第一学期)。

{

inti=0;

charsign,x[10];

for(;sign!

='n'&&sign!

='N';)

{

printf("姓名:

");

scanf("%s",stud[n+i].nam);

printf("班级:

");

scanf("%d",&stud[n+i].cls);

printf("学号:

");

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

printf("语文:

");

scanf("%d",&stud[n+i].chinese);

printf("数学:

");

scanf("%d",&stud[n+i].math);

printf("英语:

");

scanf("%d",&stud[n+i].english);

printf("计算机:

");

scanf("%d",&stud[n+i].computer);

gets(x);

printf("还有要输入的信息吗?

(y/n)");

scanf("%c",&sign);

i++;

}

return(n+i);

}

/*************************************输出数据***********************************************/

voidDisplay(Studentstud[],intn)

{

inti;

printf("班级学号姓名语文数学英语计算机总分平均分\n");

for(i=1;i

{

ints=stud[i-1].chinese+stud[i-1].math+stud[i-1].english+stud[i-1].computer;

printf("%7d,%7s,%7s,%7d,%7d,%7d,%7d,%7d,%7d\n",stud[i-1].cls,stud[i-1].num,stud[i-1].nam,stud[i-1].chinese,stud[i-1].math,stud[i-1].english,stud[i-1].computer,s,s/4);

if(i>1&&i%10==0)

{

system("pause");

}

}

system("pause");

}

/************************************查找学生显示其信息***************************************************/

voidQuery(Studentstud[],intn)

{

charnam[20];

printf("输入其姓名:

\n");

scanf("%s",nam);

inti=0;

while(strcmp(stud[i].nam,nam)!

=0&&i

i++;

if(i==n)

{

printf("\t\t\t没有发现该学生的资料!

\n");

return;

}

printf("学号:

%s\n",stud[i].num);

printf("班级:

%d\n",stud[i].cls);

printf("语文:

%d\n",stud[i].chinese);

printf("英语:

%d\n",stud[i].english);

printf("数学:

%d\n",stud[i].math);

printf("计算机:

%d\n",stud[i].computer);

}

/*********************************删除学生信息************************************/

intDelete(Studentstud[],intn)

{

chars[20];

inti=0,j;

printf("请输入要删除的学生的姓名:

\n");

scanf("%s",s);

while(strcmp(stud[i].nam,s)!

=0&&i

if(i==n)

{

printf("\t\t\t没有发现该学生资料!

\n");

return(n);

}

for(j=i;j

{

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

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

stud[j].cls=stud[j+1].cls;

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

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

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

stud[j].computer=stud[j+1].computer;

}

printf("当前信息已删除成功!

");

return(n-1);

}

/*******************************修改信息******************************************/

intRevise(Studentstud[],intn)

{

inti=0;

charna[10];

scanf("%s",na);

while(strcmp(stud[i].nam,na)!

=0&&i

i++;

if(i==n)

{

printf("\t\t\t没有发现该学生的资料!

\n");

}

printf("修改班级:

\n");

scanf("%d",&stud[i].cls);

printf("修改学号:

\n");

scanf("%s",stud[i].num);

printf("修改语文成绩:

\n");

scanf("%d",&stud[i].chinese);

printf("修改英语成绩:

\n");

scanf("%d",&stud[i].english);

printf("修改数学成绩:

\n");

scanf("%d",&stud[i].math);

printf("修改计算机成绩:

\n");

scanf("%d",&stud[i].computer);

printf("修改成功\n");

return(n);

}

/***************************************显示学生名单**************************************/

voidshow(Studentstud[],intn)

{

for(inti=0;i

{

printf("%s\n",stud[i].nam);

}

system("pause");

}

/**************************************从文件读取数据*************************************************/

intAddfromText(Studentstud[],intn)

{

inti=0,number,x=0,y=0;

FILE*fp;

charfilename[20];

printf("输入文件名:

");

scanf("%s",filename);

if((fp=fopen(filename,"rb"))==NULL)

{

printf("无法打开文件");

system("pause");

return(n);

}

fscanf(fp,"%d",&number);

for(;i

{

fscanf(fp,"%d%s%s%d%d%d%d%d%d\n",&stud[n+i].cls,&stud[n+i].num,&stud[n+i].nam,&stud[n+i].chinese,

&stud[n+i].math,&stud[n+i].english,&stud[n+i].computer,&x,&y);

i++;

}

n+=number;

fclose(fp);

printf("读入成功!

");

system("pause");

return(n);

}

/**************************************将所有记录写进文件*************************************/

voidWritetoText(Studentstud[],intn)

{

inti=0;

FILE*fp;

charfilename[20];

printf("将资料输入文件\n");

printf("输入文件名\n");

scanf("%s",filename);

if((fp=fopen(filename,"w+"))==NULL)

{

printf("无法打开文件\n");

system("pause");

return;

}

fprintf(fp,"%d\n",n);

for(;i

{

fprintf(fp,"%-8d%-8s%-8s%-5d%-5d%-5d%-5d%-5d%-5d\n",stud[i].cls,stud[i].num,stud[i].nam,

stud[i].chinese,stud[i].math,stud[i].english,stud[i].computer,

stud[i].chinese+stud[i].math+stud[i].english+stud[i].computer,

(stud[i].chinese+stud[i].math+stud[i].english+stud[i].computer)/4);

i++;

}

fclose(fp);

}

/**************************************主函数调用*********************************************/

voidmain()

{

intn1=0,n2=0;

for(;;)

{

switch(menu())

{

case1:

intt;

printf("输入学生资料\n");

printf("输入学期");

scanf("%d",&t);

if(t==1)

{

n1=Input(stud1,n1);

}

elseif(t==2)

{

n2=Input(stud2,n2);

}

break;

case2:

printf("输出所有学生资料\n");

if(n1!

=0)

{

printf("第一学期\n");

Display(stud1,n1);

}

if(n2!

=0)

{

printf("第二学期\n");

Display(stud2,n2);

}

break;

case3:

intr;

printf("查找学生\n");

printf("请输入学期\n");

scanf("%d",&r);

if(r==1)

{

Query(stud1,n1);

}

elseif(r==2)

{

Query(stud2,n2);

}

system("pause");

break;

case4:

intp;

printf("修改学生资料\n");

printf("请输入学期\n");

scanf("%d",&p);

if(p==1)

{

printf("输入你要修改的学生的姓名:

");

n1=Revise(stud1,n1);

}

elseif(p==2)

{

printf("输入你要修改的学生的姓名:

");

n2=Revise(stud2,n2);

}

system("pause");

break;

case5:

printf("显示所有学生名单:

\n");

if(n1!

=0)

{

printf("第一学期\n");

show(stud1,n1);

}

if(n2!

=0)

{

printf("第二学期\n");

show(stud2,n2);

}

system("pause");

break;

case6:

printf("查找并删除学生信息\n");

into;

printf("请输入学期:

");

scanf("%d",&o);

if(o==1)

{

printf("第一学期\n");

n1=Delete(stud1,n1);

}

if(o==2)

{

printf("第二学期\n");

n2=Delete(stud2,n2);

}

system("pause");

break;

case7:

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

printf("读取第一学期的文件\n");

n1=AddfromText(stud1,n1);

printf("读取第二学期的文件\n");

n2=AddfromText(stud2,n2);

break;

case0:

printf("将所有资料写入文件\n");

if(n1!

=0)

{

printf("存储第一学期学生资料\n");

WritetoText(stud1,n1);

}

if(n2!

=0)

{

printf("存储第二学期学生资料\n");

WritetoText(stud2,n2);

}

printf("输入成功\n");

intb;

printf("请确定是否退出系统\n");

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

printf("1.返回\n");

scanf("%d",&b);

if(b==0)

{

printf("谢谢使用\n");

system("pause");

exit(0);

}

system("pause");

break;

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1