C语言课程设计-身份 管理系统报告_第1页
C语言课程设计-身份 管理系统报告_第2页
C语言课程设计-身份 管理系统报告_第3页
C语言课程设计-身份 管理系统报告_第4页
C语言课程设计-身份 管理系统报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 题 目 身份证管理系统学 号姓 名年级专业09电子信息工程指导教师完成日期2010年06月22日身份证管理系统一、课程设计的目的进一步掌握和利用C语言进行程设计的能力,理解和运用结构化程设计的思想和方法,熟练掌握条件语句、循环、数组、结构体、函数操作,初步掌握开发一个小型实用系统的基本方法,学会高度一个较长程序的基本方法和利用流程图或N-S图表示算法,将本课程所学的知识合理地运用于实践当中。了解一些书上没有的函数及使用方法。二、设计方案论证1设计思路 利用数组对每个人的记录进行循环输入输出,利用冒泡法记录进行排序,利用循环查找数组中某个数据,对其进行输入,显示,插入,删除,查找,统计,读入和

2、写入文档等操作。2分工我主要负责程序的后半段编写和最终程序的调试、运行;尹仁超主要负责程序的主体的编写,其中也经历了相互的讨论等。3.流程图开始输出界面选择操作选择1选择2选择3选择4选择5选择6选择7选择8选择9选择0输入记录是是显示记录否否否否否否否否否退出系统结束按生日排序显示插入一个记录是是是是删除一个记录查找一个记录统计某年龄人数从文件输入写入文件保存是是是是否4具体程序#include#include#includetypedef struct char name20; char sex5; char folk5; char birth10; char add20; char id

3、20;Person;Person ID100;int menu_select() char c; dosystem(cls); printf(ntt%c%c%c%c%c%c%cIdentityConctrolSystem%c%c%c%c%c%c%cnnn,3,3,3,3,3,3,3,3,3,3,3,3,3,3); printf (t %c 1.Input date nn,21); printf (t %c 2.Display date nn,21); printf (t %c 3.Sort the people by birth nn,21); printf (t %c 4.Insert an

4、 ID nn,21); printf (t %c 5.Delete an ID nn,21); printf (t %c 6.Search an ID by name nn,21); printf (t %c 7.Count the people nn,21); printf (t %c 8.Copy date from file nn,21); printf (t %c 9.Write date to file nn,21); printf (t %c 0.exit nn,21); printf( (0-9):); c=getchar(); while(c9); return(c-0);in

5、t input(Person ID,int n)int i=0; char sign=w,x10;system(cls); printf(tInput the date:n); while(sign!=n&sign!=N) printf(tName:); scanf(%s,&IDn+); printf(tSex:); scanf(%s,&IDn+i.sex); printf(tFolk:); scanf(%s,&IDn+i.folk); printf(tbirth:); scanf( %s,&IDn+i.birth ); printf(tAddress:); scanf( %s,&

6、IDn+i.add); printf(tID:); scanf( %s,&IDn+i.id); gets(x); printf( Are you sure to continue?(Y/N)n); scanf( %c,&sign); i+;return(n+i);void display(Person ID,int n)int i;system(cls);printf(-n);printf( name sex folk birth add id n);printf(-n);for(i=1;i1&i%10=0) printf(-n); system(pause); printf(-n); sys

7、tem(pause);void sort_by_birth(Person ID,int n) int i,j; char t20;system(cls); for(i=0;in-1;i+) for(j=0;j0) strcpy(t,IDj+1.name); strcpy(IDj+1.name,ID); strcpy(ID,t); strcpy(t,IDj+1.sex); strcpy(IDj+1.sex,IDj.sex); strcpy(IDj.sex,t); strcpy(t,IDj+1.folk); strcpy(IDj+1.folk,IDj.folk); strc

8、py(IDj.folk,t); strcpy(t,IDj+1.birth); strcpy(IDj+1.birth,IDj.birth); strcpy(IDj.birth,t); strcpy(t,IDj+1.add); strcpy(IDj+1.add,IDj.add); strcpy(IDj.add,t); strcpy(t,IDj+1.id); strcpy(IDj+1.id,IDj.id); strcpy(IDj.id,t); int insert_an_id(Person ID,int n) char x100;system(cls); printf(ntName:); scanf

9、(%s,&ID); printf(tSex:); scanf(%s,&IDn.sex); printf(tFolk:); scanf(%s,&IDn.folk); printf(tbirth:); scanf(%s,&IDn.birth ); printf(tAddress:); scanf( %s,&IDn.add); printf(tID:); scanf( %s,&IDn.id); gets(x); n+;sort_by_birth(ID,n); printf(n); return(n);int delete_an_id(Person ID,int n) char s20;i

10、nt i=0,j;system(cls); printf(Person name you want to delete :n); scanf(%s,s); while(strcmp(ID,s)!=0&in) i+; if(i=n) printf( Sorry,there is no such a person n); return(n); for(j=i;jn-1;j+) strcpy(ID,IDj+1.name); strcpy(IDj.sex,IDj+1.sex); strcpy(IDj.folk,IDj+1.folk); strcpy(IDj.birth,IDj+

11、1.birth); strcpy(IDj.add,IDj+1.add); strcpy(IDj.id,IDj+1.id); printf( Delete ID successfully n); return(n-1);void search_by_name(Person ID,int n) char s20; int i=0;system(cls); printf( What is the name you want to find:); gets(s); while(strcmp(ID,s)!=0&in) i+; if(i=n) printf(Sorry,there is no

12、such a person n); system(pause); return; printf( name sex folk birth add id n); printf( %-10s%-10s%-10s%-15s%-15s%-15sn,ID,IDi.sex,IDi.folk,IDi.birth,IDi.add,IDi.id); system(pause); void count(Person ID,int n) char str15,str25,str35; int i,j=0,p,q,r;system(cls); printf(please enter the current

13、 year:n); gets(str1); p=atoi(str1); printf(please enter the age you want to count:n); gets(str3); r=atoi(str3); printf( name sex folk birth add id n); for(i=0;in;i+) strncpy(str2,IDi.birth,4); q=atoi(str2); if(p-q)=r) printf( %-10s%-10s%-10s%-15s%-15s%-15sn,ID,IDi.sex,IDi.folk,IDi.birth,IDi.ad

14、d,IDi.id); j+; printf(There are %d person about this age.n,j); system(pause); int addfromText(Person ID,int n) int i=0,num; FILE *fp; char filename20; printf( Enter the file name :n); scanf( %s,&filename); if(fp=fopen(filename,rb)=NULL) printf(Can not open the file : n); system(pause); return(n); fs

15、canf(fp,%d,&num); while(inum) fscanf(fp,%s%s%s%s%s%s,IDn+,IDn+i.sex,IDn+i.folk,IDn+i.birth,IDn+i.add,IDn+i.id); i+; n+=num; fclose(fp); printf(n); printf( Read successfully n); system(pause); return(n);void writetotext(Person ID,int n)int i=0;FILE *fp;char filename100; printf( Enter a filename

16、: n); scanf( %s,&filename); if(fp=fopen(filename,w)=NULL) printf(Can not open the file : n); system(pause); return; fprintf(fp,%dn,n); while(in) fprintf(fp,%s%s%s%s%s%s,ID,IDi.sex,IDi.folk,IDi.birth,IDi.add,IDi.id); i+; fclose(fp); printf(Write date to file successfullyn);void main()int n=0; f

17、or(;) switch(menu_select() case 1: printf( Input the ID of the person: n); n=input(ID,n); break; case 2: display(ID,n); break; case 3: printf(Date sort by birth:n); sort_by_birth(ID,n); display(ID,n); break; case 4: printf(Insert an ID: n); n=insert_an_id(ID,n); display(ID,n); break; case 5: printf(

18、Delete an ID: n); n=delete_an_id(ID,n); break; case 6: printf(Searth an ID by name: n); search_by_name(ID,n); break; case 7: printf(count the age of people:n); count(ID,n); break; case 8: printf(Copy date from file:n ); addfromText(ID,n); break; case 9: printf(write date to file:n n); writetotext(ID

19、,n); break; case 0: system(cls); printf(nnttThank you !); system(pause);exit(0); 5程序运行时的具体演示操作界面 主界面按照提示选择“1”进行记录的输入(输入一个数据后提示是否继续输入)如图:连续输入多组数据后,按“n”结束输入,提示按任意键继续,按任意键后选择“2”进行记录的显示如图:显示后提示按任意键继续,按任意键后选择“3”进行记录的按生日排序并显示,如图:显示后提示按任意键继续,按任意键后选择“4”进行插入一条记录并显示,如图:显示后提示按任意键继续,按任意键后选择“5”按提示步骤删除一条记录并显示,如图:显示后提示按任意键继续,按任意键后选择“6”按提示步骤查找一条记录,显示如图:显示后提示按任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论