题目:人口普查管理系统
普查表信息包括编号,姓名,身份证号,工作单位,家庭住址,电话,关系,备注等
人口信息包括编号,姓名,年龄,身份证号,政治面貌,工作单位等信息
可以根据情况调整表的字段。试设计一人口普查管理系统,使之能提供以下功能:
1、系统以菜单方式工作。
2、人口信息、普查表信息录入功能(信息用文件保存)--输入。
3、普查表、人口信息浏览功能--输出。
4、普查表、人口信息删除、修改功能。
5、信息查询功能--算法。
查询方式
按姓名、身份证、编号查询等
下面是我自己做的,没语法错误,思路出问题了,请高手帮忙看下了!
#include <conio.h>
#include <stdio.h>
FILE *fp;
int a[100][10];
int stu;
inputx()
{
gotoxy(15,13);
textcolor(RED);
printf("请输入普查的人口数:");
scanf("%d",&stu);
}
input()
{
int i;
for(i=1;i<=stu;i++)
{ scanf("%d%d%d%d%d%d%d%d",&a[i][1],&a[i][2],&a[i][3],&a[i][4],&a[i][5],&a[i][6],&a[i][7],&a[i][8]);
}
}
print1()
{
int i,j;
int b[100],c[100];
fp=fopen("成绩表.txt","w");
for(i=1;i<=stu;i++)
{
for(j=1;j<=9;j++)
printf("%-6d",a[i][j]);
printf("\n");
}
change()
{
int m,b,c,i,n=0;
printf("请输入您要修改的人口的编号:");
scanf("%d",&m);
printf("1,编号;2,姓名;3,年龄;4,身份证号;5,工作单位;6,政治面貌;7,家庭住址;8,电话关系;\n");
printf("请选择您要修改的信息:");
scanf("%d",&b);
printf("请输入新的人口信息:");
scanf("%d",&c);
for(i=1;i<=stu;i++)
if(m!=a[i][1]) n++;
else {
n++;
break;
}
a[n][b+1]=c;
printf("\n重新输出普查表\n");
printf("编号 姓名 年龄 身份证号 工作单位 政治面貌 家庭住址 电话 关系\n");
print1();
go();
}
go()
{
int n;
printf("\n现在您将会遇到以下几种情况:\n");
printf("1,继续查询;2,修改数据;3,重新运行;4,结束程序;\n");
printf("请您根据需要按键选择:");
scanf("%d",&n);
if(n==1)find();
if(n==2)change();
if(n==3)main();
if(n==4){
clrscr();
printf("*********感谢您使用本程序*********\n");
printf("这是我编写的一个系统程序,如果您想长期使用,请到337寝室找张鹏付款\n");
printf("\n\n");
printf("再次感谢您的使用\n");
printf("------------ByeBye----------------");
}
getch();
}
find1()
{
int n,i;
printf("请输入您要查询的姓名:");
scanf("%d",&n);
printf("\n");
printf("编号 姓名 年龄 身份证号 工作单位 政治面貌 家庭住址 电话 关系;\n");
for(i=1;i<=stu;i++)
if(n==a[i][9])
{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][2],a[i][1],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8],a[i][9]);
break;
}
printf("\n");
go();
}
find2(
{
int n,i;
printf("请输入您要查询的编号:");
scanf("%d",&n);
printf("编号 姓名 年龄 身份证号 工作单位 政治面貌 家庭住址 电话 关系\n");
for(i=1;i<=stu;i++)
if(n==a[i][1])
{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8],a[i][9]);
break;
}
printf("\n");
go();
}
find3()
{
int n,i;
printf("请输入您要查询的身份证号:");
scanf("%d",&n);
printf("编号 姓名 年龄 身份证号 工作单位 政治面貌 家庭住址 电话 关系\n");
for(i=1;i<=stu;i++)
if(n==a[i][1])
{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][3],a[i][1],a[i][2],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8],a[i][9]);
break;
}
printf("\n");
go();
}
find4_1(int n)
{
int i;
printf("编号 姓名 年龄 身份证号 工作单位 政治面貌 家庭住址 电话 关系\n");
for(i=1;i<=stu;i++)
if(a[i][n+1]>=90)
{printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8],a[i][9]);
printf("\n");
}
go();
}
find4()
{
int n;
printf("现有以下九种科目供查询:\n");
printf("1,编号;2,姓名;3,年龄;4,身份证号;5,工作单位;6,政治面貌;7,家庭住址;8,电话关系;\n");
printf("请按键选择:");
scanf("%d",&n);
find4_1(n);
}
find()
{
int m;
printf("根据您的要求,有以下3种查询方式: \n");
printf("1,按姓名查询;\n");
printf("2,按编号查询;\n");
printf("3,按身份证号查询;\n");
printf("现在,按照您的需要请按键:");
scanf("%d",&m);
if(m==1)find1();
if(m==2)find2();
if(m==3)find3();
}
main()
{
int i;
clrscr();
textcolor(YELLOW);
{
gotoxy(20,9);
printf("******欢迎使用学生成绩管理系统!******\n");
gotoxy(20,11);
printf("------------制作人:张鹏------------\n");
gotoxy(20,13);
printf("******欢迎注册:397953538@qq.com******\n");
gotoxy(20,15);
printf("***********张鹏软件开发公司***********\n");
gotoxy(20,17);
printf("版权所有 未经同意 不得复制 违者必究");
}
for(i=1;i<=44;i++)
{
{
gotoxy(16+i,19);
printf("#");
}
{
gotoxy(16+i,7);
printf("#");
}
}
for(i=1;i<=13;i++)
{
{
gotoxy(16,6+i);
printf("#");
}
{
gotoxy(61,6+i);
printf("#");
}
}
getch();
clrscr();
inputx();
clrscr();
gotoxy(3,3);
printf("\n人口普查管理系统\n\n");
printf("一,输入信息\n");
printf("请输入人口信息:\n" );
printf("编号 姓名 年龄 身份证号 工作单位 政治面貌 家庭住址 电话关系\n");
input();
printf("\n");
printf("二,输出普查表\n");
printf("编号 姓名 年龄 身份证号 工作单位 政治面貌 家庭住址 电话关系\n");
printf("\n");
printf("三,查询\n");
find();
}
}