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

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

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

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

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

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

II111.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");

^■■■■■■■■■■■■F\n");

printf(”\n");

SetConsoleColor(FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);

丄■■■■■■■■■■■■■■■■'

printf(”

/■■■

0.

读取信息

■■■^\n");

printf(”

/■■■■

1.

输入成绩

■■V\n");

printf(”

/■■■■■

2.

输出成绩

■■■■i\n

printf(”

3.

插入成绩

\n");

printf(”

/■■■

4.

删除成绩

■■■i\n");

printf(”

■■■■

5.

查找成绩

■■■\n")

printf(”

■■■■

6.

修改成绩

■■■\n");

printf(”

、■■■

7.

不及格名单

■■F\n");

printf(”

8.

平均成绩及排名

■F\n");

printf(”

、■■■■

9.

存储信息

■■■■F\n");

printf(”

、■■■

10.

退出成绩管理系统

■■F\n");

^■■■■■■■■■■■■■■■■■■F\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(”

111

1

11

\n”);

printf(”

|姓名|学号

|班级

|年龄丨性别

|\n");

printf(”

|1

HH

\n");

printf("

|%-6.6s

1%-4d

|%-4d

|%-4d

|%-6.6s

\n"丄s->s[i].name,Ls->s[i].num,Ls->s[i].classes,Ls->s[i].age,Ls->s[i].sex);

printf("|11111\n");

printf(”i1111\n");

printf("丨课程1编号丨名称丨学分丨考试成绩丨平时成绩丨综合成绩丨

\n");

printf(”|11111H

\n");

printf(”|%-4d|%-6.6s|%-4d|%-4d|%-4d|%-4.1f

I

\n"丄s->s[i].bianhao,Ls->s[i].mingcheng,Ls->s[i].xuefen,Ls->s[i].kaoshi,Ls->s[i

].pingshi,A);

printf("|11111H

\n");

printf("i11111r

\n");

printf("|

\n");

printf("

\n");

printf("

课程2编号

H

|名称

1

|学分

1

|考试成绩

1

|平时成绩丨综合成绩|

H

|%-4d

1

|%-6.6s

1

|%-4d

1

|%-4d

HH

|%-4d

|%-4.1f

|

\n"丄s->s[i].bianhao1,Ls->s[i].mingcheng1,Ls->s[i].xuefen1,Ls->s[i].kaoshi1,Ls-

>s[i].pingshi1,B);

printf("|11111H

\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=O,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("i1111r\n");

printf("丨姓名丨学号丨班级丨年龄丨性别丨\n");printf("|1111H\n");

I%-6.6s|

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

printf("|11111\n");

printf("i11111r

\n");

printf("|课程1编号|名称|学分|考试成绩|平时成绩丨综合成绩|

\n");

printf("|11111H

\n");

printf("|%-4d|%-6.6s|%-4d|%-4d|%-4d|%-4.1f

|

\n"丄s->s[i].bianhao,Ls->s[i].mingcheng,Ls->s[i].xuefen,Ls->s[i].kaoshi,Ls->s[i

].pingshi,A);

printf(”|11111H

\n");

printf("i11111r

\n");

printf("丨课程2编号丨名称丨学分丨考试成绩丨平时成绩丨综合成绩丨

\n");

printf(”|11111H

\n");

printf(”|%-4d|%-6.6s|%-4d|%-4d|%-4d|%-4.1f

I

\n"丄s->s[i].bianhao1,Ls->s[i].mingcheng1,Ls->s[i].xuefen1,Ls->s[i].kaoshi1,Ls-

>s[i].pingshi1,B);

printf("|11111H

\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,"

1

11

11

11

11

11

\n");

fprintf(fp,"

|

姓名

|学号

|班级

|年龄

丨性别

|\n");

fprintf(fp,"

|

H

H

H

H

1

L

\n");

1

H

H

H

H

H

fprintf(

fp,"

|%-6.6s|%-4d

|%-4d|

%-4d

|%-6.6s

\n"丄s->s[i].name,Ls->s[i].num,Ls->s[i].classes,Ls->s[i].age,Ls->s[i].sex);

fprintf(fp,"

|

11

11

11

11

11

\n");

fprintf(fp,"r\n");

fprintf(fp,"丨课程1编号丨名称丨学分丨考试成绩丨平时成绩丨综合成

绩丨\n");

fprintf(fp,"I11111

—H\n");

fprintf(fp,"|%-4d|%-6.6s|%-4d|%-4d|%-4d

I%-4.1f|

\n"丄s->s[i].bianhao,Ls->s[i].mingcheng,Ls->s[i].xuefen,Ls->s[i].kaoshi,Ls->s[i

].pingshi,A);

fprintf(fp,"I11111

—H\n");

fprintf(fp,"i11111

t\n");

fprintf(fp,"|课程2编号|名称|学分|考试成绩|平时成绩丨综合成绩

|\n");

fprintf(fp,"I11111

+\n");

fprintf(fp,"|%-4d|%-6.6s|%-4d|%-4d|%-4d|%-4.1f

|

\n"丄s->s[i].bianhao1,Ls->s[i].mingcheng1,Ls->s[i].xuefen1,Ls->s[i].kaoshi1,Ls-

>s[i].pingshi1,B);

fprintf(fp,"I11111

—+\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]

}

printf(”

printf("

printf("

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

{printf("

printf("

}

getchar();

getchar();

}

voidnopass(Lstudent*Ls)〃?

绩)

{intn;

system("cls");

inti;

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

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

{

if(A<60)

{printf("

printf("

printf("

printf("

I名次I姓名

\n”);

I\n”);

\n");

已输入学生长度为Ls->length

I平均分

I%-4dI%-6.6sI%-4.1fI\n",i+1,Ls->s[i].name,a[i]);

I11H\n");//注意有调用顺序问题

列出不及格学生清单

(学号、

姓名、不及格的课程和成

I姓名I学号

I课程丨考试成绩I

I%-6.6sI

%-4d

\n”);

\n");

\n");

%-6.6s

%-4.1f

\n"丄s->s[i].name,Ls->s[i].num,Ls->s[i].mingcheng,A);

printf("|111——

if(B<60)

{printf("

printf("

printf("

printf("

\n");

\n");

\n");

%-6.6s

\n"丄s->s[i].name,Ls->s[i].num,Ls->s[i].mingcheng1,B);}printf("|111

}

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

getchar();

getchar();

}

voidchange(Lstudent*Ls)〃

修改成绩

\n");}

\n");

%-4.1f

 

请输入学生姓名:

”);

请输入学生班级:

”);

请输入学生年龄:

");

请输入学生性别:

”);

请输入课程1编号:

");

请输入课程名称:

”);

请输入课程学分:

”);

请输入课程考试成绩:

”);请输入课程平时成绩:

”);请输入课程2编号:

");

请输入课程名称:

”);

请输入课程学分:

”);请输入课程考试成绩:

”);

{

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

fflush(stdin);

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

printf("\n

fflush(stdin);

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

printf("\n

fflush(stdin);

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

printf("\n

fflush(stdin);

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

printf("\n

fflush(stdin);

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

printf("\n

fflush(stdin);

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

printf("\n

fflush(stdi

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

当前位置:首页 > 外语学习 > 韩语学习

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

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