1、学生学籍管理系统

2025-03-05 12:45:39
推荐回答(3个)
回答1:

#include /*引用库函数*/
#include
#include
#include
#include
typedef struct
{
char class_0[20]; /*班级*/
int number; /*学号*/
char name[20]; /*姓名*/
float electrics; /*电子技术成绩*/
float c_program; /*C++语言成绩*/
float multimedia; /*多媒体技术成绩*/
float english; /*大学英语成绩*/
float math; /*高等数学成绩*/
float sport; /*体育成绩*/
float polity; /*马克思主义政治经济学*/
float summary; /*总分*/
float average; /*平均分*/
}Student;
Student stu[100]; /*结构体数组变量*/

int menu() /*菜单函数*/
{
char c;
do
{
system("cls"); /*运行前清屏*/
cout<<"********************************学生成绩管理系统********************************"<cout<<"【1】输入数据"<cout<<"【2】显示所有数据"<cout<<"【3】按平均分降序排列"<cout<<"【4】查找并显示一组数据"<cout<<"【5】插入一组数据"<cout<<"【6】修改一组数据"<cout<<"【7】删除一组数据"<cout<<"【8】从文件中读入数据"<cout<<"【9】将所有记录写入文件"<cout<<"【0】退出本系统\n"<cout<<"**********************作者:07 网络一班 3207001349************************"<cout<<"请你选择操作(0-9):"<c=getchar(); /*读入选择*/
}
while(c<'0'||c>'9');
return(c-'0'); /*返回选择*/
}

int Input(Student stud[],int n) /*输入若干条记录*/
{
int i=0;
char sign,x[10]; /*x[10]为清除多余的数据所用*/
while(sign!='n'&&sign!='N') /*判断*/
{
cout<<"请输入学生的班别:"; /*交互输入*/
cin>>stud[n+i].class_0;
cout<<"请输入学生的学号:";
cin>>stud[n+i].number;
cout<<"请输入学生的姓名:";
cin>>stud[n+i].name;
cout<<"请输入该学生『电子技术』的成绩:";
cin>>stud[n+i].electrics;
cout<<"请输入该学生『C++程序设计』的成绩:";
cin>>stud[n+i].c_program;
cout<<"请输入该学生『多媒体技术』的成绩:";
cin>>stud[n+i].multimedia;
cout<<"请输入该学生『大学英语』的成绩:";
cin>>stud[n+i].english;
cout<<"请输入该学生『高等数学』的成绩:";
cin>>stud[n+i].math;
cout<<"请输入该学生『大学体育』的成绩:";
cin>>stud[n+i].sport;
cout<<"请输入该学生『马克思主义政治经济学』的成绩:";
cin>>stud[n+i].polity;
stud[n+i].summary=stud[n+i].electrics+stud[n+i].c_program+stud[n+i].multimedia+stud[n+i].english+stud[n+i].math+stud[n+i].sport+stud[n+i].polity;
stud[n+i].average=stud[n+i].summary/7;
cout<<"该学生的总分为:"<gets(x); /*清除多余的输入*/
cout<<"=====>提示:继续写入成绩?(Y/N)";
cin>>sign; /*输入判断*/
i++;
}
return(n+i);
}

void Display(Student stud[],int n) /*显示所有记录*/
{
int i;
if(!stud)cout<<"没有记录";
else{
cout<<"--------------------------------------------------------------------------------"<cout<<" 班别 学号 姓名 电子 C++ 多媒体 英语 数学 体育 政治 总分 平均分"<cout<<"--------------------------------------------------------------------------------"<for(i=1;i{
stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].english+
stud[i-1].math+stud[i-1].sport+stud[i-1].polity;
stud[i-1].average=stud[i-1].summary/7;
cout<stud[i-1].math<<" "<}
cout<<"\t\t\t"<system("pause");
}

void Sort(Student stud[],int n) /*按平均分排序*/
{
int i,j,k;
float s;
char t[20];
for(i=0;ifor(j=0;jif(stud[j].average{
strcpy(t,stud[j+1].class_0);
strcpy(stud[j+1].class_0,stud[j].class_0);
strcpy(stud[j].class_0,t);

k=stud[j+1].number;
stud[j+1].number=stud[j].number;
stud[j].number=k;

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

s=stud[j+1].electrics;
stud[j+1].electrics=stud[j].electrics;
stud[j].electrics=s;

s=stud[j+1].c_program;
stud[j+1].c_program=stud[j].c_program;
stud[j].c_program=s;

s=stud[j+1].multimedia;
stud[j+1].multimedia=stud[j].multimedia;
stud[j].multimedia=s;

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

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

s=stud[j+1].sport;
stud[j+1].sport=stud[j].sport;
stud[j].sport=s;

s=stud[j+1].polity;
stud[j+1].polity=stud[j].polity;
stud[j].polity=s;

s=stud[j+1].summary;
stud[j+1].summary=stud[j].summary;
stud[j].summary=s;

s=stud[j+1].average;
stud[j+1].average=stud[j].average;
stud[j].average=s;
}
cout<<"--------------------------------------------------------------------------------"<cout<<" 班别 学号 姓名 电子 C++ 多媒体 英语 数学 体育 政治 总分 平均分"<cout<<"--------------------------------------------------------------------------------"<for(i=1;i{
stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].english+
stud[i-1].math+stud[i-1].sport+stud[i-1].polity;
stud[i-1].average=stud[i-1].summary/7;
cout<stud[i-1].math<}
}

int Insert(Student stud[],int n) /*插入一条记录*/
{
char x[10]; /*清除多余输入所用*/
cout<<"请输入学生的班别:"<cin>>stud[n].class_0;
cout<<"请输入学生的学号:";
cin>>stud[n].number;
cout<<"请输入学生的姓名:";
cin>>stud[n].name;
cout<<"请输入该学生『电子技术』的成绩:";
cin>>stud[n].electrics;
cout<<"请输入该学生『C++程序设计』的成绩:";
cin>>stud[n].c_program;
cout<<"请输入该学生『多媒体技术』的成绩:";
cin>>stud[n].multimedia;
cout<<"请输入该学生『大学英语』的成绩:";
cin>>stud[n].english;
cout<<"请输入该学生『高等数学』的成绩:";
cin>>stud[n].math;
cout<<"请输入该学生『大学体育』的成绩:";
cin>>stud[n].sport;
cout<<"请输入该学生『马克思主义政治经济学』的成绩:";
cin>>stud[n].polity;
stud[n].summary=stud[n].electrics+stud[n].c_program+stud[n].multimedia+stud[n].english+
stud[n].math+stud[n].sport+stud[n].polity;
stud[n].average=stud[n].summary/7;
gets(x);
n++;
Sort(stu,n); /*调用排序函数*/
cout<<"=====>提示:插入成功!"<return(n);
}

int Delete(Student stud[],int n) /*按学号查找,删除一条记录*/
{
int s;
int i=0,j;
cout<<"输入需要删除学生的学号:"<cin>>s;
while((stud[i].number-s)!=0&&iif(i==n)
{
cout<<"=====>提示:对不起,无法找到改学号……"<return(n);
}
for(j=i;j{
strcpy(stud[j].class_0,stud[j+1].class_0);
stud[j].number=stud[j+1].number;
strcpy(stud[j].name,stud[j+1].name);
stud[j].electrics=stud[j+1].electrics;
stud[j].c_program=stud[j+1].c_program;
stud[j].multimedia=stud[j+1].multimedia;
stud[j].english=stud[j+1].english;
stud[j].math=stud[j+1].math;
stud[j].sport=stud[j+1].sport;
stud[j].polity=stud[j+1].polity;
}
cout<<"=====>提示:已成功删除!"<return(n-1);
}

void Search(Student stud[],int n) /*查找并显示一个记录*/
{
int s;
int i=0;
cout<<"输入需要查找学生的学号:"<cin>>s;
while((stud[i].number-s)!=0&&iif(i==n)
{
cout<<"=====>提示:对不起,无法找到该学生的信息!"<return;

}
cout<<"---------------------------"<cout<<"班别:"<cout<<"学号:"<cout<<"姓名:"<cout<<"电子技术:"<cout<<"C++程序设计:"<cout<<"多媒体技术:"<cout<<"大学英语:"<cout<<"高等数学:"<cout<<"大学体育:"<cout<<"马克思主义政治经济学:"<cout<<"总分:"<cout<<"平均分:"<}

void Modify(Student stud[],int n)
{
int s;
int i=0;
cout<<"输入需要修改成绩学生的学号:"<cin>>s;
while((stud[i].number-s)!=0&&iif(i==n)
{
cout<<"=====>提示:对不起,无该学生的成绩……"<return;
}
cout<<"-----------------------------------该学生的信息---------------------------------"<cout<<" 班别 学号 姓名 电子 C++ 多媒体 英语 数学 体育 政治 总分 平均分"<cout<<"--------------------------------------------------------------------------------"<stud[i].summary=stud[i].electrics+stud[i].c_program+stud[i].multimedia+stud[i].english+
stud[i].math+stud[i].sport+stud[i].polity;
stud[i].average=stud[i].summary/7;
cout<stud[i-1].math<cout<<"请输入学生的班别:"<cin>>stud[n+i].class_0;
cout<<"请输入学生的学号:"<cin>>stud[n+i].number;
cout<<"请输入学生的姓名:"<cin>>stud[n+i].name;
cout<<"请输入该学生『电子技术』的成绩:"<cin>>stud[n+i].electrics;
cout<<"请输入该学生『C++程序设计』的成绩:"<cin>>stud[n+i].c_program;
cout<<"请输入该学生『多媒体技术』的成绩:"<cin>>stud[n+i].multimedia;
cout<<"请输入该学生『大学英语』的成绩:"<cin>>stud[n+i].english;
cout<<"请输入该学生『高等数学』的成绩:"<cin>>stud[n+i].math;
cout<<"请输入该学生『大学体育』的成绩:"<cin>>stud[n+i].sport;
cout<<"请输入该学生『马克思主义政治经济学』的成绩:"<cin>>stud[n+i].polity;
stud[i].summary=stud[i].electrics+stud[i].c_program+stud[i].multimedia+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity;
stud[i].average=stud[i].summary/7;
cout<<"该学生的总分为:"<}

int Read(Student stud[],int n) /*从文件中读入数据*/
{
int i=0,num;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
cout<<"输入文件名:"<cin>>filename; /*输入文件名*/
if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/
{
cout<<"=====>提示:无法打开这个文件!"<cout<<"\t\t\t";
system("pause");
return(n);
}
fscanf(fp,"%d",&num); /*读入总记录量*/
while(i{
fscanf(fp,"%s%d%s%f%f%f%f%f%f%f%f%f",stud[n+i].class_0,&stud[n+i].number,stud[n+i].name,&stud[n+i].electrics,&stud[n+i].c_program,&stud[n+i].multimedia,&stud[n+i].english,&stud[n+i].math,&stud[n+i].sport,&stud[n+i].polity,&stud[n+i].summary,&stud[n+i].average);
i++;
}
n+=num;
fclose(fp); /*关闭文件*/
cout<<"=====>提示:读入数据成功,可选择【显示所有成绩】查看"<cout<<"\t\t\t";
system("pause");
return(n);
}

void Save(Student stud[],int n) /*将所有记录写入文件*/
{
int i=0;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
cout<<"输入文件名:"; /*输入文件名*/
cin>>filename;
if((fp=fopen(filename,"w"))==NULL) /*打开文件*/
{
cout<<"=====>提示:无法打开这个文件!"<system("pause");
return;
}
fprintf(fp,"%d\n",n); /*循环写入数据*/
while(i{
fprintf(fp,"%-8s%-8d%-6s%-6.1f%-7.1f%-7.1f%-6.1f%-6.1f%-6.1f%-7.1f%-8.1f%-6.2\n",stud[i].class_0,stud[i].number,stud[i].name,stud[i].electrics,stud[i].c_program,stud[i].multimedia,stud[i].english,
stud[i].math,stud[i].sport,stud[i].polity,stud[i].summary,stud[i].average);
i++;
}
fclose(fp); /*关闭文件*/
cout<<"=====>提示:已成功写入数据!"<}

void main() /*主函数*/
{
int n=0;
for(;;)
{
switch(menu()) /*选择判断*/
{
case 1:
cout<> 输入成绩 <<===="<n=Input(stu,n);
break;
case 2:
cout<> 显示所有记录 <<===="<Display(stu,n);
break;
case 3:
cout<> 按平均分降序排列 <<===="<Sort(stu,n); /*按学号排序*/
cout<<"排序成功!"<cout<<"\t\t\t";
system("pause");
break;
case 4:
cout<> 查找并显示一组成绩 <<===="<Search(stu,n); /*插入一条记录*/
cout<<"\t\t\t";
system("pause");
break;
case 5:
cout<> 插入一组成绩 <<===="<n=Insert(stu,n); /*按姓名查找,删除一条记录*/
cout<<"\t\t\t";
system("pause");
break;
case 6:
cout<> 修改一组成绩 <<===="<Modify(stu,n); /*查找并显示一个记录*/
cout<<"\t\t\t";
system("pause");
break;
case 7:
cout<> 删除一组成绩 <<===="<n=Delete(stu,n); /*查找并显示一个记录*/
cout<<"\t\t\t";
system("pause");
break;
case 8:
cout<> 从文件中读入数据 <<===="<n=Read(stu,n); /*循环读出数据*/
break;
case 9:
cout<> 将所有记录写入文件 <<===="<Save(stu,n); /*循环写入数据*/
cout<<"\t\t\t";
system("pause");
break;
case 0:
cout<> 谢谢您的使用! <<===="<cout<<"\t\t\t";
system("pause");
exit(0);
}
}
}

C++的,应该可以吧

回答2:

课程设计吧,这个谁会帮你做啊。要是有经费的话,还是可以考虑的。

回答3:

用什么语言啊?什么界面?什么数据库?
我个人资料里有联系方式