学生通讯录信息查询系统

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


#include "stdio.h"
#define max 30
#include "string.h"
#include
#include
typedef struct
{char name[10]; /*学生姓名*/
char xuehao[10]; /*学生学号*/

int sex; /*学生性别*/
char qq[10]; /*学生qq号*/
char phonenum[10]; /*学生电话*/
} STUDENT;



int read_file(STUDENT student[])
{FILE *fp;
int i=0;
if((fp=fopen("students.txt","rt"))==NULL)
{printf("\n\n*******要打开的文件不存在!请建立");
return 0;

}
while(feof(fp)!=1)
{fread(&student[i],sizeof(STUDENT),1,fp);
if(student[i].sex==0)
break;
else i++;
}
fclose(fp);
return i;
}

int tongji(STUDENT student[], int sum)
{system("cls");
int i,cnt=0;
for(i=0;iif(student[i].sex==1) cnt++;
printf("男生有%d个人,女生有%d个人\n按任意键返回",cnt,sum-cnt);
getchar();
getchar();

}



int input(STUDENT student[])
{int i=0,j;
system("cls");
printf("\n\n 录入学生信息(最多%d名学生)\n\n",max);
printf("___________________________________\n");
printf("输入要建立信息的学生数");
scanf("%d",&j);
do
{printf("\n 第%d个学生",i+1);
printf("\n 学生姓名");
scanf("%s",student[i].name);
printf("\n 学生学号");
scanf("%s",student[i].xuehao );
printf("\n 学生性别");
scanf("%d",&student[i].sex);
printf("\n 学生qq号");
scanf("%s",student[i].qq);
printf("\n 学生电话");
scanf("%s",student[i].phonenum);
i++;
}
while(iprintf("\n --第%d个学生信息输入完毕--\n",i);
printf("按任意键返回主菜单");
getchar();
return i;

}



/*查询模块*/
void caixun(STUDENT student[],int sum)
{system("cls");
char name1[10];int i;
printf("请输入学生的姓名");
scanf("%s",name1);
for(i=0;iif((strcmp(name1, student[i].name))==0)
{printf("要查询学生的信息为\n");
printf("姓名---性别---学号---qq号---电话号码\n");
printf("%s %d %s %s %s \n",student[i].name,student[i].sex,student[i].xuehao,student[i].qq,student[i].phonenum);
break;
}

else {printf("没有你要查询的人\n"); break; }
printf("请按任意键返回");
getchar();
getchar();
getchar();
}



/*打印模块*/
void daying(STUDENT student[],int sum)
{int i=0;
system("cls");
printf("\n\n---学生通讯录----\n\n");
printf("学生姓名----学生性别----学生学号----学生qq号----学生电话\n");
printf("---------------------------------------------------\n");
for(i=0;iprintf("%s %d %s %s %s \n",student[i].name,student[i].sex,student[i].xuehao,student[i].qq,student[i].phonenum);

printf("按任意键返回");
getchar();
getchar();


}




/*修改模块*/
void xiugai(STUDENT student[],int sum)
{int i=0,choice;
char name2[10];
system("cls");
printf("\n 请

输入要修改的学生姓名:");
scanf("%s",name2);
for(i=0;i{ if((strcmp(student[i].name,name2))==0)
{printf("\n 学生信息 \n");
printf("学生姓名---学生学号---学生性别---学生qq号---学生电话\n");
printf("----------------------------------------------------\n");
printf("%s %s %d %s %s \n",student[i].name,student[i].xuehao,student[i].sex,student[i].qq,student[i].phonenum);
printf("你要修改那一项?\n");
printf("\n 1姓名\n");
printf("\n 2性别\n");
printf("\n 3学号\n");
printf("\n 4qq号\n");
printf("\n 5电话\n");
printf("请选择1-5");
scanf("%d",&choice);
switch(choice)
{case 1:{printf("请输入修改后的姓名");scanf("%s",student[i].name);break;}
case 2:{printf("请输入修改后的性别");scanf("%d",&student[i].sex);break; }
case 3:{printf("请输入修改后的学号");scanf("%s",student[i].xuehao);break;}
case 4:{printf("请输入修改后的qq号");scanf("%s",student[i].qq);break;}
case 5:{printf("请输入修改后的电话");scanf("%s",student[i].phonenum);break;}
}
printf("\n 学生信息 \n");
printf("学生姓名---学生学号---学生性别---学生qq号---学生电话\n");
printf("----------------------------------------------------\n");
printf("%s %s %d %s %s \n",student[i].name,student[i].xuehao,student[i].sex,student[i].qq,student[i].phonenum);

break;}}
if(i==sum) printf("没有这个学生");
printf("请按任意键返回主菜单");
getchar();
getchar();

}



int sanchu(STUDENT student[],int sum)
{system("cls");

int i,j,k;k=sum;
char name3[10];
printf("请输入要删除信息的学生姓名");
scanf("%s",name3);
for(i=0;iif((strcmp(student[i].name,name3))==0)
{for(j=i;j{ student[j]=student[j+1];
sum--;
printf("******已经删除 请按任意键继续******");
}

}

if(i==k) printf("没有这名同学的信息");
getchar();
getchar();
return sum;


}


int tianjia(STUDENT student[],int sum)
{system("cls");
printf("-----------------------------------------------\n");
printf("请输入要添加的学生姓名--------\n");
scanf("%s",student[sum-1].name);
printf("请输入学生学号 ---------------\n");
scanf("%s",student[sum-1].xuehao);
printf("请输入添加学生性别------------\n");
scanf("%d",&student[sum-1].sex);
printf("请输入添加学生的qq号 ----------\n");
scanf("%s",student[sum-1].qq);
printf("请输入添加学生的电话-----------\n");
scanf("%s",student[sum-1].phonenum);
printf("----------已添加请按任意键返回--------");
getchar();
return sum;

}





void paixu(STUDENT student[],int sum )

{ STUDENT ts ;
int i,j;
for(i=0;i<(sum-1);i++ )
for(j=i+1;j{if((strcmp(student[i].name,student[j].name))>0)
{ts=student[i];
student[i]=student[j];
student[j]=ts;
}
}
system("cls");
daying(student,sum);
printf("排序已经完成--请按任意键返回主菜单");
getchar();
getchar();



}



void save_file(STUDENT student[],int sum)
{FILE *fp;
STUDENT ts ;
int i;
system("cls");
fp=fopen("students.txt","wt");
if(fp==NULL)
{printf("文件建立失败");
exit(1);

}
for(i=0;i{fwrite(&student[i],sizeof(STUDENT ),1,fp);

}
printf("*****保存数据完毕按任意键结束******");
getchar();
getchar();

}


/*密码设置*/
void mima()
{int i,j,k;
for(i=0;i=1;i++)
{ printf("\n\n\n 请输入账号:");
scanf("%d",&k);
if(k==123)
{ printf("\n\n\n 请输入密码:");
scanf("%d",&j);
if(j==456)
break;
else
printf("\n\n\n 密码输入错误!");
getchar();
system("cls");
}
else
printf("\n\n\n 账号输入错误!");
getchar();
system("cls");
}
}








/*z主函数模块*/
int main()
{STUDENT student [max];
int sel,sum;
mima();
system("color 18");
system("cls");
time_t t;time(&t);
printf("\n\n\n\n***********************欢迎进入学生通讯录信息管理系统**************************\n");
printf("\n\n\n\n 通工1108班 刘汉涛\n\n%s",ctime(&t));
getchar();
getchar();
sum=read_file(student);
if(sum==0)
{printf("文件为空--请按任意键开始录入学生基本信息******\n");
getchar();
sum=input(student);

}
do
{system("cls");
printf("\n\n\n\n************学生通讯录信息管理系统*************\n\n\n");
printf(" 1,添加学生通讯录信息\n\n");
printf(" 2,修改学生通讯录信息\n\n");
printf(" 3,删除学生通讯录信息\n\n");
printf(" 4,打印通讯录表格\n\n");
printf(" 5,查询通讯录信息\n\n");
printf(" 6,统计通信录信息\n\n");
printf(" 7,通讯录按姓名顺序排列\n\n");
printf(" 0,退出系统\n\n");
printf("请选择0-7进入相应功能\n");
scanf("%d",&sel);
switch(sel)
{case 1: sum=tianjia(student,sum+1); break;
case 2: xiugai(student,sum); break;
case 3: sum=sanchu(student,sum); break;
case 4: daying(student,sum); break;
case 5: caixun(student,sum); break;
case 6: tongji(student,sum); break;
case 7: paixu(student,sum); break;
case 0: break;
}
} while(sel!=0);
save_file(student,sum);

getchar();
exit(1);
}

相关文档
最新文档