C语言身份证管理软件整理.docx
《C语言身份证管理软件整理.docx》由会员分享,可在线阅读,更多相关《C语言身份证管理软件整理.docx(11页珍藏版)》请在冰豆网上搜索。
C语言身份证管理软件整理
《C语言》
课程设计报告
题目
身份证信息管理软件
学号
姓名
年级专业
同组人员
指导教师
完成日期
年
月
日
安徽师范大学物理与电子信息学院
CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity
一、身份证信息管理软件设计目的
二、身份证信息管理软件设计基本要求
三、身份证信息管理软件程序清单
四、身份证信息管理软件设计流程图
五、身份证信息管理软件程序截图
六、身份证信息管理软件运行结果截图
七、身份证信息管理软件设计总结
一、身份证信息管理软件设计目的
综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务。
通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识。
二、身份证信息管理软件设计基本要求
1.具备添加、删除功能;
2.具备多种查询功能:
按年龄、出生日期等;
3.具备统计功能,能统计某年龄段的人数;
4.在此基础上,可进行文件操作。
三、身份证信息管理软件程序清单
#include
#include
#defineSIZE50
#defineLENGTHsizeof(structperson)
structperson
{charIDNumber[20]。
charname[20]。
charbirthday[15]。
charnation[10]。
charsex[10]。
charaddress[100]。
}per[SIZE]。
voidmain()
{
intinput(intn)。
voidedit(intn)。
voidadd(intn)。
voiddel(intn)。
voidprint()。
voidstatistic(intn)。
voidsave()。
printf("\t\t\t*************************************\n")。
printf("\t\t\tShenFenZhengXinXiGuanLiXiTong\n")。
printf("\t\t\t*************************************\n\t\t\t\t-------ShengDuoZhengWangZuXuanWuXuBin\n")。
printf("\n\t\t\t\t1.creatnewfile\n\n\t\t\t\t2.edittheinformation\n\n\t\t\t\t3.addpersons\n\n\t\t\t\t4.deletepersons\n\n\t\t\t\t5.printfinformation\n\n\t\t\t\t6.statisticpersons\n\n\t\t\t\t7.exit\n")。
printf("Pleaseinputyourchoice:
")。
scanf("%d",&c)。
switch(c)
{case1:
input(c)。
break。
case2:
edit(c)。
break。
case3:
add(c)。
break。
case4:
del(c)。
break。
case5:
print(c)。
break。
case6:
statistic(c)。
break。
case7:
exit(c)。
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。
jj++)
{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("Thebirthday:
")。
scanf("%s",per[j].birthday)。
printf("\n")。
printf("Thenation:
")。
scanf("%s",per[j].nation)。
printf("\n")。
printf("Sex:
")。
scanf("%s",per[j].sex)。
printf("\n")。
printf("Theaddress:
")。
scanf("%s",per[j].address)。
printf("\n")。
save()。
}
}
}
voidedit(intn)
{inti,t,m。
charnum[20]。
FILE*fp。
if((fp=fopen("per.txt","rb"))==NULL)
{printf("cannotopenfile\n")。
return。
}
for(m=0。
mm++)
fread(&per[m],LENGTH,1,fp)。
printf("Pleaseinputtheperson'sIDNumber:
")。
scanf("%s",num)。
for(t=0。
tt++)
{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("Thebirthday:
")。
scanf("%s",per[i].birthday)。
printf("\n")。
printf("Thenation:
")。
scanf("%s",per[i].nation)。
printf("\n")。
printf("Sex:
")。
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("per.txt","rb"))==NULL)
{printf("cannotopenfile\n")。
return。
}
for(t=0。
tt++)
fread(&per[t],LENGTH,1,fp)。
printf("Howmanypersonsdoyouwanttoadd:
")。
scanf("%d",&i)。
n=n+i。
if(n>SIZE)printf("error\n")。
else
for(m=n-i。
mm++)
{printf("pleaseinputaperson'simformation:
\n")。
printf("TheIDNumber:
")。
scanf("%s",per[m].IDNumber)。
printf("\n")。
printf("TheName:
")。
scanf("%s",per[m].name)。
printf("\n")。
printf("Thebirthday:
")。
scanf("%s",per[m].birthday)。
printf("\n")。
printf("Thenation:
")。
scanf("%s",per[m].nation)。
printf("\n")。
printf("Sex")。
scanf("%s",per[m].sex)。
printf("\n")。
printf("TheAddress:
")。
scanf("%s",per[m].address)。
printf("\n")。
fwrite(&per[m],LENGTH,1,fp)。
fclose(fp)。
}
}
voiddel(intn)
{charName[20]。
inti,t,m。
FILE*fp。
if((fp=fopen("per.txt","rb+"))==NULL)
{printf("cannotopenthefile\n")。
return。
}
for(m=0。
mm++)
fread(&per[m],LENGTH,1,fp)。
printf("pleaseinputtheperson'snamethatyouwanttodelete:
")。
scanf("%s",Name)。
for(i=0。
ii++)
if(strcmp(per[i].name,Name)==0)t=i。
for(。
per[t].name!
='\0'。
t++)
per[t]=per[t+1]。
fclose(fp)。
}
voidprint(intn)
{inti,t。
charName[20]。
FILE*fp。
if((fp=fopen("per.txt","rb"))==NULL)
{printf("cannotopenthefile\n")。
return。
}
printf("pleaseinputtheperson'snamewhoseimformatinyouwanttocook")。
scanf("%s",Name)。
for(i=0。
ii++)
{if(strcmp(per[i].name,Name)==0)t=i。
fread(&per[t],LENGTH,1,fp)。
printf("IDNumber:
%s\nname:
%s\nbirthday:
%s\nnation:
%s\nSex:
%s\naddress:
%s\n",per[t].IDNumber,per[t].name,per[t].birthday,per[t].nation,per[t].sex,per[t].address)。
}
fclose(fp)。
}
}
}
voidstatistic(intn)
{inta,b,i,total=0。
intc,age。
FILE*fp。
scanf("%d",&c)。
age=2010-c。
printf("Pleaseinputtheagefromatob:
")。
if((fp=fopen("per.txt","rb"))==NULL)
{printf("cannotopenfile\n")。
return。
}
for(i=0。
ii++)
fread(&per[i],LENGTH,1,fp)。
scanf("%d,%d",&a,&b)。
for(i=0。
ii++)
if(age>=a&&age<=b)
{printf("IDNumber:
%s\nname:
%s\nAge:
%d\nnation:
%s\nSex:
\naddress:
%s\n",per[i].IDNumber,per[i].name,per[i].birthday,per[i].nation,per[i].sex,per[i].address)。
total=total+1。
}
}
voidsave()
{intj。
FILE*fp。
if((fp=fopen("per.txt","wb"))==NULL)
{printf("cannotopenthefile\n")。
return。
}
for(j=0。
jj++)
if(fwrite(&per[j],LENGTH,1,fp)!
=1)
printf("filewriteerror\n")。
fclose(fp)。
}
四、身份证信息管理软件设计流程图
五、身份证信息管理软件程序截图
1、主函数
2、录入函数
3、编辑函数截图
4、添加函数截图
5、删除函数截图
6、显示函数截图
7、统计函数截图
8、信息保存文件函数截图
六、身份证信息管理软件运行结果截图
1、录入信息截图
2、编辑信息截图
3、添加信息截图
4、删除信息截图
5、显示信息截图
6、统计信息截图
7、信息保存文件截图
七、身份证信息管理软件设计总结
1、对C语言的进一步学习认识
通过这次的身份证信息管理软件的设计,加深了我们对C语言的学习认识,在设计的过程中,我们对书本知识进一步加深学习。
2、锻炼搜索、查阅资料的能力
在编辑程序的同时又不理解不明白的地方都会利用网络进行搜索查阅资料。
3、团队合作精神
在整个程序设计的过程中,团队三人都是密切合作,并且各抒己见,最终把整个城编辑出来。
4、培养软件开发的兴趣
编辑程序过程中我们也感觉到软件开发中的乐趣,同组人员都有从事软件开发的打算。
物理与电子信息学院课程设计评定意见
指导教师评语
主要内容包括:
设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。
成绩:
签名:
年 月 日
注:
本页与封面用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订