当前位置:首页>正文

学生成绩管理系统的源代码 java 学生成绩管理系统

2023-07-30 02:30:16 互联网 未知

学生成绩管理系统的源代码

#include "stdio.h"

/*定义学生结构体*/

struct Student

{

char ID[20]

char Name[20]

float Mark1

float Mark2

float Mark3

float Average

}

/*声明学生数组及学生数量*/

struct Student students[1000]

int num=0

/*求平均值*/

float Avg(struct Student stu)

{

return (stu.Mark1 stu.Mark2 stu.Mark3)/3

}

/*通过学号返回数组下标*/

int Student_SearchByIndex(char id[])

{

int i

for (i=0i
{

if (strcmp(students[i].ID,id)==0)

{

return i

}

}

return -1

}

/*通过姓名返回数组下标*/

int Student_SearchByName(char name[])

{

int i

for (i=0i
{

if (strcmp(students[i].Name,name)==0)

{

return i

}

}

return -1

}

/*显示单条学生记录*/

void Student_DisplaySingle(int index)

{

printf("ss%8s%8s%8ss ","学号","姓名","成绩","成绩","成绩","平均成绩")

printf("------------------------------------------------------------- ")

printf("ss%8.2f%8.2f%8.2f.2f ",students[index].ID,students[index].Name,

students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average)

}

/*插入学生信息*/

void Student_Insert()

{

while(1)

{

printf("请输入学号:")

scanf("%s",&students[num].ID)

getchar()

printf("请输入姓名:")

scanf("%s",&students[num].Name)

getchar()

printf("请输入成绩:")

scanf("%f",&students[num].Mark1)

getchar()

printf("请输入成绩:")

scanf("%f",&students[num].Mark2)

getchar()

printf("请输入成绩:")

scanf("%f",&students[num].Mark3)

getchar()

students[num].Average=Avg(students[num])

num

printf("是否继续?(y/n)")

if (getchar()==n)

{

break

}

}

}

/*修改学生信息*/

void Student_Modify()

{

float mark1,mark2,mark3

while(1)

{

char id[20]

int index

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

scanf("%s",&id)

getchar()

index=Student_SearchByIndex(id)

if (index==-1)

{

printf("学生不存在! ")

}

else

{

printf("你要修改的学生信息为: ")

Student_DisplaySingle(index)

printf("-- 请输入新值-- ")

printf("请输入学号:")

scanf("%s",&students[index].ID)

getchar()

printf("请输入姓名:")

scanf("%s",&students[index].Name)

getchar()

printf("请输入成绩:")

scanf("%f",&students[index].Mark1)

getchar()

printf("请输入成绩:")

scanf("%f",&students[index].Mark2)

getchar()

printf("请输入成绩:")

scanf("%f",&students[index].Mark3)

getchar()

students[index].Average=Avg(students[index])

}

printf("是否继续?(y/n)")

if (getchar()==n)

{

break

}

}

}

/*删除学生信息*/

void Student_Delete()

{

int i

while(1)

{

char id[20]

int index

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

scanf("%s",&id)

getchar()

index=Student_SearchByIndex(id)

if (index==-1)

{

printf("学生不存在! ")

}

else

{

printf("你要删除的学生信息为: ")

Student_DisplaySingle(index)

printf("是否真的要删除?(y/n)")

if (getchar()==y)

{

for (i=indexi
{

students[i]=students[i 1]

}

num--

}

getchar()

}

printf("是否继续?(y/n)")

if (getchar()==n)

{

break

}

}

}

/*按姓名查询*/

void Student_Select()

{

while(1)

{

char name[20]

int index

printf("请输入要查询的学生的姓名:")

scanf("%s",&name)

getchar()

index=Student_SearchByName(name)

if (index==-1)

{

printf("学生不存在! ")

}

else

{

printf("你要查询的学生信息为: ")

Student_DisplaySingle(index)

}

printf("是否继续?(y/n)")

if (getchar()==n)

{

break

}

}

}

/*按平均值排序*/

void Student_SortByAverage()

{

int i,j

struct Student tmp

for (i=0i
{

for (j=1j
{

if (students[j-1].Average
{

tmp=students[j-1]

students[j-1]=students[j]

students[j]=tmp

}

}

}

}

/*显示学生信息*/

void Student_Display()

{

int i

printf("ss%8s%8s%8ss ","学号","姓名","成绩","成绩","成绩","平均成绩")

printf("------------------------------------------------------------- ")

for (i=0i
{

printf("ss%8.2f%8.2f%8.2f.2f ",students[i].ID,students[i].Name,

students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average)

}

}

/*将学生信息从文件读出*/

void IO_ReadInfo()

{

FILE *fp

int i

if ((fp=fopen("Database.txt","rb"))==NULL)

{

printf("不能打开文件! ")

return

}

if (fread(&num,sizeof(int),1,fp)!=1)

{

num=-1

}

else

{

for(i=0i
{

fread(&students[i],sizeof(struct Student),1,fp)

}

}

fclose(fp)

}

/*将学生信息写入文件*/

void IO_WriteInfo()

{

FILE *fp

int i

if ((fp=fopen("Database.txt","wb"))==NULL)

{

printf("不能打开文件! ")

return

}

if (fwrite(&num,sizeof(int),1,fp)!=1)

{

printf("写入文件错误! ")

}

for (i=0i
{

if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1)

{

printf("写入文件错误! ")

}

}

fclose(fp)

}

/*主程序*/

main()

{

int choice

IO_ReadInfo()

while(1)

{

/*主菜单*/

printf(" ------ 学生成绩管理系统------ ")

printf("1. 增加学生记录 ")

printf("2. 修改学生记录 ")

printf("3. 删除学生记录 ")

printf("4. 按姓名查询学生记录 ")

printf("5. 按平均成绩排序 ")

printf("6. 退出 ")

printf("请选择(1-6):")

scanf("%d",&choice)

getchar()

switch(choice)

{

case 1:

Student_Insert()

break

case 2:

Student_Modify()

break

case 3:

Student_Delete()

break

case 4:

Student_Select()

break

case 5:

Student_SortByAverage()

Student_Display()

break

case 6:

exit()

break

}

IO_WriteInfo()

}

}

java 学生成绩管理系统

1.写设计文档,包括数据库的数据结构,Java类设计,和他们的映射关系。
2.编码 测试。

其实你要对这个系统有一定的认识,它能够做些什么,需要些什么,之后把这些对象抽象成Java中的类和数据库中的表等。如果让你用普通话将这个系统阐述一下,你都说不出个123,那这个系统你是没法做成的。