⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xsguanlixitong.txt

📁 c ++编的学生管理系统
💻 TXT
字号:
这个要写的话太长了,我把我以前写的一个给你吧,当然某些功能实现和你说字段名都是不一样的! 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

void guanli();//管理员文件 
void zhu();//查询主函数 
void nianca(); 
void mingca(); 
void banca(); 
void xingca(); 
void xueca(); 
void zhucaidan(); 
void tianjia(); 
void shezhixinxi(); 
void cunxinxi(); 
void tian(); 
void quanbushanchu(); 
void xingbieshanchu(); 
void banjishanchu(); 
void mougeshanchu(); 
void fugai(); 
void wenjian(); 
void shanchu(); 

struct xuesheng 
{ 
char name[20]; 
char xingbie[3]; 





设计四个类;学生类(描述学生基本信息);成绩类:班级类;课程类(描述课程信息:课程编号,科目名称(如高等数学,大学英语等);学生成绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入; 
要求:能按学期,按班级完成对学生成绩的录入,修改,能按班级统计学生的成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。 
要课程设计报告 不要网上能找到的 谢谢了
问题补充:有了之后最好发给我或贴在网上 若是发给我请注明百度帐号 方便我给您分 我 QQ:7359539 或者QQ:587581 我过关之后有追分 万分感谢 

int age; 
int banji; 
char tel[20]; 
int hao; 
}; 
typedef struct xuesheng XUE; 
XUE str; 
FILE *fp=NULL; 
int no=1; 

void main() 
{ 
int a; 
printf("\t华育国际学生档案库\n请选择:\n"); 
while(1) 
{ 
printf("1 管理员\n2 用户\n3 退出\n"); 
scanf("%d",&a); 
switch(a) 
{ 
case 1:guanli(); 
zhucaidan(); 
break; 
case 2:zhu(); 
break; 
case 3: 
exit(0); 
default: 
printf("请重新选择!\n"); 
} 
} 
} 
void guanli() 
{ 
char mima[]={0,0,0,0,0,0}; 
char mi[6]; 
for(int i=0;i<3;i++) 
{ 
printf("请输入你的管理员密码(6位):"); 
scanf("%s",mi); 
if(strcmp(mima,mi)==0) 
{ 
printf("密码正确!\n"); 
return; 
} 
else 
{ 
printf("密码不正确,请重新输入:\n"); 
} 
} 
printf("三次密码错误,系统即将退出。\n"); 
exit(0); 
} 
void zhucaidan() 
{ 
int a; 
while(1) 
{ 
printf("\t主菜单\n1 添加\n2 删除\n3 查询\n4 退出\n"); 
scanf("%d",&a); 
switch(a) 
{ 
case 1:tian(); 
break; 
case 2:shanchu(); 
break; 
case 3:zhu(); 
break; 
case 4: 
exit(0); 
default: 
printf("请重新选择!\n"); 
} 
} 
} 
void zhu() 
{ 
int a; 
while(1) 
{ 
printf("1 以年龄查询\n2 以姓名查询\n3 以班级查询\n4 以性别查询\n5 以学号查询\n6 退出系统\n"); 
fflush(stdin); 
scanf("%d",&a); 
switch(a) 
{ 
case 1:nianca(); 
break; 
case 2:mingca(); 
break; 
case 3:banca(); 
break; 
case 4:xingca(); 
break; 
case 5:xueca(); 
break; 
case 6:exit(0); 
default: 
printf("请重新选择!\n"); 
break; 
} 
} 

} 
void nianca() 
{ 
int nianling,a=0; 
printf("请输入你要查询的年龄:\n"); 
fflush(stdin); 
scanf("%d",&nianling); 
fp=fopen("wenjian.txt","rb+"); 
while(!feof(fp)) 
{ 
fread(&str,sizeof(XUE),1,fp); 
if(str.age==nianling) 
{ 
printf("%s\t\t%s\t%d\n",str.name,str.xingbie,str.age); 
a=1; 
} 
} 
if(a==0) 
{ 
printf("没有你要找的学生信息。\n"); 
} 
} 
void mingca() 
{ 
char xm[20]; 
int a=0; 
printf("请输入你要查询的姓名:\n"); 
fflush(stdin); 
scanf("%s",xm); 
fp=fopen("wenjian.txt","rb+"); 
while(!feof(fp)) 
{ 
fread(&str,sizeof(XUE),1,fp); 
if(strcmp(str.name,xm)==0) 
{ 
printf("%s\t\t%s\t%d\n",str.name,str.xingbie,str.age); 
a=1; 
} 
} 
if(a==0) 
{ 
printf("没有你要找的学生信息。\n"); 
} 
} 
void banca() 
{ 
int bj,a=0; 
printf("请输入你要查询的年级和班:(年级和班级中间加0,例:9012)\n"); 
fflush(stdin); 
scanf("%d",&bj); 
fp=fopen("wenjian.txt","rb+"); 
while(!feof(fp)) 
{ 
fread(&str,sizeof(XUE),1,fp); 
if(str.banji==bj) 
{ 
printf("%s\t\t%s\t%d\t%d\n",str.name,str.xingbie,str.age,str.banji); 
a=1; 
} 
} 
if(a==0) 
{ 
printf("没有你要找的学生信息。\n"); 
} 
} 
void xingca() 
{ 
char xb[3]; 
int a=0; 
printf("请输入你要查询的性别\n"); 
fflush(stdin); 
scanf("%s",xb); 
fp=fopen("wenjian.txt","rb+"); 
while(!feof(fp)) 
{ 
fread(&str,sizeof(XUE),1,fp); 
if(strcmp(str.xingbie,xb)==0) 
{ 
printf("%s\t\t%s\t%d\t%d\n",str.name,str.xingbie,str.age,str.banji); 
a=1; 
} 
} 
if(a==0) 
{ 
printf("没有你要找的学生信息。\n"); 
} 
} 
void xueca() 
{ 
int xh; 
int a=0; 
printf("请输入你要查询的学号\n"); 
fflush(stdin); 
scanf("%d",&xh); 
fp=fopen("wenjian.txt","rb+"); 
while(!feof(fp)) 
{ 
fread(&str,sizeof(XUE),1,fp); 
if(str.hao==xh) 
{ 
printf("%s\t\t%s\t%d\t%d\n",str.name,str.xingbie,str.age,str.banji); 
a=1; 
} 
} 
if(a==0) 
{ 
printf("没有你要找的学生信息。\n"); 
} 
} 

void tian() 
{ 
while(1) 
{ 
tianjia(); 
} 
} 
void tianjia() 
{ 
char xuanze; 
printf("\ta添加\n\tb返回\n\t请选择服务\n"); 
fflush(stdin); 
scanf("%c",&xuanze); 
switch(xuanze) 
{ 
case'a': 
case'A': 
{ 
printf("\t你选择添加服务\n"); 
shezhixinxi(); 
cunxinxi(); 
break; 
} 
case'b': 
case'B': 
{ 
printf("\t返回\n"); 
exit(0); 
} 
} 
} 
void shezhixinxi() 
{ 
printf("\t请输入姓名\n"); 
fflush(stdin); 
scanf("%s",str.name); 
/*for(int i=0;i<3;i++) 
{ 
printf("\t请输入年龄\n"); 
fflush(stdin); 
scanf("%d",&xinxi.nianling); 
if(xinxi.nianling>0 && xinxi.nianling<50) 

printf("年龄不合法,请再输入\n"); 
break; 

}*/ 
printf("\t请输入年龄\n"); 
fflush(stdin); 
scanf("%d",&str.age); 
printf("\t请输入性别(男/女)\n"); 
fflush(stdin); 
scanf("%s",str.xingbie); 
printf("\t请输入班级\n"); 
fflush(stdin); 
scanf("%d",&str.banji); 
printf("\t请输入联系电话\n"); 
fflush(stdin); 
scanf("%d",str.tel); 
str.hao=no++; 
printf("\t你的学号为%d\n",str.hao); 
} 
void cunxinxi() 
{ 
fp=fopen("wenjian.txt","ab+"); 
if(fp==NULL) 
{ 
printf("\t文件失败\n"); 
exit(0); 
} 
fwrite(&str,sizeof(XUE),1,fp); 
fclose(fp); 
} 
void shanchu() 
{ 
char xuanze; 
for (;;) 
{ 
printf("\n\ta 全部删除\n"); 
printf("\tb 按性别删除\n"); 
printf("\tc 按班级删除\n"); 
printf("\td 删除某一个\n"); 
printf("\te 返回上级菜单\n"); 
printf("\t请输入您的选择"); 
fflush(stdin); 
scanf("%c",&xuanze); 
switch(xuanze) 
{ 
case 'a': 
case 'A': 
{ 
quanbushanchu(); 
break; 
} 
case 'b': 
case 'B': 
{ 
xingbieshanchu(); 
break; 
} 
case 'c': 
case 'C': 
{ 
banjishanchu(); 
break; 
} 
case 'd': 
case 'D': 
{ 
mougeshanchu(); 
break; 
} 
case 'e': 
{ 
return; 
} 
default: 
{ 
printf("\t您的输入有误,请重新输入\n\n"); 
} 
} 
} 
} 
void quanbushanchu() 
{ 
printf("\t全部删除\n"); 
fugai(); 
return; 
} 
void xingbieshanchu() 
{ 
for(int i=0;i<3;i++) 
{ 
char xingbie; 
wenjian(); 
char name[20]={0}; 
char xingbie1[3]={0}; 
int age=0; 
int banji=0; 
char tel[20]={0}; 
fread(&str,sizeof(XUE),1,fp); 
printf("\t请输入要删除人的性别(m:男/f:女)"); 
fflush(stdin); 
scanf("%c",&xingbie); 
while(!feof(fp)) 
{ 
if(xingbie=='m'||xingbie=='M') 
{ 
if(strcmp(str.xingbie,"男")==0) 
{ 
strcpy(str.name,name); 
strcpy(str.xingbie,xingbie1); 
str.age=age; 
str.banji=banji; 
strcpy(str.tel,tel); 
} 
return; 
} 
else if(xingbie=='f'||xingbie=='F') 
{ 
if(strcmp(str.xingbie,"女")==0) 
{ 
strcpy(str.name,name); 
strcpy(str.xingbie,xingbie1); 
str.age=age; 
str.banji=banji; 
strcpy(str.tel,tel); 
} 
return; 
} 
else 
{ 
printf("\t您的输入有误,请重新输入\n"); 
} 

} 
} 
} 
void banjishanchu() 
{ 
int banji; 
wenjian(); 
char name[20]={0}; 
char xingbie1[3]={0}; 
int age=0; 
int banji1=0; 
char tel[20]={0}; 
fread(&str,sizeof(XUE),1,fp); 
printf("\t请输入您要删除的班级\n\t(年级和班级之间加“0”,例:9010)"); 
fflush(stdin); 
scanf("%d",&banji); 
while(!feof(fp)) 
{ 
fread(&str,sizeof(XUE),1,fp); 
if(banji==str.banji) 
{ 
strcpy(str.name,name); 
strcpy(str.xingbie,xingbie1); 
str.age=age; 
str.banji=banji1; 
strcpy(str.tel,tel); 
} 
return; 
} 
} 
void mougeshanchu() 
{ 
char name1[20]={0}; 
char xingbie1[3]={0}; 
int age=0; 
int banji=0; 
char tel[20]={0}; 
char name[20]; 
wenjian(); 
printf("\t请输入该学生的姓名"); 
fflush(stdin); 
scanf("%s",name); 
while(!feof(fp)) 
{ 
fread(&str,sizeof(XUE),1,fp); 
if(strcmp(str.name,name)) 
{ 
strcpy(str.name,name1); 
strcpy(str.xingbie,xingbie1); 
str.age=age; 
str.banji=banji; 
strcpy(str.tel,tel); 
} 
return; 
} 
} 
void fugai() 
{ 
fp=fopen("wenjian.txt","wb+"); 
if(fp==NULL) 
{ 
printf("\tSorry!!!文件打开失败,系统即将退出。\n"); 
exit(0); 
} 
fclose(fp); 
} 
void wenjian() 
{ 
fp=fopen("wenjian.txt","rb+"); 
if(fp==NULL) 
{ 
printf("\tSorry!!!文件打开失败,系统即将退出。\n"); 
exit(0); 
} 
fclose(fp); 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -