您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 11C语言课程设计-身份证管理系统
1课程设计报告题目身份证管理系统学号姓名年级专业09电子信息工程同组人员无学号无指导老师完成日期2010年6月24日2一、实践的目的和要求加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。二、实践内容在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。三.问题描述:用C语言编写程序,实现添加,删除,查找等相关功能。四.基本要求:(1)具备添加、删除功能;(2)具备多种查询功能:按年龄、出生日期等;(3)具备统计功能,能统计某年龄段的人数;(4)在此基础上,可进行文件操作。五.分析:系统需求一、当前身份证信息:通过结构体PersonID来保存人的姓名,生日,民族,性别,地址,身份证号等等相关信息,并且通过input函数来进行给当前身份初始信息输入.二、身份信息查询:输入一个人名字,在文件中查找此人,若找到则输出此人的全部信息;若找不到则输出查找失败的信息。三、新信息插入:通过insert实现添加功能,然后还可以按生日日期从小到大排序。四、输出全部学生信息和全部学生成绩。五、退出系统.六、附加说明:系统将来完善的功能有:可以通过年龄来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。实际上未完成文件操作和根据年龄查询这两项功能,所以这个程序的功能也相应大打折扣,也是需要进一步改进的地方,尤其是文件操作,即对文件继续存储和读取.........3六.程序清单:#includestdio.h#includestdlib.h#includestring.h#includeconio.htypedefstruct菜单函数若选择1执行函数input(PersonID[],intn)若选择2执行函数display(PersonID[],intn)若选择3执行函数sort_by_birth(PersonID[],intn){若选择4执行函数delete_an_id(PersonID[],intn)若选择5执行函数search_by_name(PersonID[],intn)若选择6执行函数count(PersonID[],intn)若选择7执行函数save(PersonID[],intn)若选择8执行函数read(PersonID[],intn)若选择9退出程序输出结果4{charname[20];charsex[5];charfolk[5];charbirth[10];charadd[20];charid[20];}Person;PersonID[100];intmenu_select(){charc;do{system(cls);printf(\n\t\t%c%c%c%c%c%c%cIdentityConctrolSystem%c%c%c%c%c%c%c\n\n\n,3,3,3,3,3,3,3,3,3,3,3,3,3,3);printf(\t%c1.Inputdate\n\n,21);printf(\t%c2.Displaydate\n\n,21);printf(\t%c3.Sortthepeoplebybirth\n\n,21);printf(\t%c4.InsertanID\n\n,21);printf(\t%c5.DeleteanID\n\n,21);printf(\t%c6.SearchanIDbyname\n\n,21);printf(\t%c7.Countthepeople\n\n,21);printf(\t%c8.Copydatefromfile\n\n,21);printf(\t%c9.Writedatetofile\n\n,21);printf(\t%c0.exit\n\n,21);printf((0-9):);c=getchar();}while(c'0'||c'9');return(c-'0');}intinput(PersonID[],intn){inti=0;charsign='w',x[10];system(cls);printf(\tInputthedate:\n);while(sign!='n'&&sign!='N'){printf(\tName:);scanf(%s,&ID[n+i].name);printf(\tSex:);scanf(%s,&ID[n+i].sex);printf(\tFolk:);scanf(%s,&ID[n+i].folk);5printf(\tbirth:);scanf(%s,&ID[n+i].birth);printf(\tAddress:);scanf(%s,&ID[n+i].add);printf(\tID:);scanf(%s,&ID[n+i].id);gets(x);printf(Areyousuretocontinue?(Y/N)\n);scanf(%c,&sign);i++;}return(n+i);}voiddisplay(PersonID[],intn){inti;system(cls);printf(---------------------------------------------------------------------\n);printf(namesexfolkbirthaddid\n);printf(---------------------------------------------------------------------\n);for(i=1;in+1;i++){printf(%-10s%-10s%-10s%-15s%-15s%-15s\n,ID[i-1].name,ID[i-1].sex,ID[i-1].folk,ID[i-1].birth,ID[i-1].add,ID[i-1].id);if(i1&&i%10==0){printf(----------------------------------------------------------------\n);system(pause);printf(---------------------------------------------------------------\n);}}system(pause);}voidsort_by_birth(PersonID[],intn){inti,j;chart[20];system(cls);for(i=0;in-1;i++)for(j=0;jn-1-i;j++)if(strcmp(ID[j].birth,ID[j+1].birth)0){strcpy(t,ID[j+1].name);strcpy(ID[j+1].name,ID[j].name);6strcpy(ID[j].name,t);strcpy(t,ID[j+1].sex);strcpy(ID[j+1].sex,ID[j].sex);strcpy(ID[j].sex,t);strcpy(t,ID[j+1].folk);strcpy(ID[j+1].folk,ID[j].folk);strcpy(ID[j].folk,t);strcpy(t,ID[j+1].birth);strcpy(ID[j+1].birth,ID[j].birth);strcpy(ID[j].birth,t);strcpy(t,ID[j+1].add);strcpy(ID[j+1].add,ID[j].add);strcpy(ID[j].add,t);strcpy(t,ID[j+1].id);strcpy(ID[j+1].id,ID[j].id);strcpy(ID[j].id,t);}}intinsert_an_id(PersonID[],intn){charx[100];system(cls);printf(\n\tName:);scanf(%s,&ID[n].name);printf(\tSex:);scanf(%s,&ID[n].sex);printf(\tFolk:);scanf(%s,&ID[n].folk);printf(\tbirth:);scanf(%s,&ID[n].birth);printf(\tAddress:);scanf(%s,&ID[n].add);printf(\tID:);scanf(%s,&ID[n].id);gets(x);n++;sort_by_birth(ID,n);printf(\n);return(n);}intdelete_an_id(PersonID[],intn){chars[20];7inti=0,j;system(cls);printf(Personnameyouwanttodelete:\n);scanf(%s,s);while(strcmp(ID[i].name,s)!=0&&in)i++;if(i==n){printf(Sorry,thereisnosuchaperson\n);return(n);}for(j=i;jn-1;j++){strcpy(ID[j].name,ID[j+1].name);strcpy(ID[j].sex,ID[j+1].sex);strcpy(ID[j].folk,ID[j+1].folk);strcpy(ID[j].birth,ID[j+1].birth);strcpy(ID[j].add,ID[j+1].add);strcpy(ID[j].id,ID[j+1].id);}printf(DeleteIDsuccessfully\n);return(n-1);}voidsearch_by_name(PersonID[],intn){chars[20];inti=0;system(cls);printf(Whatisthenameyouwanttofind:);gets(s);while(strcmp(ID[i].name,s)!=0&&in)i++;if(i==n){printf(Sorry,thereisnosuchaperson\n);system(pause);return(n);}printf(namesexfolkbirthaddid\n);printf(%-10s%-10s%-10s%-15s%-15s%-15s\n,ID[i].name,ID[i].sex,ID[i].folk,ID[i].birth,ID[i].add,ID[i].id);system(pause);}voidcount(PersonID[],intn){charstr1[5],str2[5],str3[5];8inti,j=0,p,q,r;system(cls);printf(pleaseenterthecurrentyear:\n);gets(str1);p=atoi(str1);printf(pleaseentertheageyouwanttocount:\n);gets(str3);r=atoi(str3);printf(namesexfolkbirthaddid\n);for(i=0;in;i++){strncpy(str2,ID[i].birth,4);q=atoi(str2);if((p-q)==r)printf(%-10s%-10s%-10s%-15s%-15s%-15s\n,ID[i].name,ID[i].sex,ID[i].folk,ID[i].birth,ID[i].add,ID[i].id);j++;}printf(Thereare%dpersonaboutthisage.\n,j);sy
本文标题:11C语言课程设计-身份证管理系统
链接地址:https://www.777doc.com/doc-4962263 .html