C语言课设学生信息管理系统.docx
- 文档编号:9367738
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:19
- 大小:19.51KB
C语言课设学生信息管理系统.docx
《C语言课设学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课设学生信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
C语言课设学生信息管理系统
#include h> #include #include〈stdlib.h〉 #include〈conio。 h〉 #defineN100 typedefstructstudent { charxuehao[20]; charchushengnianyue[50]; charxingming[20]; charxingbie[20]; charzhuzhi[50]; charbanji[50]; charnianling[20]; chardianhua[20]; charsushe[20]; }STUDENT; STUDENTstudent[N]; intrenshu=0; intxuhao[100]; voidmenu(); voidfhzjm()//返回主界面函数 { charbiaozhi[20]; printf(”\n"); printf("还需要操作么? 如果需要操作请输入: y,否则请输入: n\n”); scanf("%s",biaozhi); if(strcmp(biaozhi,"y")==0) { menu(); } elseif(strcmp(biaozhi,”n”)==0) exit(0); else { printf("请输入正确的字符,谢谢! \n”); fhzjm(); } } voidDengJi()//登记学生信息函数 { intrs; inti,j,k=1; system(”CLS"); printf("请输入需要输入几个学生信息: "); scanf(”%d”,&rs); for(i=renshu;i { printf("请输入第%d个学生的学号: ",k); scanf(”%s”,student[i].xuehao); printf(”请输入学生的姓名: "); scanf(”%s”,student[i]。 xingming); printf("请输入学生的性别: "); scanf("%s",student[i]。 xingbie); printf(”请输入出生年月: ”); scanf("%s”,&student[i].chushengnianyue); printf("请输入年龄: "); scanf(”%s",&student[i].nianling); printf(”请输入学生的专业班级: ”); scanf(”%s",student[i]。 banji); printf("请输入宿舍号: ”); scanf(”%s",&student[i].sushe); printf(”请输入电话号码: "); scanf(”%s”,&student[i].dianhua); printf("请输入学生的家庭住址: ”); scanf(”%s",student[i]。 zhuzhi); } renshu=renshu+rs; fhzjm(); } voidShanChu()//删除全部学生信息或者指定学生信息的函数 { charshanchuinfo[10]; system(”CLS”); printf(”删除全部学生信息请输入\"all\”,删除指定学号的学生信息请输入\”one\”,删除指定姓名的学生信息请输入\”name\”\n”); scanf("%s”,shanchuinfo); if(strcmp(shanchuinfo,”all”)==0) { renshu=0; printf("删除成功\n\n"); } elseif(strcmp(shanchuinfo,"one”)==0) { structstudent*p=NULL; charchoice[20]; inti,j,k=0; printf(”请输入你要删除的人的学号: ”); scanf(”%s",choice); for(i=0;i { if(strcmp(choice,student[i]。 xuehao)==0) { k=1;j=i;break; } } if(k) { if(renshu==1) { p=&student[0]; free(p); renshu=0; } else { for(i=j;i { student[i]=student[i+1]; } renshu=renshu-1; } printf(”删除成功\n\n”); } } elseif(strcmp(shanchuinfo,"name")==0) { structstudent*p=NULL; charchoice[20]; inti,j,k=0; printf("请输入你要删除的人的姓名: ”); scanf("%s”,choice); for(i=0;i { if(strcmp(choice,student[i].xingming)==0) { k=1;j=i;break; } } if(k) { if(renshu==1) { p=&student[0]; free(p); renshu=0; } else { for(i=j;i〈renshu;i++) { student[i]=student[i+1]; } renshu=renshu-1; } printf("删除成功\n\n”); } } else { printf(”输入数据错误! \n"); ShanChu(); } fhzjm(); } voidLiuLan()//查看所有学生的信息函数 { inti,j; system("CLS”); if(renshu==0) { printf("系统里面没有任何学生的信息! \n"); } else { printf("序号学号姓名性别出生年月年龄专业班级宿舍号电话号码家庭住址\t\n"); for(i=0;i〈renshu;i++) printf("%d%s%s%s%s%s%s%s%s%s\t\n”,i,student[i]。 xuehao,student[i].xingming,student[i]。 xingbie,student[i]。 chushengnianyue,student[i]。 nianling,student[i]。 banji,student[i].sushe,student[i].dianhua,student[i]。 zhuzhi); fhzjm(); } } voidChaZhao()//根据不同的方式查找学生信息函数 { charchoice[10],xinxi[20]; inti,j,k=0; system("CLS"); if(renshu==0) { printf(”系统里面没有登记任何学生的信息,请录入! \n"); fhzjm(); } printf("三种查询方式: 按学号查询请输入: 1,按姓名查询请输入: 2,按电话号码查询请输入: 3,请输入查找方式: ”); scanf(”%s",choice); if(strcmp(choice,"1”)==0) { printf("请输入需要查找学生的学号: ”); scanf(”%s”,xinxi); for(i=0;i〈renshu;i++) { if(strcmp(xinxi,student[i].xuehao)==0) { j=i;k=1;break; } } if(k==0) printf("输入信息有误: \n"); else { printf("您所查找的学生的信息为: \n”); printf("学号姓名性别出生年月年龄专业班级宿舍号电话号码家庭住址\t\n”); printf(”%s%s%s%s%s%s%s%s%s\t\n”,student[i].xuehao,student[i].xingming,student[i].xingbie,student[i]。 chushengnianyue,student[i].nianling,student[i].banji,student[i]。 sushe,student[i].dianhua,student[i].zhuzhi); } } elseif(strcmp(choice,"2")==0) { printf(”请输入需要查找学生的姓名: \n”); scanf(”%s",xinxi); for(i=0;i { if(strcmp(xinxi,student[i]。 xingming)==0) { j=i;k=1;break; } } if(k==0) printf(”输入信息有误: \n"); else { printf("您所查找的学生的信息为: \n”); printf(”学号姓名性别出生年月年龄专业班级宿舍号电话号码家庭住址\t\n”); printf("%s%s%s%s%s%s%s%s%s\t\n",student[i]。 xuehao,student[i]。 xingming,student[i]。 xingbie,student[i].chushengnianyue,student[i].nianling,student[i].banji,student[i].sushe,student[i]。 dianhua,student[i].zhuzhi); } } elseif(strcmp(choice,"3”)==0) { printf(”请输入需要查找学生的电话号码: \n”); scanf("%s”,xinxi); for(i=0;i〈renshu;i++) { if(strcmp(xinxi,student[i]。 dianhua)==0) { j=i;k=1;break; } } if(k==0) printf(”输入信息有误: \n"); else { printf("您所查找的学生的信息为: \n”); printf("学号姓名性别出生年月年龄专业班级宿舍号电话号码家庭住址\t\n"); printf("%s%s%s%s%s%s%s%s%s\t\n",student[i].xuehao,student[i].xingming,student[i]。 xingbie,student[i].chushengnianyue,student[i].nianling,student[i].banji,student[i]。 sushe,student[i].dianhua,student[i]。 zhuzhi); } } fhzjm(); } voidPaiXu()//根据学号从高到底排序 { structstudent*p1[N],**p2,*temp; inti,j; system(”CLS”); p2=p1; //将数组的初始地址赋给指针数组 for(i=0;i〈renshu;i++) { p1[i]=student+i; } //冒泡法排序 for(i=0;i { for(j=i+1;j〈renshu;j++) { if((*(p2+i))—>xuehao〈(*(p2+j))—〉xuehao) {temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;} } } printf(”按照总成绩排序之后的信息为: \n"); printf("学号姓名性别出生年月年龄专业班级宿舍号电话号码家庭住址\t\n”); for(i=0;i〈renshu;i++) printf("%s%s%s%s%s%s%s%s%s\t\n",(*(p2+i))—>xuehao,(*(p2+i))->xingming,(*(p2+i))—>xingbie,(*(p2+i))—>chushengnianyue,(*(p2+i))—>nianling,(*(p2+i))-〉banji,(*(p2+i))-〉sushe,(*(p2+i))—〉dianhua,(*(p2+i))->zhuzhi); fhzjm(); } voidLiuLan_()//修改学生信息时展示列表 { inti,j; system(”CLS"); if(renshu==0) { printf(”系统里面没有任何学生的信息! \n”); } else { printf("序号学号姓名性别出生年月年龄专业班级宿舍号电话号码家庭住址\t\n"); for(i=0;i { printf(”%d%s%s%s%s%s%s%s%s%s\t\n",i,student[i].xuehao,student[i].xingming,student[i]。 xingbie,student[i]。 chushengnianyue,student[i]。 nianling,student[i].banji,student[i].sushe,student[i].dianhua,student[i].zhuzhi); xuhao[i]=i;//给学生编号,后面修改信息用 } } } voidModify()//修改学生信息函数 { intget_order,leibie=0,jj; charbiaozhi[20]; c: LiuLan_(); printf(”请输入要修改学生的序号: "); scanf(”%d”,&get_order); for(jj=0;jj<100;jj++) { if(xuhao[jj]==get_order) { b: printf("要修改学生的什么信息? 学号: 1姓名: 2性别: 3出生年月: 4年龄: 5专业班级: 6宿舍号: 7电话号码: 8家庭住址: 9\n"); scanf("%d",&leibie); if(leibie==1) { printf("请输入新的学号: "); scanf(”%s",&student[get_order].xuehao); printf("继续修改该学生的其他信息吗? 继续: y,退出修改当前学生信息: n: "); scanf("%s",biaozhi); if(strcmp(biaozhi,"y")==0) gotob; if(strcmp(biaozhi,”n")==0) gotoc; //exit(0); } } } } voidCunChu() { inti; FILE*rs; if((rs=fopen(”card。 bin","wb"))==NULL) { printf("打开失败"); exit(0); } for(i=0;i〈renshu;i++) { fwrite(&student[i],sizeof(student[i]),1,rs); } if(ferror(rs)) { fclose(rs); perror("写文件失败! \n”); return; } printf(”存储文件成功! \n”); fclose(rs); fhzjm(); } voidDaoChu() { structstudentt; inti=0; FILE*fp=fopen("card.bin",”rb+”); renshu=0; if(NULL==fp) { perror(”读取文件打开失败! \n”); return; } memset(student,0x0,sizeof(student)); while (1) { fread(&t,sizeof(t),1,fp); if(ferror(fp)) { fclose(fp); perror(”读文件过程失败! \n"); return; } if(feof(fp)) { break; } student[i]=t; i++; } fclose(fp); renshu=i; printf(”导出文件成功! \n"); fhzjm(); } voidmenu() { intn; system("CLS"); printf("学生信息管理系统v1.0\n"); printf(”\n"); printf(”作者: 邓其龙,汪良峰,徐长儒,2014。 6.20\n”); printf(”\n"); printf(”-—-—--—-----——--—-—-—-——---—-—功能列表---—--————----—----———-——--—--—-—-——--——--\n"); printf("\n”); printf(”1.添加学生信息\n"); printf(”2。 删除学生信息\n”); printf("3。 修改学生信息\n”); printf(”4.浏览学生信息\n"); printf("5.查找\n"); printf(”5.1按学号查找\n"); printf(”5.2按姓名查找\n"); printf("5.3按电话查找\n"); printf("6.根据学号排序\n”); printf(”7.存储到文件\n”); printf("8。 从文件导出\n"); printf(”9.退出系统\n”); printf(”\n”); printf(”\n”); a: printf(”请选择功能序号,以回车键结束: "); scanf("%d”,&n); switch(n) { case1: DengJi();break; case2: ShanChu();break; case3: Modify();break; case4: LiuLan();break; case5: ChaZhao();break; case6: PaiXu();break; case7: CunChu();break; case8: DaoChu();break; case9: exit(0);break; default: { printf("请输入1—8之间的数字,谢谢! \n"); gotoa; } } } main() { menu(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 信息管理 系统