#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(p[i].age>p[j].age)
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
}
void PRINT()
{
int i,min,max;
system("cls");
printf("请输入要查询的年龄区间(min空格max):\n");
scanf("%d %d",&min,&max);
printf("%-20s%-10s%-10s%-10s%-10s%-20s%-20s\n","身份证号","姓名","性别","年龄","学历","住址","电话");
for(i=0;i<N;i++)
{
if(p[i].age<=max&&p[i].age>=min)
{
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:
Sort();
PRINT();
break;
}
}while(n!=0);
return 0;
}
相关文章: