#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
char no[20];
char name[20];
char sex[5];
int age;
char grade[20];
char add[20];
char phone[20];
}PERSON;
PERSON p[100];
int N=0;
void InPut()
{
system("cls");
printf("请输入身份证号:");
scanf("%s",&p[N].no);
printf("请输入姓名:");
scanf("%s",&p[N].name);
printf("请输入性别:");
scanf("%s",&p[N].sex);
printf("请输入年龄:");
scanf("%d",&p[N].age);
printf("请输入学历:");
scanf("%s",&p[N].grade);
printf("请输入住址:");
scanf("%s",&p[N].add);
printf("请输入电话:");
scanf("%s",&p[N].phone);
N++;
printf("添加成功!\n");
system("pause");
}
void Display()
{
int i;
system("cls");
printf("%-20s%-10s%-10s%-10s%-10s%-20s%-20s\n","身份证号","姓名","性别","年龄","学历","住址","电话");
for(i=0;i<N;i++)
{
printf("%-20s%-10s%-10s%-10d%-10s%-20s%-20s\n",p[i].no,p[i].name,p[i].sex,p[i].age,p[i].grade,p[i].add,p[i].phone);
}
system("pause");
}
void Sort()
{
int i,j;
PERSON temp;
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(strcmp(p[i].no,p[j].no)>0)
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
}
int cmp_pre_six(char* p,char* q)
{
int i;
for(i=0;i<6;i++)
{
if(p[i]!=q[i])
return 0;
}
return 1;
}
void Serach()
{
int i;
char temp[20];
system("cls");
printf("请输入要查询身份证前6位:\n");
scanf("%s",temp);
while(strlen(temp)!=6)
{
printf("位数不正确,重新输入:\n");
scanf("%s",temp);
}
printf("%-20s%-10s%-10s%-10s%-10s%-20s%-20s\n","身份证号","姓名","性别","年龄","学历","住址","电话");
for(i=0;i<N;i++)
{
if(cmp_pre_six(temp,p[i].no))
{
printf("%-20s%-10s%-10s%-10d%-10s%-20s%-20s\n",p[i].no,p[i].name,p[i].sex,p[i].age,p[i].grade,p[i].add,p[i].phone);
}
}
system("pause");
}
int menu()
{
int n;
system("cls");
printf("1:户籍信息录入\n");
printf("2:户籍信息浏览\n");
printf("3:按身份证号排序\n");
printf("4:按身份证号前六位查询\n");
printf("0:退出\n");
scanf("%d",&n);
while(n<0||n>4)
{
printf("输入错误,重新输入\n");
scanf("%d",&n);
}
return n;
}
int main()
{
int n;
system("mode con: cols=100 lines=35");
do
{
n=menu();
switch(n)
{
case 1:
InPut();
break;
case 2:
Display();
break;
case 3:
Sort();
Display();
break;
case 4:
Serach();
break;
}
}while(n!=0);
return 0;
}
户籍信息管理
最新推荐文章于 2021-08-25 21:18:15 发布