📄 student.c
字号:
printf("\n********************************************************************************\n");
printf("------学 号:%s\n",xinxi.number);
printf("------姓 名:%s\n",xinxi.name);
printf("------班 级:%s\n",xinxi.banji);
printf("------寝室电话:%s\n",xinxi.dormphone);
printf("------电话区号:%s\n",xinxi.quhao);
printf("------家庭电话:%s\n",xinxi.familyphone);
printf("------手 机:%s\n",xinxi.mobilephone);
printf("------ E-mail :%s\n",xinxi.email);
printf("------家庭住址:%s\n",xinxi.address);
printf("------邮政编码:%s\n",xinxi.youbian);
printf("\n********************************************************************************\n");
}
void chaxun() //查询
{
int xuhao,i,j;
FILE*fp;
printf("\n请输入查询方式: 1:学号 2:姓名 3:班级\n");
scanf("%d",&xuhao);getchar();
while(xuhao>3)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&xuhao);
getchar();
}
switch(xuhao)
{
case 1:printf("请输入学号:\n");
gets(jiancha0.number);
fp=fopen("stu_xinxi","rb");j=1;
do
{
if(feof(fp)) {j=0;break;}
fread(&xinxi,sizeof(struct xinxi),1,fp);
if(strcmp(xinxi.number,jiancha0.number)==0)
{daying();j=0;}
}while(!feof(fp));
if(j==1) printf("对不起 你找的学号不存在\n");
fclose(fp);break;
case 2:printf("请输入姓名:\n");
gets(jiancha0.name);
fp=fopen("stu_xinxi","rb");j=1;
do
{
if(feof(fp)) {j=0;break;}
fread(&xinxi,sizeof(struct xinxi),1,fp);
if(strcmp(xinxi.name,jiancha0.name)==0)
{daying();j=0;}
}while(!feof(fp));
if(j==1) printf("对不起 你找的姓名不存在\n");
fclose(fp);break;
case 3:printf("请输入班级:\n");
gets(jiancha0.banji);
fp=fopen("stu_xinxi","rb");j=1;
do
{
fread(&xinxi,sizeof(struct xinxi),1,fp);
if(strcmp(xinxi.banji,jiancha0.banji)==0)
{daying();j=0;}
}while(!feof(fp));
if(j==1) printf("对不起 你找的班级不存在\n");
fclose(fp);break;
}
printf("\n请选择需要服务的序号:1:继续查询 2:修改 3:删除 4:返回管理页面\n");
scanf("%d",&i);getchar();
while(i>4)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&i);
getchar();
}
switch(i)
{
case 1:system("cls");chaxun();break;
case 2:system("cls");xiugai();break;
case 3:system("cls");shanchu();break;
case 4:system("cls");jiemian();break;
}
}
void printall() //显示所有通讯信息
{
int i;
FILE*fp;
fp=fopen("stu_xinxi","rb");
printf("\n所有学生通讯信息如下:\n");
while(!feof(fp))
{
fread(&xinxi,sizeof(struct xinxi),1,fp);
if(feof(fp)) break;
daying();
}
printf("\n请选择需要服务的序号:1:返回管理页面 2:修改 3:删除 4:查询\n");
scanf("%d",&i);
getchar();
while(i>4)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&i);
getchar();
}
switch(i)
{
case 1:system("cls");jiemian();break;
case 2:xiugai();break;
case 3:shanchu();break;
case 4:chaxun();break;
}
}
void tongji() //统计学生地区分布
{
int heyuan=0,beijing=0,guangzhou=0,shaoguan=0,huizhou=0,meizhou=0,shantou=0,shenzhen=0,
zhuhai=0,foshan=0,zhaoqin=0,zhanjiang=0,jiangmen=0,qingyuan=0,shunde=0,dongwan=0,zhongshan=0,
maoming=0,shanwei=0,yangjiang=0,chaozhou=0,other=0,i;
FILE*fp;
fp=fopen("stu_xinxi","rb");
while(!feof(fp))
{
fread(&xinxi,sizeof(struct xinxi),1,fp);
if(feof(fp)) break;
if(strcmp(xinxi.quhao,"010")==0) beijing++;
else if(strcmp(xinxi.quhao,"020")==0) guangzhou++;
else if(strcmp(xinxi.quhao,"0751")==0) shaoguan++;
else if(strcmp(xinxi.quhao,"0752")==0) huizhou++;
else if(strcmp(xinxi.quhao,"0753")==0) meizhou++;
else if(strcmp(xinxi.quhao,"0754")==0) shantou++;
else if(strcmp(xinxi.quhao,"0755")==0) shenzhen++;
else if(strcmp(xinxi.quhao,"0756")==0) zhuhai++;
else if(strcmp(xinxi.quhao,"0757")==0) foshan++;
else if(strcmp(xinxi.quhao,"0758")==0) zhaoqin++;
else if(strcmp(xinxi.quhao,"0759")==0) zhanjiang++;
else if(strcmp(xinxi.quhao,"0750")==0) jiangmen++;
else if(strcmp(xinxi.quhao,"0762")==0) heyuan++;
else if(strcmp(xinxi.quhao,"0763")==0) qingyuan++;
else if(strcmp(xinxi.quhao,"0765")==0) shunde++;
else if(strcmp(xinxi.quhao,"0768")==0) chaozhou++;
else if(strcmp(xinxi.quhao,"0769")==0) dongwan++;
else if(strcmp(xinxi.quhao,"0760")==0) zhongshan++;
else if(strcmp(xinxi.quhao,"0662")==0) yangjiang++;
else if(strcmp(xinxi.quhao,"0668")==0) maoming++;
else if(strcmp(xinxi.quhao,"0660")==0) shanwei++;
else other++;
}
fclose(fp);
printf("\n*******************************学生地区分布统计*********************************\n");
if(beijing>0) printf(" 北京:%d人",beijing);
if(guangzhou>0) printf(" 广州:%d人",guangzhou);
if(shaoguan>0) printf(" 韶关:%d人",shaoguan);
if(huizhou>0) printf(" 惠州:%d人",huizhou);
if(meizhou>0) printf(" 梅州:%d人",meizhou);
if(shantou>0) printf(" 汕头:%d人",shantou);
if(shenzhen>0) printf(" 深圳:%d人",shenzhen);
if(zhuhai>0) printf(" 珠海:%d人",zhuhai);
if(foshan>0) printf(" 佛山:%d人",foshan);
if(zhaoqin>0) printf(" 肇庆 :%d人",zhaoqin);
if(zhanjiang>0) printf(" 湛江:%d人",zhanjiang);
if(jiangmen>0) printf(" 江门:%d人",jiangmen);
if(heyuan>0) printf(" 河源:%d人",heyuan);
if(qingyuan>0) printf(" 清远:%d人",qingyuan);
if(shunde>0) printf(" 顺德:%d人",shunde);
if(chaozhou>0) printf(" 潮州:%d人",chaozhou);
if(dongwan>0) printf(" 东莞:%d人",dongwan);
if(zhongshan>0) printf(" 中山:%d人",zhongshan);
if(yangjiang>0) printf(" 阳江:%d人",yangjiang);
if(maoming>0) printf(" 茂名:%d人",maoming);
if(shanwei>0) printf(" 汕尾:%d人",shanwei);
if(other>0) printf(" 其他:%d人",other);
printf("\n\n********************************************************************************\n");
printf("\n请选择需要服务的序号:1:返回管理页面\n");
scanf("%d",&i);
getchar();
while(i>1)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&i);
getchar();
}
switch(i)
{
case 1:system("cls");jiemian();break;
}
}
void xiugaipw() //修改密码
{
FILE*fp;
int i=0,j,xuhao;
char password1[16],password2[16];
fp=fopen("stu_list","rb");
for(i=0;;i++)
{fread(&zhuce1[i],sizeof(struct zhuce),1,fp);
if(feof(fp)) break;
}
fclose(fp);
for(i=0;;i++)
{
if(strcmp(zhuce.password,zhuce1[i].password)==0) {j=i;break;}
}
do
{
printf("\n请输入旧密码:");
scanf("%s",jiancha.password);
if(strcmp(jiancha.password,zhuce.password)==0) i=0;
else printf("旧密码不正确!\n");
}while(i==1);
do
{
printf("\n请输入新密码:");
scanf("%s",password1);
printf("\n请再输入一遍:");
scanf("%s",password2);
if(strcmp(password1,password2)!=0)
{printf("\n对不起 你输入的新密码前后不一致\n");i=1;}
}while(i==1);
strcpy(zhuce1[j].password,password2);
fp=fopen("stu_list","wb");
for(i=0;(strlen(zhuce1[i].name))!=0;i++)
{fwrite(&zhuce1[i],sizeof(struct zhuce),1,fp);}
fclose(fp);
printf("\n请选择你需要服务的序号:1:返回管理界面\n");
scanf("%d",&xuhao);
getchar();
while(xuhao>2)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&xuhao);
getchar();
}
if(xuhao==1) {system("cls");jiemian();}
}
void xiugai() //修改学生通讯信息
{
FILE*fp;
int i=0,j,xuhao;
fp=fopen("stu_xinxi","rb");
for(i=0;;i++)
{fread(&xinxi0[i],sizeof(struct xinxi),1,fp);
if(feof(fp)) break;
}
fclose(fp);
printf("\n请输入需要修改信息的学号:");
scanf("%s",xinxi.number);
for(i=0;;i++)
{
if(strcmp(xinxi.number,xinxi0[i].number)==0) {j=i;break;}
}
do
{
printf("\n请输入需要修改项目的序号:\n1:学号 2:姓名 3:班级 4:宿舍电话");
printf("5:家庭所在地电话区号\n\t\t 6:家庭电话 7:手机 8:E-mail 9:家庭住址 10:邮政编码");
scanf("%d",&i);
getchar();
while(i>10)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&i);
getchar();
}
switch(i)
{
case 1:printf("\n请输入新的学号:\n");gets(xinxi.number);
strcpy(xinxi0[j].number,xinxi.number);break;
case 2:printf("\n请输入新的姓名:\n");gets(xinxi.name);
strcpy(xinxi0[j].name,xinxi.name);break;
case 3:printf("\n请输入新的班级:\n");gets(xinxi.banji);
strcpy(xinxi0[j].banji,xinxi.banji);break;
case 4:printf("\n请输入新的寝室电话:\n");gets(xinxi.dormphone);
strcpy(xinxi0[j].dormphone,xinxi.dormphone);break;
case 5:printf("\n请输入新的家庭所在地电话区号:\n");gets(xinxi.quhao);
strcpy(xinxi0[j].quhao,xinxi.quhao);break;
case 6:printf("\n请输入新的家庭电话:\n");gets(xinxi.familyphone);
strcpy(xinxi0[j].familyphone,xinxi.familyphone);break;
case 7:printf("\n请输入新的手机号码:\n");gets(xinxi.mobilephone);
strcpy(xinxi0[j].mobilephone,xinxi.mobilephone);break;
case 8:printf("\n请输入新的E-mail:\n");gets(xinxi.email);
strcpy(xinxi0[j].email,xinxi.email);break;
case 9:printf("\n请输入新的家庭住址:\n");gets(xinxi.address);
strcpy(xinxi0[j].address,xinxi.address);break;
case 10:printf("\n请输入新的家庭所在地的邮政编码:\n");gets(xinxi.youbian);
strcpy(xinxi0[j].youbian,xinxi.youbian);break;
}
printf("\n******************************恭喜你!修改成功********************************\n");
printf("\n1:继续修改该学生的其他信息 2:退出修改\n请选择:");
scanf("%d",&xuhao);
getchar();
while(xuhao>2)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&xuhao);
getchar();
}
if(xuhao==2) {system("cls");break;}
}while(xuhao==1);
fp=fopen("stu_xinxi","wb");
for(i=0;strlen(xinxi0[i].name)!=0;i++)
{fwrite(&xinxi0[i],sizeof(struct xinxi),1,fp);}
fclose(fp);
printf("\n请选择你需要服务的序号:1:继续修改 2:删除 3:返回管理界面\n");
scanf("%d",&xuhao);
getchar();
while(xuhao>3)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&xuhao);
getchar();
}
if(xuhao==1) xiugai();
else if(xuhao==2) shanchu();
else jiemian();
}
void shanchu() //删除学生通讯信息
{
FILE*fp;
int i=0,j,xuhao;
fp=fopen("stu_xinxi","rb");
for(i=0;;i++)
{fread(&xinxi0[i],sizeof(struct xinxi),1,fp);
if(feof(fp)) break;
}
fclose(fp);
printf("\n请输入需要删除信息的学号:");
scanf("%s",xinxi.number);
for(i=0;;i++)
{
if(strcmp(xinxi.number,xinxi0[i].number)==0) {j=i;break;}
}
fp=fopen("stu_xinxi","wb");
for(i=0;strlen(xinxi0[i].name)!=0;i++)
{
if(i==j) continue;
fwrite(&xinxi0[i],sizeof(struct xinxi),1,fp);
}
fclose(fp);
printf("\n******************************恭喜你!删除成功********************************\n");
printf("\n请选择你需要服务的序号:1:继续删除 2:修改 3:返回管理界面\n");
scanf("%d",&xuhao);
getchar();
while(xuhao>3)
{
printf("\n你输入有误 请重新输入:");
scanf("%d",&xuhao);
getchar();
}
if(xuhao==1) {system("cls");shanchu();}
else if(xuhao==2) {system("cls");xiugai(); }
else {system("cls");jiemian(); }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -