个人信息管理系统.docx
《个人信息管理系统.docx》由会员分享,可在线阅读,更多相关《个人信息管理系统.docx(12页珍藏版)》请在冰点文库上搜索。
个人信息管理系统
#include
#include
#include
#include
#defineN100
voidaa();
voidpaixu();
voidchazhao();
voidxiugai();
voidshanchu();
voidopen();
voidsave();
intk=1;
#defineFMAT"%-12s%-10s%-5s%-10s%-10s%-15s%-30s"
structstudent
{
charnum[12];
charname[10];
charsex[5];
charnation[10];
charbirth[10];
chartel[15];
charaddr[30];
}stu[N];
voidshuru()
{
inti=k;
charch;
do
{
system("cls");
printf("\n\n\n\n\n※※※※※※输入第%d个学生信息资料※※※※※※\n",k);
printf("学号:
");
scanf("%s",stu[i].num);
printf("姓名:
");
scanf("%s",stu[i].name);
printf("性别:
");
scanf("%s",stu[i].sex);
printf("民族:
");
scanf("%s",stu[i].nation);
printf("出生日期:
");
scanf("%s",stu[i].birth);
printf("电话:
");
scanf("%s",stu[i].tel);
printf("家庭住址:
");
scanf("%s",stu[i].addr);
printf("※※※※※※※已经输入%d个学生的信息※※※※※※\n\n\n",k);
i++;
k++;
printf("继续输入其他学生信息(y/n):
");
getchar();}
while((ch=getchar())!
='n');
system("cls");
aa();
}
voidshuchu()
{
inti,a;
paixu();
printf(FMAT,"学号","姓名","性别","民族","出生日期","电话","家庭住址");
printf("\n");
for(i=0;i{
printf(FMAT,stu[i].num,stu[i].name,stu[i].sex,stu[i].nation,stu[i].birth,stu[i].tel,stu[i].addr);
printf("\n");
}
printf("1.继续输入\n");
printf("2.返回主界面\n");
scanf("%d",&a);
switch(a)
{
case1:
system("cls");shuru();break;
case2:
system("cls");aa();break;
case3:
system("cls");{printf("\n\n\n\n\●○●○●○●谢谢使用本程序●○●○●○●\n\n\n");exit(0);}
}while
(1);
system("cls");
}
voidaa()
{
intnumber;
do
{
printf("\n\n\n\n\n\n\n\n");
printf("~⊙⊥⊙~\n\n");
printf("★☆★☆★☆★☆★☆★☆1.输入学生信息★☆★☆★☆★☆★☆★☆\n");
printf("★☆★☆★☆★☆★☆★☆2.输出学生信息★☆★☆★☆★☆★☆★☆\n");
printf("★☆★☆★☆★☆★☆★☆3.查找学生信息★☆★☆★☆★☆★☆★☆\n");
printf("★☆★☆★☆★☆★☆★☆4.修改学生信息★☆★☆★☆★☆★☆★☆\n");
printf("★☆★☆★☆★☆★☆★☆5.删除该学生信息★☆★☆★☆★☆★☆★☆\n");
printf("★☆★☆★☆★☆★☆★☆6.退出本程序★☆★☆★☆★☆★☆★☆\n\n");
printf("◇※◇※◇※◇※◇※◇\n\n");
printf("请正确选择:
");
scanf("%d",&number);
switch(number)
{
case1:
system("cls");shuru();break;
case2:
system("cls");shuchu();break;
case3:
system("cls");chazhao();break;
case4:
system("cls");xiugai();break;
case5:
system("cls");shanchu();break;
case6:
system("cls");save();
printf("\n\n\n\n\n\n\n^_^^_^^_^^_^謝謝您使用本程序,下次再見!
^_^^_^^_^^_^\n");
exit(0);
}
}while
(1);
}
voidmain()
{
open();
printf("\n\n\n\n\n\n\n");
printf("(*^__^*)(*^__^*)(*^__^*)(*^__^*)(*^__^*)\n\n");
printf("歡迎使用本程序!
\n\n");
printf("(*^__^*)(*^__^*)(*^__^*)(*^__^*)(*^__^*)\n");
printf("按任意键进入主界面,输入n退出......\n\n\n\n");
getch();
system("cls");
aa();
}
voidpaixu()
{
inti,j;
structstudents;
for(i=0;i{
for(j=k-1;j>i;j--)
if(strcmp(stu[j].num,stu[j-1].num)<0)
{
s=stu[j-1];
stu[j-1]=stu[j];
stu[j]=s;
}
}
}
voidchazhao()
{
charq[10];
inti,a;
printf("请输入您要查找的学生姓名:
");
scanf("%s",q);
for(i=0;i{
if(strcmp(q,stu[i].name)==0)
{printf(FMAT,"学号","姓名","性别","民族","出生日期","电话","家庭住址");
printf("\n");
printf(FMAT,stu[i].num,stu[i].name,stu[i].sex,stu[i].nation,stu[i].birth,stu[i].tel,stu[i].addr);
printf("\n");}
elseif(i==k-1)
printf("\n\n\n\n\n◇※◇※◇※◇※◇※◇无此人信息资料◇※◇※◇※◇※◇※◇\n\n\n\n\n\n");
}
printf("1.继续查找\n");
printf("2.返回主界面\n");
scanf("%d",&a);
switch(a)
{
case1:
system("cls");chazhao();break;
case2:
system("cls");aa();break;
case3:
system("cls");{printf("\n\n\n\n\n◇●○●○●○●◇谢谢使用本程序!
◇●○●○●○●◇\n\n\n");exit(0);}
}while
(1);
system("cls");
}
voidxiugai()
{
charq[10],ch;
inti,a,m;
printf("输入您要修改的学生姓名:
");
scanf("%s",&q);
printf("\n");
for(i=0;i{
if(strcmp(q,stu[i].name)==0)
{
break;
}
}
while
(1)
{printf(FMAT,"学号","姓名","性别","民族","出生年月","电话","家庭住址");
printf("\n\n");
printf(FMAT,stu[i].num,stu[i].name,stu[i].sex,stu[i].nation,stu[i].birth,stu[i].tel,stu[i].addr);
printf("\n\n");
printf("◇·◇·◇·◇·◇·◇请选择您要修改的学生的信息内容◇·◇·◇·◇·◇·◇\n\n\n\n\n");
printf("|………………学号请按1|\n");
printf("|………………姓名请按2|\n");
printf("|………………性别请按3|\n");
printf("|………………民族请按4|\n");
printf("|………………出生年月请按5|\n");
printf("|………………电话请按6|\n");
printf("|………………家庭住址请按7|\n");
printf("|………………取消请按0|\n");
printf("请输入您的选择:
");
scanf("%d",&m);
switch(m)
{
case0:
system("cls");return;
case1:
printf("请输入新学号:
");
scanf("%s",stu[i].num);break;
case2:
printf("请输入新姓名:
");
scanf("%s",stu[i].name);break;
case3:
printf("请输入新性别:
");
scanf("%s",stu[i].sex);break;
case4:
printf("请输入新民族:
");
scanf("%s",stu[i].nation);break;
case5:
printf("请输入新出生年月:
");
scanf("%s",stu[i].birth);break;
case6:
printf("请输入新电话:
");
scanf("%ld",stu[i].tel);break;
case7:
printf("请输入新家庭住址:
");
scanf("%s",stu[i].addr);break;
default:
printf("\n无效选项!
");
}
printf("1.继续修改\n");
printf("2.返回主界面\n");
scanf("%d",&a);
switch(a)
{
case1:
system("cls");break;
case2:
system("cls");return;
}
}
}
voidshanchu()
{
charq[10];
inti,x=0,a,j;
while
(1)
{
printf("输入您要删除的学生姓名:
\n");
scanf("%s",q);
for(i=0;iif(strcmp(stu[i].name,q)==0)
{
x=1;
printf(FMAT,"学号","姓名","性别","民族","出生日期","电话","家庭住址");
printf("\n");
printf(FMAT,stu[i].num,stu[i].name,stu[i].sex,stu[i].nation,stu[i].birth,stu[i].tel,stu[i].addr);
printf("\n");
break;
}
if(x==0)printf("输入错误或无此学生信息!
\n");
elsebreak;
}
printf("1.确认删除,并回到主界面\n");
printf("2.不进行删除,回到主界面\n");
scanf("%d",&a);
switch(a)
{
case1:
for(j=i;jcase2:
system("cls");return;
}
}
FILE*fp;//定义文件指针
/*打开文件并读入k个学生信息*/
voidopen()
{
inti=0;
fp=fopen("e:
\\student.txt","r");//以只读方式打开文件
if(fp==NULL)
fp=fopen("e:
\\student.txt","w+");//若文件不存在,以读写方式打开文件(建立文件)if(fp==NULL)
{
printf("文件打开错误");
getch();
exit(0);
}
while((fread(stu+i,sizeof(structstudent),1,fp))==1)
i++;//每读入一个结构体变量i值增加1
k=i;
fclose(fp);
return;
}
/*将已有的学生信息存入文件*/
voidsave()
{
if((fp=fopen("e:
\\student.txt","w"))==NULL)//以只写方式打开文件
{
printf("文件打开错误");
getch();
exit(0);
}
rewind(fp);
fwrite(stu,sizeof(structstudent),k,fp);//将结构体数组中k个学生的信息写入文件
fclose(fp);
return;
}