学生管理系统程序源代码Word下载.docx
《学生管理系统程序源代码Word下载.docx》由会员分享,可在线阅读,更多相关《学生管理系统程序源代码Word下载.docx(14页珍藏版)》请在冰点文库上搜索。
voidlr();
voidll();
voidcx();
voidxg();
voidsc();
voidbc();
voiddq();
voidpx();
voidmain()
intz;
printf("
+---------------------------+\n"
);
|欢迎使用学生档案管理系统|\n"
提示:
为保证您的操作得到保存,请按正常顺序退出系统^_^\n"
do
\n\t\t\t--------------------------------\n"
\t\t\t+主菜单|\n"
\t\t\t--------------------------------\n"
\t\t\t+[1]----录入学生信息|\n"
\t\t\t+[2]----浏览学生信息|\n"
\t\t\t+[3]----查询学生信息|\n"
\t\t\t+[4]----删除学生信息|\n"
\t\t\t+[5]----修改学生信息|\n"
\t\t\t+[6]----保存学生信息|\n"
\t\t\t+[7]----读取学生信息|\n"
\t\t\t+[8]----按学号排序|\n"
\t\t\t+[0]----退出系统|\n"
请输入您的选择:
"
scanf("
%d"
&
z);
switch(z)
case0:
break;
case1:
lr();
break;
case2:
ll();
case3:
cx();
case4:
sc();
case5:
xg();
case6:
bc();
case7:
dq();
case8:
px();
default:
\n无效选项!
}
while(z!
=0);
voidlr()/*录入函数*/
inty;
if(n==0)
{p=stu;
}else
p=&
stu[n];
--------------------\n"
请输入学生的学号:
%ld"
&
p->
num);
请输入学生的姓名:
%s"
p->
name);
请输入学生的年龄:
age);
请输入学生的性别:
sex);
请输入学生的出生日期:
e);
请输入学生的E-mail:
m);
请输入学生的籍贯:
b);
请输入学生的电话:
p);
n++;
p++;
\n1.继续输入.\n0.输入完毕.\n"
请选择:
y);
while(y==1);
输入完毕!
你一共输入%d个\n"
n);
voidll()/*浏览函数*/
inti;
if(n!
=0)
{printf("
学生总数:
%d\n"
n);
学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n"
-----------------------------------------------------\n"
for(i=0;
i<
n;
i++)
%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;
do{printf("
\n"
+--------------------+\n"
|按学号查询请按1|\n"
|按姓名查询请按2|\n"
|取消请按0|\n"
c);
switch(c)
case0:
case1:
请输入学生的学号;
w);
if(stu[i].num==w)
j=1;
if(j==0)
没有该学生记录,请核对!
case2:
请输入学生的姓名:
name);
if(strcmp(name,stu[i].name)==0)
\n提示:
无效选项!
}while(c!
}elseprintf("
return;
voidxg()/*修改函数*/
inti,j,c;
请输入您要修改的学生的学号:
if(stu[i].num==num)
j=i;
do{
请选择您要修改的学生的内容:
+----------------------+\n"
|姓名请按1|\n"
|年龄请按2|\n"
|性别请按3|\n"
|出生年月请按4|\n"
|E-mail请按5|\n"
|学号请按6|\n"
|籍贯请按7|\n"
|电话请按8|\n"
请输入新姓名:
stu[j].name);
请输入新年龄:
stu[j].age);
case3:
请输入新性别:
stu[j].sex);
case4:
请输入新出生年月:
stu[j].e);
case5:
请输入新E-mail:
stu[j].m);
case6:
请输入新学号:
stu[j].num);
case7:
请输入新籍贯:
stu[j].b);
case8:
请输入新电话:
stu[j].p);
voidsc()/*删除函数*/
inti,j,e;
请输入您要删除的学生的学号:
if(num==stu[i].num)
if(j!
=(n-1))
for(e=i-1;
e<
e++,j++)
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--;
删除完毕!
voidbc()/*保存学生信息到文件的函数*/
charx='
0'
;
FILE*fp;
if((fp=fopen("
student.txt"
"
wb"
))==NULL)/*创建文件并判断是否能够打开成功*/
文件不能打开!
/*如果不能打开文件,则关闭当前所有的文件*/
i++)/*将内存中的学生信息写入到磁盘文件中*/
if(fwrite(&
stu[i],sizeof(structstudent),1,fp)!
=1)
文件输入错误!
fclose(fp);
/*关闭文件*/
x=(char)i;
math.txt"
))==NULL)
文件创建失败!
fputc(x,fp);
voiddq()
charx;
rb"
打开错误!
x=fgetc(fp);
n=(int)x;
打开文件时错误!
请按任意键退出!
所有学生的信息为:
\n\n"
fread(&
stu[i],sizeof(structstudent),1,fp);
voidpx()
inti,j;
/*计数变量*/
structstudenttemp;
n-1;
i++)/*运用冒泡排序对结构体数组进行排序*/
for(j=i+1;
j<
j++)
if(stu[i].num>
stu[j].num)
temp=stu[i];
stu[i]=stu[j];
stu[j]=temp;
\n排序后的学生信息:
\n\n"
for(i=0;
}/*输出排序后的学生信息*/