c语言程序的设计之学生成绩管理系统精华版.docx

上传人:b****6 文档编号:5626387 上传时间:2022-12-29 格式:DOCX 页数:16 大小:17.40KB
下载 相关 举报
c语言程序的设计之学生成绩管理系统精华版.docx_第1页
第1页 / 共16页
c语言程序的设计之学生成绩管理系统精华版.docx_第2页
第2页 / 共16页
c语言程序的设计之学生成绩管理系统精华版.docx_第3页
第3页 / 共16页
c语言程序的设计之学生成绩管理系统精华版.docx_第4页
第4页 / 共16页
c语言程序的设计之学生成绩管理系统精华版.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c语言程序的设计之学生成绩管理系统精华版.docx

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

c语言程序的设计之学生成绩管理系统精华版.docx

c语言程序的设计之学生成绩管理系统精华版

//111.cpp:

定义控制台应用程序的入口点。

//

#include"stdafx.h"

#include

#include

#include

#defineALs->s[i].kaoshi*0.7+Ls->s[i].pingshi*0.3

#defineBLs->s[i].kaoshi1*0.7+Ls->s[i].pingshi1*0.3

#defineMAX1000

#include

BOOLSetConsoleColor(WORDwAttributes)

{

HANDLEhConsole=GetStdHandle(STD_OUTPUT_HANDLE);

if(hConsole==INVALID_HANDLE_VALUE)

returnFALSE;

returnSetConsoleTextAttribute(hConsole,wAttributes);

}//使用色彩

typedefstruct

{

charname[20];

intnum;

intclasses;

intage;

charsex[10];

intbianhao;

charmingcheng[20];

intxuefen;

intkaoshi;

intpingshi;

intbianhao1;

charmingcheng1[20];

intxuefen1;

intkaoshi1;

intpingshi1;

}student;

typedefstruct

{

students[MAX];

intlength;

}Lstudent;

voidwelcome()/*界面函数*/

{

SetConsoleColor(FOREGROUND_RED);

printf("◢▇▇▇▇▇▇▇▇▇▇▇▇◣\n");

printf("▇欢迎进入成绩管理系统▇\n");

printf("◥▇▇▇▇▇▇▇▇▇▇▇▇◤\n");

printf("\n");

SetConsoleColor(FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);

printf("◢▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇◣\n");

printf("◢▇▇▇0.读取信息▇▇▇◣\n");

printf("◢▇▇▇▇1.输入成绩▇▇▇▇◣\n");

printf("◢▇▇▇▇▇2.输出成绩▇▇▇▇▇◣\n");

printf("◢▇▇3.插入成绩▇▇◣\n");

printf("◢▇▇▇4.删除成绩▇▇▇◣\n");

printf("▇▇▇▇5.查找成绩▇▇▇▇\n");

printf("▇▇▇▇6.修改成绩▇▇▇▇\n");

printf("◥▇▇▇7.不及格名单▇▇▇◤\n");

printf("◥▇▇8.平均成绩及排名▇▇◤\n");

printf("◥▇▇▇▇9.存储信息▇▇▇▇◤\n");

printf("◥▇▇▇10.退出成绩管理系统▇▇▇◤\n");

printf("◥▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇◤\n");

 

}

voidread(Lstudent*Ls,FILE*fp)

{

system("cls");

if((fp=fopen("scoresystem.txt","rt+"))==NULL)

{

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

printf("请按回车键返回主界面");

getchar();

}

else

{

while(!

feof(fp))

putchar(getc(fp));

printf("按回车键返回主界面");

getchar();

getchar();

}

fclose(fp);

}

voidinput(Lstudent*Ls)/*输入学生的成绩*/

{intn;

inti;

system("cls");

printf("请输入学生数:

");

scanf("%d",&n);

Ls->length=n;

for(i=0;i

{

printf("输入第%d个学生的数据:

\n",i+1);

printf("姓名:

");

scanf("%s",&Ls->s[i].name);

printf("学号:

");

scanf("%d",&Ls->s[i].num);

printf("班级:

");

scanf("%d",&Ls->s[i].classes);

printf("年龄:

");

scanf("%d",&Ls->s[i].age);

printf("性别:

");

scanf("%s",&Ls->s[i].sex);

printf("课程编号:

");

scanf("%d",&Ls->s[i].bianhao);

printf("课程名称:

");

scanf("%s",&Ls->s[i].mingcheng);

printf("学分:

");

scanf("%d",&Ls->s[i].xuefen);

printf("考试成绩:

");

scanf("%d",&Ls->s[i].kaoshi);

printf("平时成绩:

");

scanf("%d",&Ls->s[i].pingshi);

printf("课程编号:

");

scanf("%d",&Ls->s[i].bianhao1);

printf("课程名称:

");

scanf("%s",&Ls->s[i].mingcheng1);

printf("学分:

");

scanf("%d",&Ls->s[i].xuefen1);

printf("考试成绩:

");

scanf("%d",&Ls->s[i].kaoshi1);

printf("平时成绩:

");

scanf("%d",&Ls->s[i].pingshi1);

}

printf("录入成绩完成,请按回车键返回主界面");

getchar();

getchar();

}

voidoutput(Lstudent*Ls)/*输出学生的成绩信息*/

{

inti;

system("cls");

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

{

printf("┏━━━┳━━━┳━━━┳━━━┳━━━┳\n");

printf("┃姓名┃学号┃班级┃年龄┃性别┃\n");

printf("┣━━━╋━━━╋━━━╋━━━╋━━━╋\n");

printf("┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-6.6s┃\n",Ls->s[i].name,Ls->s[i].num,Ls->s[i].classes,Ls->s[i].age,Ls->s[i].sex);

printf("┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");

printf("┏━━━━━┳━━━┳━━━━━┳━━━━━┳━━━━┳━━━━┳\n");

printf("┃课程1编号┃名称┃学分┃考试成绩┃平时成绩┃综合成绩┃\n");

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("┃%-4d┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-4.1f┃\n",Ls->s[i].bianhao,Ls->s[i].mingcheng,Ls->s[i].xuefen,Ls->s[i].kaoshi,Ls->s[i].pingshi,A);

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("┏━━━━━┳━━━┳━━━━━┳━━━━━┳━━━━┳━━━━┳\n");

printf("┃课程2编号┃名称┃学分┃考试成绩┃平时成绩┃综合成绩┃\n");

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("┃%-4d┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-4.1f┃\n",Ls->s[i].bianhao1,Ls->s[i].mingcheng1,Ls->s[i].xuefen1,Ls->s[i].kaoshi1,Ls->s[i].pingshi1,B);

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★");

}

printf("请按回车键回到主界面");

getchar();

getchar();

}

voidinsert(Lstudent*Ls)/*插入学生成绩信息*/

{

intn,i,l;

system("cls");

l=Ls->length;

printf("请输入要插入的学生数:

");

scanf("%d",&n);

for(i=0;i

{

printf("请输入插入第%d个学生的数据:

\n",i+1);

printf("姓名:

");

scanf("%s",&Ls->s[i+1].name);

printf("学号:

");

scanf("%d",&Ls->s[i+1].num);

printf("班级:

");

scanf("%d",&Ls->s[i+1].classes);

printf("年龄:

");

scanf("%d",&Ls->s[i+1].age);

printf("性别:

");

scanf("%s",&Ls->s[i+1].sex);

printf("课程编号:

");

scanf("%d",&Ls->s[i+1].bianhao);

printf("课程名称:

");

scanf("%s",&Ls->s[i+1].mingcheng);

printf("学分:

");

scanf("%d",&Ls->s[i+1].xuefen);

printf("考试成绩:

");

scanf("%d",&Ls->s[i+1].kaoshi);

printf("平时成绩:

");

scanf("%d",&Ls->s[i+1].pingshi);

printf("课程编号:

");

scanf("%d",&Ls->s[i+1].bianhao1);

printf("课程名称:

");

scanf("%s",&Ls->s[i+1].mingcheng1);

printf("学分:

");

scanf("%d",&Ls->s[i+1].xuefen1);

printf("考试成绩:

");

scanf("%d",&Ls->s[i+1].kaoshi1);

printf("平时成绩:

");

scanf("%d",&Ls->s[i+1].pingshi1);

}

Ls->length+=n;

printf("插入成绩完成,请按回车键返回主界面");

getchar();

getchar();

}

voiddelet(Lstudent*Ls)/*按学号删除*/

{

inti=0,j,x;

system("cls");

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

");

scanf("%d",&x);

while((ilength)&&(Ls->s[i].num!

=x))

i++;

if(ilength)

{

for(j=i;jlength;j++)

Ls->s[j]=Ls->s[j+1];

Ls->length--;

printf("已成功删除");

}

else

printf("对不起,无此学生成绩,无法删除\n");

printf("请按回车键返回主界面");

getchar();

getchar();

}

voidsearch(Lstudent*Ls)/*按学号查找*/

{

inti=0,x;

system("cls");

printf("请输入要查找学生的学号:

");

scanf("%d",&x);

while((ilength)&&(Ls->s[i].num!

=x))

i++;

if(ilength)

{

printf("┏━━━┳━━━┳━━━┳━━━┳━━━┳\n");

printf("┃姓名┃学号┃班级┃年龄┃性别┃\n");

printf("┣━━━╋━━━╋━━━╋━━━╋━━━╋\n");

printf("┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-6.6s┃\n",Ls->s[i].name,Ls->s[i].num,Ls->s[i].classes,Ls->s[i].age,Ls->s[i].sex);

printf("┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");

printf("┏━━━━━┳━━━┳━━━━━┳━━━━━┳━━━━┳━━━━┳\n");

printf("┃课程1编号┃名称┃学分┃考试成绩┃平时成绩┃综合成绩┃\n");

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("┃%-4d┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-4.1f┃\n",Ls->s[i].bianhao,Ls->s[i].mingcheng,Ls->s[i].xuefen,Ls->s[i].kaoshi,Ls->s[i].pingshi,A);

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("┏━━━━━┳━━━┳━━━━━┳━━━━━┳━━━━┳━━━━┳\n");

printf("┃课程2编号┃名称┃学分┃考试成绩┃平时成绩┃综合成绩┃\n");

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("┃%-4d┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-4.1f┃\n",Ls->s[i].bianhao1,Ls->s[i].mingcheng1,Ls->s[i].xuefen1,Ls->s[i].kaoshi1,Ls->s[i].pingshi1,B);

printf("┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

printf("☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★");

}

else

printf("未找到此学生\n");

printf("请按回车键回到主界面");

getchar();

getchar();

}

 

voidsave(Lstudent*Ls,FILE*fp)/*将学生成绩信息存储在文件scoresystem.txt中*/

{

inti;

system("cls");

if((fp=fopen("scoresystem.txt","wt+"))==NULL)

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

else

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

{fprintf(fp,"┏━━━┳━━━━━┳━━━━━┳━━━━━┳━━━┳\n");

fprintf(fp,"┃姓名┃学号┃班级┃年龄┃性别┃\n");

fprintf(fp,"┣━━━╋━━━━━╋━━━━━╋━━━━━╋━━━╋\n");

fprintf(fp,"┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-6.6s┃\n",Ls->s[i].name,Ls->s[i].num,Ls->s[i].classes,Ls->s[i].age,Ls->s[i].sex);

fprintf(fp,"┣━━━╋━━━━━╋━━━━━╋━━━━━╋━━━┫\n");

fprintf(fp,"┏━━━━━┳━━━┳━━━━━┳━━━━━┳━━━━┳━━━━┳\n");

fprintf(fp,"┃课程1编号┃名称┃学分┃考试成绩┃平时成绩┃综合成绩┃\n");

fprintf(fp,"┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

fprintf(fp,"┃%-4d┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-4.1f┃\n",Ls->s[i].bianhao,Ls->s[i].mingcheng,Ls->s[i].xuefen,Ls->s[i].kaoshi,Ls->s[i].pingshi,A);

fprintf(fp,"┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

fprintf(fp,"┏━━━━━┳━━━┳━━━━━┳━━━━━┳━━━━┳━━━━┳\n");

fprintf(fp,"┃课程2编号┃名称┃学分┃考试成绩┃平时成绩┃综合成绩┃\n");

fprintf(fp,"┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

fprintf(fp,"┃%-4d┃%-6.6s┃%-4d┃%-4d┃%-4d┃%-4.1f┃\n",Ls->s[i].bianhao1,Ls->s[i].mingcheng1,Ls->s[i].xuefen1,Ls->s[i].kaoshi1,Ls->s[i].pingshi1,B);

fprintf(fp,"┣━━━━━╋━━━╋━━━━━╋━━━━━╋━━━━╋━━━━╋\n");

fprintf(fp,"☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★");

}//注中括号在循环语句中的使用

printf("信息已存储在名为“scoresystem.txt的文件中”,按回车键返回主界面");

fclose(fp);

getchar();

getchar();

}

voidaver(Lstudent*Ls)//计算平均分并排序

{

inti=0,n,j,k;

floata[20],t;

for(i=0;ilength;i++)//逐个赋值,千万不能少

{

a[i]=(A+B)/2;

}

system("cls");

for(k=0;klength;k++)//此处为冒泡排序法

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

for(i=0;ilength-j;i++)

if(a[i]

{t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("┏━━━┳━━━┳━━━━┳\n");

printf("┃名次┃姓名┃平均分┃\n");

printf("┣━━━╋━━━╋━━━━╋\n");

for(i=0;ilength;i++)//已输入学生长度为Ls->length

{printf("┃%-4d┃%-6.6s┃%-4.1f┃\n",i+1,Ls->s[i].name,a[i]);

printf("┣━━━╋━━━╋━━━━╋\n");//注意有调用顺序问题

}

getchar();

getchar();

}

voidnopass(Lstudent*Ls)//?

列出不及格学生清单(学号、姓名、不及格的课程和成绩)

{intn;

system("cls");

inti;

printf("不及格学生信息\n");

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

{

if(A<60)

{printf("┏━━━┳━━━━━┳━━━┳━━━━┳\n");

printf("┃姓名┃学号┃课程┃考试成绩┃\n");

printf("┣━━━╋━━━━━╋━━━╋━━━━╋\n");

printf("┃%-6.6s┃%-4d┃%-6.6s┃%-4.1f┃\n",Ls->s[i].name,Ls->s[i].num,Ls->s[i].mingcheng,A);

printf("┣━━━╋━━━━━╋━━━╋━━━━╋\n");}

if(B<60)

{printf("┏━━━┳━━━━━┳━━━┳━━━━┳\n");

printf("┃姓名┃学号┃课程┃考试成绩┃\n");

printf("┣━━━╋━━━━━╋━━━╋━━━━╋\n");

printf("┃%-6.6s┃%-4d┃%-6.6s┃%-4.1f┃\n",Ls->s[i].name,Ls->s[i].num,Ls->s[i].mingcheng1,B);}

printf("┣━━━╋━━━━━╋━━━╋━━━━╋\n");

}

printf("请按回车键回到主界面");

getchar();

getchar();

}

voidchange(Lstudent*Ls)//修改成绩

{

inti=0,n;

printf("请输入要修改的学号:

");

scanf("%d",&n);

if(Ls->s[i].num==n)

{

printf("\n请输入学生姓名:

");

fflush(stdin);

scanf("%s",&Ls->s[i].name);

printf("\n请输入学生班级:

");

fflush(stdin);

scanf("%s",&Ls->s[i].classes);

printf("\n请输入学生年龄:

");

fflush(stdin);

scanf("%d",&Ls->s[i].age);

printf("\n请输入学生性别:

");

fflush(stdin);

scanf("%s",&Ls->s[i].sex);

printf("\n请输入课程1编号:

");

fflush(stdin);

scanf("%d",&Ls->s[i].bianhao);

printf("\n请输入课程名称:

");

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

当前位置:首页 > PPT模板 > 商务科技

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

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