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

下载本文档

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

文档简介

课 程 设 计 报 告题 目身份证管理系统学 号 姓 名 年级专业09电子信息工程同组人员无学 号无指导老师完成日期2010年6月24日 一、实践的目的和要求 加深对C语言课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的语言程序,从而具备解决综合性实际问题的能力。 二、实践内容 在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。三.问题描述:用C语言编写程序,实现添加,删除,查找等相关功能。四.基本要求:(1)具备添加、删除功能;(2)具备多种查询功能:按年龄、出生日期等;(3)具备统计功能,能统计某年龄段的人数;(4)在此基础上,可进行文件操作。五分析: 系统需求一、 当前身份证信息:通过结构体Person ID来保存人的姓名,生日,民族,性别,地址,身份证号等等相关信息,并且通过input函数来进行给当前身份初始信息输入. 二、身份信息查询: 输入一个人名字, 在文件中查找此人, 若找到则输出此人的全部信息; 若找不到则输出查找失败的信息。三、新信息插入 :通过insert实现添加功能,然后还可以按生日日期从小到大排序。四、输出全部学生信息和全部学生成绩。五、退出系统.六、附加说明:系统将来完善的功能有:可以通过年龄来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。 实际上未完成文件操作和根据年龄查询这两项功能,所以这个程序的功能也相应大打折扣,也是需要进一步改进的地方,尤其是文件操作,即对文件继续存储和读取.输出结果菜单函数若选择1执行函数input(Person ID,int n)若选择2执行函数display(Person ID,int n)若选择3执行函数sort_by_birth(Person ID,int n)若选择4执行函数delete_an_id(Person ID,int n)若选择5执行函数search_by_name(Person ID,int n)若选择 6执行函数count(Person ID,int n)若选择7 执行函数 save(Person ID,int n)若选择8 执行函数read(Person ID,int n)若选择9 退出程序六.程序清单:#include#include#include#includetypedef structchar name20;char sex5;char folk5;char birth10;char add20;char id20;Person;Person ID100;int menu_select() char c;dosystem(cls);printf (ntt %c%c%c%c%c%c%cIdentity Conctrol System%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 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);int 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,&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);system(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);strcpy(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(%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;int 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+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 such a person n);system(pause);return(n);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 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.add,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);fscanf(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: 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; for(;) 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(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,n); break;

温馨提示

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

评论

0/150

提交评论