学生管理系统程序源代码.docx
- 文档编号:28424690
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:15
- 大小:498.91KB
学生管理系统程序源代码.docx
《学生管理系统程序源代码.docx》由会员分享,可在线阅读,更多相关《学生管理系统程序源代码.docx(15页珍藏版)》请在冰豆网上搜索。
学生管理系统程序源代码
学生管理系统程序源代码
#include<>
#include<>
structstudent
{
longintnum;
charname[20];
intage;
charsex[4];
inte;
charm[20];
charb[30];
charp[15];
};
intn=0;
structstudentstu[100];
structstudent*p;
voidlr();
voidll();
voidcx();
voidxg();
voidsc();
voidbc();
voiddq();
voidpx();
voidmain()
{
intz;
printf("+---------------------------+\n");
printf("|欢迎使用学生档案管理系统|\n");
printf("+---------------------------+\n");
printf("提示:
为保证您的操作得到保存,请按正常顺序退出系统^_^\n");
do
{
printf("\n\t\t\t--------------------------------\n");
printf("\t\t\t+主菜单|\n");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t+[1]----录入学生信息|\n");
printf("\t\t\t+[2]----浏览学生信息|\n");
printf("\t\t\t+[3]----查询学生信息|\n");
printf("\t\t\t+[4]----删除学生信息|\n");
printf("\t\t\t+[5]----修改学生信息|\n");
printf("\t\t\t+[6]----保存学生信息|\n");
printf("\t\t\t+[7]----读取学生信息|\n");
printf("\t\t\t+[8]----按学号排序|\n");
printf("\t\t\t+[0]----退出系统|\n");
printf("\t\t\t--------------------------------\n");
printf("请输入您的选择:
");
scanf("%d",&z);
switch(z)
{
case0:
break;
case1:
lr();break;
case2:
ll();break;
case3:
cx();break;
case4:
sc();break;
case5:
xg();break;
case6:
bc();break;
case7:
dq();break;
case8:
px();break;
default:
printf("\n无效选项!
");
}
}
while(z!
=0);
}
voidlr()/*录入函数*/
{
inty;
if(n==0)
{p=stu;
}else
{
p=&stu[n];
}
do
{
printf("--------------------\n");
printf("请输入学生的学号:
");
scanf("%ld",&p->num);
printf("请输入学生的姓名:
");
scanf("%s",p->name);
printf("请输入学生的年龄:
");
scanf("%d",&p->age);
printf("请输入学生的性别:
");
scanf("%s",p->sex);
printf("请输入学生的出生日期:
");
scanf("%d",&p->e);
printf("请输入学生的E-mail:
");
scanf("%s",p->m);
printf("请输入学生的籍贯:
");
scanf("%s",p->b);
printf("请输入学生的电话:
");
scanf("%s",p->p);
n++;
p++;
printf("\n1.继续输入.\n0.输入完毕.\n");
printf("请选择:
");
scanf("%d",&y);
}
while(y==1);
printf("提示:
输入完毕!
你一共输入%d个\n",n);
}
voidll()/*浏览函数*/
{
inti;
if(n!
=0)
{printf("学生总数:
%d\n",n);
printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n");
printf("-----------------------------------------------------\n");
for(i=0;i printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,stu[i].m,stu[i].b,stu[i].p); } elseprintf("提示: 无学生数据,请输入数据! "); } voidcx()/*查询函数*/ { intc; intw,i,j=0; charname[20]; if(n! =0) { do{printf("\n"); printf("+--------------------+\n"); printf("|按学号查询请按1|\n"); printf("|按姓名查询请按2|\n"); printf("|取消请按0|\n"); printf("+--------------------+\n"); printf("请输入您的选择: "); scanf("%d",&c); switch(c) { case0: break; case1: printf("请输入学生的学号;"); scanf("%ld",&w); printf("\n"); for(i=0;i if(stu[i].num==w) { printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n"); printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,stu[i].m,stu[i].b,stu[i].p); j=1; } if(j==0) printf("提示: 没有该学生记录,请核对! "); break; case2: printf("请输入学生的姓名: "); scanf("%s",name); printf("\n"); for(i=0;i if(strcmp(name,stu[i].name)==0) { printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n"); j=1; printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,stu[i].m,stu[i].b,stu[i].p); } if(j==0) printf("提示: 没有该学生记录,请核对! "); break; default: printf("\n提示: 无效选项! "); break; } }while(c! =0); }elseprintf("提示: 无学生数据,请输入数据! "); return; } voidxg()/*修改函数*/ { longintnum; inti,j,c; if(n! =0) { printf("请输入您要修改的学生的学号: "); scanf("%ld",&num); printf("\n"); for(i=0;i if(stu[i].num==num) j=i; do{ printf("请选择您要修改的学生的内容: \n"); printf("+----------------------+\n"); printf("|姓名请按1|\n"); printf("|年龄请按2|\n"); printf("|性别请按3|\n"); printf("|出生年月请按4|\n"); printf("|E-mail请按5|\n"); printf("|学号请按6|\n"); printf("|籍贯请按7|\n"); printf("|电话请按8|\n"); printf("|取消请按0|\n"); printf("+----------------------+\n"); printf("请输入您的选择: "); scanf("%d",&c); printf("\n"); switch(c) { case0: break; case1: printf("请输入新姓名: "); scanf("%s",stu[j].name); break; case2: printf("请输入新年龄: "); scanf("%d",&stu[j].age); break; case3: printf("请输入新性别: "); scanf("%s",stu[j].sex); break; case4: printf("请输入新出生年月: "); scanf("%d",&stu[j].e); break; case5: printf("请输入新E-mail: "); scanf("%s",stu[j].m); break; case6: printf("请输入新学号: "); scanf("%ld",&stu[j].num); break; case7: printf("请输入新籍贯: "); scanf("%s",stu[j].b); break; case8: printf("请输入新电话: "); scanf("%s",stu[j].p); break; default: printf("\n无效选项! "); break; } }while(c! =0); }elseprintf("提示: 无学生数据,请输入数据! "); } voidsc()/*删除函数*/ { longintnum; inti,j,e; if(n! =0) { printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n"); printf("-----------------------------------------------------\n"); for(i=0;i printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,stu[i].m,stu[i].b,stu[i].p); printf("请输入您要删除的学生的学号: "); scanf("%ld",&num); printf("\n"); for(i=0;i if(num==stu[i].num) j=i; if(j! =(n-1)) { for(e=i-1;e { stu[j].num=stu[j+1].num; strcpy(stu[j].name,stu[j+1].name); strcpy(stu[j].sex,stu[j+1].sex); stu[j].e=stu[j+1].age; strcpy(stu[j].m,stu[j+1].m); stu[j].age=stu[j+1].age; strcpy(stu[j].b,stu[j+1].b); strcpy(stu[j].p,stu[j+1].p); n--;p--; } }else{n--;p--;} printf("提示: 删除完毕! "); }elseprintf("提示: 无学生数据,请输入数据! "); } voidbc()/*保存学生信息到文件的函数*/ { inti; charx='0'; FILE*fp; if((fp=fopen("","wb"))==NULL)/*创建文件并判断是否能够打开成功*/ { printf("文件不能打开! \n"); return;/*如果不能打开文件,则关闭当前所有的文件*/ } for(i=0;i if(fwrite(&stu[i],sizeof(structstudent),1,fp)! =1) printf("文件输入错误! \n"); fclose(fp);/*关闭文件*/ x=(char)i; if((fp=fopen("","wb"))==NULL) { printf("文件创建失败! "); return; } fputc(x,fp); fclose(fp); } voiddq() { inti; charx; FILE*fp; if((fp=fopen("","rb"))==NULL) { printf("打开错误! \n"); return; } x=fgetc(fp); fclose(fp); n=(int)x; if((fp=fopen("","rb"))==NULL) { printf("打开文件时错误! 请按任意键退出! "); return; } printf("所有学生的信息为: \n\n"); printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n"); for(i=0;i { fread(&stu[i],sizeof(structstudent),1,fp); printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,stu[i].m,stu[i].b,stu[i].p); } fclose(fp); } voidpx() { inti,j;/*计数变量*/ structstudenttemp; for(i=0;i for(j=i+1;j { if(stu[i].num>stu[j].num) { temp=stu[i]; stu[i]=stu[j]; stu[j]=temp; } } printf("\n排序后的学生信息: \n\n"); for(i=0;i { printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,stu[i].m,stu[i].b,stu[i].p); }/*输出排序后的学生信息*/ return; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统 程序 源代码