C语言课程设计身份证信息管理.docx
《C语言课程设计身份证信息管理.docx》由会员分享,可在线阅读,更多相关《C语言课程设计身份证信息管理.docx(13页珍藏版)》请在冰豆网上搜索。
C语言课程设计身份证信息管理
《
身份证信息管理软件
》
课程设计报告
题目
身份证信息管理
学号
姓名
年级专业
09级电子
(2)班
指导教师
完成日期
2010
年
06
月
30
日
安徽师范大学物理与电子信息学院
CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity
一.
实践目的和要求
加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。
二.实践内容
在熟练掌握C语言的基本知识:
数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。
三.实验要求
1).具备添加、删除功能;
2).具备多种查询功能:
按年龄、出生日期等;
3).具备统计功能,能统计某年龄段的人数;
4).在此基础上,可进行文件操作。
四.实验内容
1.程序功能:
能够输入某人的姓名,年龄,身份证号,家庭住址等;输入后可以显示信息;能够删除信息;可以添加信息并且可以按年龄段查找;对输入信息可以保存并且以后可以查到此信息。
2.程序清单:
#include
#include
#defineSIZE100
#defineLENGTHsizeof(structperson)
structperson
{charIDNumber[25];
charname[20];
intage;
charbirthday[10];
charsex[5];
charaddress[100];
}per[SIZE];
voidmain()
{
intinput(intn);
voidalter(intn);
voidadd(intn);
voiddelete(intn);
voidstatistic(intn);
voidoutput();
voidsave();
intn,qq;
printf("\t\t\t*************************************\n");
printf("\t\t\tShenFenZhengXinXiGuanLiXiTong\n");
printf("\t\t\t*************************************\n\t\t\t\t-------Juminshenfenzheng\n");
printf("\n\t\t\t\t1.input\n\n\t\t\t\t2.alter\n\n\t\t\t\t3.add\n\n\t\t\t\t4.delete\n\n\t\t\t\t5.statistic\n\n\t\t\t\t6.output\n\n\t\t\t\t7.exit\n");
printf("Pleaseenterthenumberyouwanttochoose:
");
scanf("%d",&qq);
switch(qq)
{case1:
input(qq);break;
case2:
alter(qq);break;
case3:
add(qq);break;
case4:
delete(qq);break;
case5:
statistic(qq);break;
case6:
output(qq);break;
case7:
exit(qq);break;
default:
printf("error\n");
}
}
intinput(intn)
{intj;
printf("Howmanypersonsdoyouwanttoinput:
");
scanf("%d",&n);
if(n>SIZE)
printf("error\n");
elseif(n<=SIZE)
{for(j=0;j{printf("Pleaseinputthe%dthperson'sinformation\n",j+1);
printf("IDNumber:
");
scanf("%s",per[j].IDNumber);
printf("\n");
printf("Thename:
");
scanf("%s",per[j].name);
printf("\n");
printf("Theage:
");
scanf("%d",&per[j].age);
printf("\n");
printf("Thebirthday:
");
scanf("%s",per[j].birthday);
printf("\n");
printf("Sex:
");
scanf("%s",per[j].sex);
printf("\n");
printf("Theaddress:
");
scanf("%s",per[j].address);
printf("\n");
save();
}
}
}
voidalter(intn)
{inti,t,m;
charnum[20];
FILE*fp;
if((fp=fopen("zhaojie.txt","rb"))==NULL)
{printf("cannotopenfile\n");return;}
for(m=0;mfread(&per[m],LENGTH,1,fp);
printf("Pleaseinputtheperson'sIDNumber:
");
scanf("%s",num);
for(t=0;t{if(strcmp(per[t].IDNumber,num)==0)i=t;}
printf("pleaseinputthe%dthperson'sinformation",i+1);
printf("TheIDNumber:
");
scanf("%s",per[i].IDNumber);
printf("\n");
printf("TheName:
");
scanf("%s",per[i].name);
printf("\n");
printf("Theage:
");
scanf("%d",&per[i].age);
printf("\n");
printf("Thebirthday:
");
scanf("%s",per[i].birthday);
printf("\n");
printf("Thesex:
");
scanf("%s",per[i].sex);
printf("\n");
printf("TheAddress:
");
scanf("%s",per[i].address);
printf("\n");
fwrite(&per[i],LENGTH,1,fp);
fclose(fp);
}
voidadd(intn)
{inti,m,t;
FILE*fp;
if((fp=fopen("zhaojie.txt","rb"))==NULL)
{printf("cannotopenfile\n");return;}
for(t=0;tfread(&per[t],LENGTH,1,fp);
printf("Howmanypersonsdoyouwanttoadd:
");
scanf("%d",&i);
n=n+i;
if(n>SIZE)printf("error\n");
else
for(m=n-i;m{printf("pleaseinputaperson'simformation:
\n");
printf("TheIDNumber:
");
scanf("%s",per[m].IDNumber);
printf("\n");
printf("TheName:
");
scanf("%s",per[m].name);
printf("\n");
printf("Theage:
");
scanf("%d",&per[m].age);
printf("\n");
printf("Thebirthday:
");
scanf("%s",per[m].birthday);
printf("\n");
printf("Thesex:
");
scanf("%s",per[m].sex);
printf("\n");
printf("TheAddress:
");
scanf("%s",per[m].address);
printf("\n");
fwrite(&per[m],LENGTH,1,fp);
fclose(fp);
}
}
voiddelete(intn)
{charName[20];
inti,t,m;
FILE*fp;
if((fp=fopen("zhaojie.txt","rb+"))==NULL)
{printf("cannotopenthefile\n");return;}
for(m=0;mfread(&per[m],LENGTH,1,fp);
printf("pleaseinputtheperson'snamethatyouwanttodelete:
");
scanf("%s",Name);
for(i=0;i{if(strcmp(per[i].name,Name)==0)t=i;}
for(;per[t].name!
='\0';t++)
{per[t]=per[t+1];}
fclose(fp);
}
voidoutput(intn)
{inti,t;
charName[20];
FILE*fp;
if((fp=fopen("zhaojie.txt","rb"))==NULL)
{printf("cannotopenthefile\n");return;}
printf("pleaseinputtheperson'snamewhoseimformatinyouwanttocook");
scanf("%s",Name);
for(i=0;i{if(strcmp(per[i].name,Name)==0)t=i;}
{fread(&per[t],LENGTH,1,fp);
printf("IDNumber:
%s\nname:
%s\nage:
%d\nbirthday:
%s\nSex:
%s\naddress:
%s\n",per[t].IDNumber,per[t].name,per[t].age,per[t].birthday,per[t].sex,per[t].address);}
fclose(fp);
}
voidstatistic(intn)
{inta,b,c,i,total=0;
FILE*fp;
printf("Entertheperson'sage:
\n");
scanf("%d",&c);
printf("Pleaseinputtheagefromatob:
");
if((fp=fopen("zhaojie.txt","rb"))==NULL)
{printf("cannotopenfile\n");
return;}
for(i=0;ifread(&per[i],LENGTH,1,fp);
scanf("%d,%d",&a,&b);
for(i=0;iif(per[i].age>=a&&per[i].age<=b)
{printf("IDNumber:
%s\nname:
%s\nage:
%d\nSex:
\naddress:
%s\n",per[i].IDNumber,per[i].name,per[i].age,per[i].birthday,per[i].sex,per[i].address);
total++;}
}
voidsave()
{intj;
FILE*fp;
if((fp=fopen("zhaojie.txt","wb"))==NULL)
{printf("cannotopenthefile\n");return;}
for(j=0;jif(fwrite(&per[j],LENGTH,1,fp)!
=1)
printf("filewriteerror\n");
fclose(fp);
}
四.流程图
物理与电子信息学院课程设计评定意见
指导教师评语
主要内容包括:
设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。
成绩:
签名:
年 月 日
注:
本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订