学生学籍与成绩管理系统 学生学籍管理系统入口
- 手游频道
- 2024-12-29 23:21
- 1
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 erage; /平均分/
}Student;
Student stu[100]; /结构体数组变量/
int menu() /菜单函数/
{char c;
do
{("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].erage=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].erage=stud[i-1].summary/7; cout< stud[i-1].math<<" "< }cout<<"ttt"< ("pause"); }void Sort(Student stud[],int n) /按平均分排序/ {int i,j,k; float s; char t[20]; for(i=0;i for(j=0;j if(stud[j].erage {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].erage; stud[j+1].erage=stud[j].erage; stud[j].erage=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].erage=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].erage=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&&i if(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&&i if(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&&i if(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].erage=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].erage=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<<"ttt"; ("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].erage); i++; }n+=num; fclose(fp); /关闭文件/ cout<<"=====>提示:读入数据成功,可选择【显示所有成绩】查看"< cout<<"ttt"; ("pause"); return(n); }void Se(Student stud[],int n) /将所有记录写入文件/ {int i=0; FILE fp; /定义文件指针/ char filename[20]; /定义文件名/ cout<<"输入文件名:"; /输入文件名/ cin>>filename; if((fp=fopen(filename,"w"))==NULL) /打开文件/ {cout<<"=====>提示:无法打开这个文件!"< ("pause"); return; }fprintf(fp,"%dn",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.2n",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].erage); 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<<"ttt"; ("pause"); break; case 4: cout< Search(stu,n); /插入一条记录/ cout<<"ttt"; ("pause"); break; case 5: cout< n=Insert(stu,n); /按姓名查找,删除一条记录/ cout<<"ttt"; ("pause"); break; case 6: cout< Modify(stu,n); /查找并显示一个记录/ cout<<"ttt"; ("pause"); break; case 7: cout< n=Delete(stu,n); /查找并显示一个记录/ cout<<"ttt"; ("pause"); break; case 8: cout< n=Read(stu,n); /循环读出数据/ break; case 9: cout< Se(stu,n); /循环写入数据/ cout<<"ttt"; ("pause"); break; case 0: cout< cout<<"ttt"; ("pause"); exit(0); }} }C++的,应该可以吧 课程设计吧,这个谁会帮你做啊。要是有经费的话,还是可以考虑的。 #include #include #include #include using namespace std; /程序中一般用i表示学生序号,j表示科目序号 其他循环变量用k,m,n表示 最多统计10科50人的成绩信息 temname用于临时储存姓名 temsub用于临时储存科目名称 data.txt用于储存成绩; data1.txt用于储存学科名称、学时、学分; data2.txt用于储存学生信息 / char name[51][20] ; //姓名 int Id[51] ; //学号 int [51] ; //性别 int [51] ; // char subject[11][20] ; //学科 int score[11][51] ; //成绩 格式为score[j][i] j i 以1为初始值 int shi[11] ; //学时 int fen[11] ; //学分 /添加科目/ void subadd () //添加科目 {int j; char subjectname[20]; cout<<"输入添加科目名称:t"; cin>>subjectname; for (j=1;j<=10;j++) {if (strcmp(subject[j],"KONG")==0) {strcpy(subject[j],subjectname); break; }} cout< cin>>shi[j]; cout< cin>>fen [j]; cout< getch(); }/删除科目/ void subdel () //删除科目 {int i,j,k; char temsub[20]; cout<<"输入科目:"< cin>>temsub; for (j=1;j<=10;j++) //查找科目j {if ((strcmp(subject[j],temsub)!=0)&&(j==10)) {cout<<"无此科目!"< getch(); return; }if (strcmp(subject[j],temsub)==0) break; }for (k=j;k<=9;k++) {strcpy(subject[k],subject[k+1]); //删除科目j,将科目j后的数据移动 shi[k]=shi[k+1]; fen[k]=fen[k+1]; for (i=1;i<=50;i++) //删除科目j的成绩 {score[k][i]=score[k+1][i]; }} cout<<"输入任意字符退出"< getch(); }/判断成绩等级/ void dengji(int af) //判断成绩等级 {if (af>=90) cout<<"A"; else if (af>=80) cout<<"B"; else if (af>=70) cout<<"C"; else if (af>=60) cout<<"D"; else cout<<"E"; }/添加学生/ void stuadd () //添加学生 {int i,j; char bijiao[20]="0"; for (i=1;i<=50;i++) {if (strcmp(name[i],"KONG")==0) break; if ((strcmp(name[i],"KONG")!=0)&&(i==50)) {cout<<"数据已满!"< getch(); return; }} cout<<"输入学生姓名:tt"; cin>>name[i]; cout< cin>>[i]; cout< cin>>Id[i]; cout< cin>>[i]; for (j=1;j<=10;j++) {if (strcmp(subject[j],"KONG")==0) break; cout<<"输入"< cin>>score[j][i]; cout< }cout<<"姓名tt"< cout<<"科目tt分数tt等级tt"< for (j=1;j<=10;j++) {if (strcmp(subject[j],"KONG")==0) break; cout< dengji(score[j][i]); cout< }cout<<"输入任意字符退出"< getch(); }/删除学生/ void studel () //删除学生 {int i,j,k; char temname[20]; cout<<"输入学生姓名:"< cin>>temname; for (i=1;i<=50;i++) {if ((strcmp(name[i],temname)!=0)&&(i==50)) {cout<<"无此学生!"< getch(); return; }if (strcmp(name[i],temname)==0) break; }for (k=i;k<=49;k++) {strcpy(name[k],name[k+1]); Id[k]=Id[k+1]; [k]=[k+1]; [k]=[k+1]; }for (k=i;k<=49;k++) {for (j=1;j<=10;j++) score[j][k]=score[j][k+1]; }cout<<"输入任意字符退出"< getch(); }/查询成绩/ void chengji () //查询成绩 {char temname[20]; int i,j=1,ji=0,zongfen=0; //学分积,总学分 ji为学分积,zongfen为总学分 cout<<"输入学生姓名:"< cin>>temname; cout< for (i=1;i<=50;i++) //查找学生 {if ((strcmp(name[i],temname)!=0)&&(i==50)) {cout<<"无此学生!"<<"输入任意字符退出"< getch(); return; }if (strcmp(name[i],temname)==0) break; }cout<<"姓名tt"< if (strcmp(subject[j],"KONG")!=0) cout<<"科目tt"<<"成绩tt"<<"等级tt"< for (j=1;j<=10;j++) {if (strcmp(subject[j],"KONG")==0) break; cout< dengji(score[j][i]); cout< }for (j=1;j<=10;j++) //计算学分积 {if (strcmp(subject[j],"KONG")==0) break; ji=ji+score[j][i]fen[j]; zongfen=zongfen+fen[j]; }ji=ji/zongfen; cout<<"学分积tt"< cout<<"输入任意字符退出"<c语言学生学籍管理系统