学生信息管理系统C语言实现.docx
- 文档编号:8309821
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:11
- 大小:15.81KB
学生信息管理系统C语言实现.docx
《学生信息管理系统C语言实现.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C语言实现.docx(11页珍藏版)》请在冰豆网上搜索。
学生信息管理系统C语言实现
#include
#include
#include
structstudent
{
intstudentID;
charstudentName[20];
charstudentage[3];
charstudentsex[3];
charstudentbirth[10];//如199204
charaddress[100];//填所在学院及班级
charcall[12];
};
structstudentstud[100];
intnum=0;
/*通过搜索学生学号查询结构体数组的下标*/
intstudent_searchby_ID(intID)
{
inti;
for(i=0;i { if(stud[i].studentID==ID) { returni; } } return-1; } /*通过搜索学生姓名查询结构体数组的下标*/ intstudent_searchby_NAME(charNAME[]) { inti; for(i=0;i { if(strcmp(stud[i].studentName,NAME)==0) { returni; } } return-1; } /*按学号给学生排序*/ voidstudent_sortby_line() { inti,j; structstudenttmp; for(i=0;i { for(j=1;j { if(stud[j-1].studentID>stud[j].studentID) { tmp=stud[j-1]; stud[j-1]=stud[j]; stud[j]=tmp; } } } } /*显示某个学生的信息*/ voidstudent_display(inti) { printf("%-8s%-8s%-8s%-8s%-15s%-15s%-15s\n","学号","姓名","年龄","性别","出生年月","地址","电话"); printf("---------------------------------------------------------------------------\n"); printf("%4d%8s%8s%8s%10s%20s%15s\n",stud[i].studentID,stud[i].studentName, stud[i].studentage,stud[i].studentsex,stud[i].studentbirth,stud[i].address,stud[i].call); } /*显示全体学生信息*/ voidstudent_display_all() { inti; printf("%-8s%-8s%-8s%-8s%-8s%-15s%-15s%-15s\n","序号","学号","姓名","年龄","性别","出生年月","地址","电话"); printf("----------------------------------------------------------------------------\n"); for(i=0;i { printf("%4d%6d%8s%8s%8s%10s%20s%15s\n",i+1,stud[i].studentID,stud[i].studentName, stud[i].studentage,stud[i].studentsex,stud[i].studentbirth,stud[i].address,stud[i].call); } } /*插入某个学生的信息*/ voidstudent_insert() { while (1) { printf("请输入学号: "); scanf("%d",&stud[num].studentID); printf("请输入姓名: "); scanf("%s",&stud[num].studentName); printf("请输入年龄: "); scanf("%s",&stud[num].studentage); printf("请输入性别: "); scanf("%s",&stud[num].studentsex); printf("请输入出生年月: "); scanf("%s",&stud[num].studentbirth); printf("请输入地址: "); scanf("%s",&stud[num].address); printf("请输入电话: "); scanf("%s",&stud[num].call); num++; printf("是否继续? (y/n): "); getchar(); if(getchar()=='n')break; } } /*修改某个学生信息*/ voidstudent_modify() { while (1) { intid; inti; printf("请输入要修改的学生的学号: "); scanf("%d",&id); i=student_searchby_ID(id); if(i==-1) { printf("该学生不存在! \n"); } else { printf("你要修改的学生信息为: \n"); student_display(i); printf("--请输入新值--\n"); printf("请输入学号: "); scanf("%d",&stud[i].studentID); printf("请输入姓名: "); scanf("%s",&stud[i].studentName); printf("请输入年龄: "); scanf("%s",&stud[i].studentage); printf("请输入性别: "); scanf("%s",&stud[i].studentsex); printf("请输入出生年月: "); scanf("%s",&stud[i].studentbirth); printf("请输入地址: "); scanf("%s",&stud[i].address); printf("请输入电话: "); scanf("%s",&stud[i].call); } printf("是否继续? (y/n): "); getchar(); if(getchar()=='n')break; } } /*删除某个学生信息*/ voidstudent_delete() { //intj; while (1) { intid; inti; printf("请输入要删除的学生的学号: "); scanf("%d",&id); i=student_searchby_ID(id); if(i==-1)printf("学生不存在! \n"); else { printf("你要删除的学生信息为: \n"); student_display(i); printf("是否真的要删除? (y/n): "); getchar(); if(getchar()=='y') { for(;i num--; } } printf("是否继续? (y/n)"); getchar(); if(getchar()=='n')break; } } /*按学生姓名查询*/ voidstudent_selectby_NAME() { while (1) { charname[20]; inti; printf("请输入要查询的学生的姓名: "); scanf("%s",&name); i=student_searchby_NAME(name); if(i==-1)printf("学生不存在! \n"); else { printf("你要查询的学生信息为: \n"); student_display(i); } printf("是否继续? (y/n)"); getchar(); if(getchar()=='n')break; } } /*按学生学号查询*/ voidstudent_selectby_ID() { while (1) { intID; inti; printf("请输入要查询的学生的学号: "); scanf("%d",&ID); i=student_searchby_ID(ID); if(i==-1)printf("该学生不存在! \n"); else { printf("你要查询的学生信息为: \n"); student_display(i); } printf("是否继续? (y/n)"); getchar(); if(getchar()=='n')break; } } /*将学生信息从文件读出*/ voidreadfile() { FILE*fp; inti; if((fp=fopen("data.txt","r"))==NULL) { printf("不能打开文件! \n"); return; } if(fread(&num,sizeof(int),1,fp)! =1) { num=-1; } else { for(i=0;i { fread(&stud[i],sizeof(structstudent),1,fp); } } fclose(fp); } /*将学生信息写入文件*/ voidwritefile() { FILE*fp; inti; fp=fopen("data.txt","w"); if(fwrite(&num,sizeof(int),1,fp)! =1) { printf("写入文件错误! \n"); } for(i=0;i { if(fwrite(&stud[i],sizeof(structstudent),1,fp)! =1) { printf("写入文件错误! \n"); } fputs("\n",fp); } fclose(fp); } /*主程序*/ voidmain() { intchoice; readfile(); while (1) { /*主菜单*/ printf("\n------学生信息管理系统------\n"); printf("1.增加学生记录\n"); printf("2.修改学生记录\n"); printf("3.删除学生记录\n"); printf("4.按姓名查询学生记录\n"); printf("5.按学号查询学生记录\n"); printf("6.导出全体学生信息表\n"); printf("7.导出全体学生信息表(按学号大小)\n"); printf("8.退出\n"); printf("请选择(1-8): "); scanf("%d",&choice); switch(choice) { case1: student_insert();break; case2: student_modify();break; case3: student_delete();break; case4: student_selectby_NAME();break; case5: student_selectby_ID();break; case6: student_display_all();break; case7: student_sortby_line();student_display_all();break; case8: exit(0);break; } writefile(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 语言 实现