学生证信息管理系统(20210412105902)_第1页
学生证信息管理系统(20210412105902)_第2页
学生证信息管理系统(20210412105902)_第3页
学生证信息管理系统(20210412105902)_第4页
学生证信息管理系统(20210412105902)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、精品1系统的意义及其功能本系统为学生证管理程序。系统任务描述:假设某校学生学生证基本信息主要包括:学号、姓名、 所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:(1)通过键盘输入某位学生的学生证信息。学生证包含的信息请参看自己的学生证:(2)给定学号,显示某位学生的学生证信息:(3)给左某个班级的班号,显示该班所有学生的学生i正信息:(4)给泄某位学生的学号,修改该学生的学生证信息:2系统的功能结构图以及调用关系3系统功能详细分析学生证管理系统需要完成的功能主要有:从主函数进入各个子函数:子函数包括学生证信息的键入、 查询信息的功能、修改学生证信息的功能、退岀系统。具体功

2、能如下:3.1学生证信息的键入精品开始3.2查询信息的功能查询记录的主要功能是通过不同的查询方式查询学生的信息。先是进入査询界而,再选择查询的方 式,选择后将输出该学生的信息。共分为两种:给定某个学生的学号,显示该学生的学生证信息;给左某个班级的班号,按学号排序来显示该班所有学生的学生证信息;按班级排序来显示该班所有学生的学生证信息:3.2.1输入学号,显示该生的学生证信息精品3.2.2输入班号,显示该班所有学生的学生证信息精品精品3.3修改学生证信息的功能修改信息功能 修改信息的主要功 能是通过输入某位 学生的学号来修改 该生的学生证信 息。先是进入修改 界面,再输入学号, 输入后,将输岀该

3、 生的学生证信息, 再选择是否修改此 记录,选择是,则 输入修改的信息, 并保存修改。4运行界面请选择输入选项1X23 X4X5 : 主菜单界面开始主菜单写入并保存文件显示该生学生证信息修改学生证信息功能Y是否修改N精品些-学-的一 生 一 学 包有白j 冒所信 征信里证生爲生 宀丈rs- 人菽改出 il请选择麵入选趣砂2X3X45 : 1碍黜蠶礬獻鷺腮和輙注意:输入格式祜B)身份证号出生日期(年 月 日)321234I9921127567R 1992 09 212 2 8 8 8 81010 0 0时(年2010 092010 092B10 092010 092010 09.P.P 2 2

4、2 2 1 1 1 1 1 1 0000000000 人一1111丄丄丄 /子壬HRH 及吕弍 rnlrn,ro 幺E E E E E E E E 111111 刈息息息息息 _糸亠一一旨一导一旨一一m=Ei?匸皿男女男女女 酗二四三武武性王黍孙孙号姓名10446.221044G2091 044S1044G1070000006学生证键入的界面个人学生证信息显示界面1 1选 入号 J 择入 选输 请请日111111H H 月河月 轲341341邸 0 0 2 2 2 2 2 2 119119 0 0 0 0 2 2 9 9 1212 3 3 1 1 息子 .4444二息子 . 1010王男逼间号

5、期 .时证日 号-T-T份生 学姓性院班入身岀ti A按任意键返回主菜单:精品精品XXXXXXXXXXX XX XXXXXXXXXXX XX XXXXXXXXXXX XX X 茫 Iliads3=邁出XXXXXXXXXXX XXXXXXXXXXXXX XX XXXXXXXXXXX XX Xi青选择输入选项C1S2X3J:显示班级信息的选择输出方式的界面r t i:1:JL W4-16X08僥絮:耋怎班级8电子丄丄.人餐时1、甸,230年夕月久曰乌丿仔卜证呂 8 32212341V9213 3X23 33岀虽曰期年匹月2N曰聚杳竟艇返回上层荣单=RR千SI武 t .: 謀号期 .时证曰 i:ss

6、ll 学養萼出精品按学号排序显示该班所有学生的学生证信息界面精品血A级 择命选ri远1彳戸呈、% %八八 Eg.-f-J 0弄日寸问 NSLS年日月1.曰分证号 t 32X2 31X93Press any key to continue精品修改学生证信息的界面5系统使用说明1、进入程序时,先以菜单形式显示所有命令,然后用户通过菜单项选择操作;例如:久 23:4:523:4:5. .09 0209 220 001012 22 29 99 91 1修1010王男逼间号期 要 .时证日改 2121需号份生修 4 4姓性院班入身出已 选入4444输入入入入入入入入息 主冃亠刖L0L0- 口7号22学1

7、1的入改 息 兰a a 3 3 ?1?1 2 2 内内2 2 AHMAHM 6 6 改4444五月1212月2 2 2 21010年3232年 息子 霄主菜单:精品/用来使用淸屏函数1学生证信息的键入2输入学号,显示该生学生证信息3输入班号,显示该班所有学生的学生证信息4给定学号,修改该生学生证信息5退出系统请选择1/2/3/4/51:2、键入学生证信息时,按照所给定的格式输入。3、査询信息是按学生学号和班号的形式进行查询,填入学号后,则显示出该生所有信息;选择按班号查询功能后,在选择显示输岀方式,分两种:一种按学号排序:另一种是按姓鋼排序。 选左后,再填入班号,则显示岀该班所有学生的学生证信

8、息(按已选左的排序方式显示)。4、修改信息是按输入学号的形式进行修改,填入后,则显示出该生所有信息,然后询问是否修改, 若回答y”(大小写通用),则输入新值,否则不作修改。6 C语言源程序代码#include #include #include nclude #include #define LEN sizeof(struct STUcard) struct STUcard *creat 0;void viewperson0;void viewclassO ;void number0;void name ();void change();struct STUcard *saveO ;struc

9、t dateint year;int month;int day;/左义用来嵌套的结构体struct STUcardint number;char name20;char sex 10;char department20;char classnumberL10;struct date timeofenter;/嵌套结构体char IDnumber30;精品struct date birthday;struct STUcard *next;;定义结构体void mainOchar c;int n=0;struct STUcard *head;char build;/创建文件FILE *fp;fp

10、二fopen(XX out, :rb);辻(fp二二NULL)精品printfC1:输入学生证信息n);printfC2:査找个人信息n);printfC3:査找班级里所有学生的学生证信息n);printfC4:修改学生证信息n);printf(“5:退出n);/录入学生证信息函数printff文件不存在,请创建(Y or N); scanf&build);if (build Y)fp=fopen(z/XX out, wb); elseexit(O);doprintf(*); printf(”n);printf C请选择输入选项12345 :);doc=getchar0; while (c!=

11、 r&c!= 2 &c!二3 &c!二4 &c!= o ); getchar0;switch(c)case r :head=creat 0 ; break;case 2,:viewperson(head); break;case 3,:viewclass(head); break;case 4 :change(head); break;case :exit(0); break;printf (-按任意键返回主菜单:); flushall0;getchar0;printf (,z%dz n);system(z/cls,/); while (1);int n;struct STUcard *cre

12、at0struct STUcard *head, *pl, *p2;n=0;head二NULL;pl=p2=(struct STUcard *)malloc(LEN);printf(请按以下格式输入学生证信息,注意每个数据之间间隔一个空格! n以学号为 system(cls);/淸屏printf(*経*n)精品00000000结朿录入,并且剩下的信息字符用“0”代替输入注意:输入格式不变! : n); printff学号姓爼性别院系班级入学时间(年 月曰)身份证号岀生日期(年 月 日八);scanf (,?%d %s %s %s %s %d %d %d %s %d %d %d?,, &pl-n

13、umber, pl-name, pl-sex, pl-d epartment, pl-classnumber,&pl-timeofenter year, &pl-timeofenter month, &pl-timeofenter day, pl-IDnumber,&pl-birthday year, &pl-birthday. month, &pl-birthday day); while (pl-number!=00000000)n=n+l;if(n=l) head二pl;else p2-next=pl;p2=pl;pl= (struct STUcard *malloc(LEN);scan

14、f Cz%d %s %s %s %s %d %d %d %s %d %d %d,z, &plnumber, pl-name, pl-sex, p l-department plclassnumber,&pl-timeofenter year, &pl-timeofenter month, &pl-timeofenter day, pl-IDnumber,&pl-birthday. year, &pl-birthday month, &pl-birthday day);p2-next二NULL;free (pl);save (head);/保存文件return (head) ;/把已录入信息的链

15、表头指针返回给住函数void viewperson (struct STUcard * head) /査找个人信息函数int m, a=0;struct STUcard *p;printff请输入学号:);printfCn ”);scanf (备备d: &m);P=head;/获取头指针,以使用链表精品/结点后移while (p-next!=NULL)/判断是否为空指针if(p-number=m)printf (,z学号:除ln姓名:%sn性别:%sn院系:%sn班级:%sn入学时间:%d年%d 月%d0n身份证号:眈n岀生日期:規年%d月%d 0nw,p-number, p-name, p-

16、sex, p-department, p-classnumber,p-timeofenter year, p-timeofenter month, p-timeofenter day, p-IDnumber, p-birthday year, p-birthday. month, p-birthday day);printf(n);a=a+l; p=p-next;if (p-number=m)printf (/z学号:%dn姓名:%sn性别:%sn院系:sn班级:%sn入学时间:%d年%d 月d日n身份证号:sn岀生日期:d年%d月%d Bn, p-number, p-name, p-sex,

17、 p-department, p-classnumber,p-timeofenter year, p-timeofenter month, p-timeofenter day, p-IDnumber, p-birthday. year, p-birthday. month, p-birthday day);printf(n);a=a+l;printf(n);printf (/z共%d 人n, a);if (a=0) printf(z,对不起,查无此人!n);void viewclass (struct STUcard * head)/查找班级信息函数char c;void number 0;

18、void nameO ;system(z/clsz/);/淸屏精品n/z);printfCprintf (请选择输入选项123:); doc=getchar(); whi le (c! = T &c! = 2 &c! = 3f);getchar0;switch(c)( (tcase r :number(head);break;case 2 :name(head);break;case 3 :exit (0);continue;printf(-按任意键返回上层菜单:); flushall0;getchar0;system(/zclsz/); while (1);void number (stru

19、ct STUcard * head)/按学号排序char c10J;int hl, a=0, i, j, k, w;char hname20;char hsex20;char hdepartment20_;char hclassnumber.10;char hIDnumber30_;struct date htimeofenter;struct date hbirthday;struct STUcard *p,*p2, *p3;p二head;p2=head;p3=p2-next;for(k=l;k+)/用来确泄链表中共多少个结点if(p-next!二NULL) p=p-next;else br

20、eak;for(i=0;ik-l;i44-)精品p2=head;p3二p2-next;for (j=0;jnumberp3-number)hl=p2-number;strcpy(hname, p2-name);strcpy (hsex,p2-sex);strcpy(hdepartment, p2-department); strcpy(hclassnumber, p2-classnumber); strcpy(hIDnumber, p2-IDnumber);htimeofenterz:p2-timeof enter; hbirthday=p2-birthday;p2-number=p3-num

21、ber;strcpy(p2-name, p3-name);strcpy(p2-sex,p3-sex);strcpy(p2-department, p3-department); strcpy(p2classnumber, p3-classnumber); strcpy(p2-IDnumber, p3-IDnumber);p2-timeofenter=p3-timeofenter;p2-birthday=p3-birthday; p3-number=hl;strcpy(p3-name, hname);strcpy (p3-sex,hsex);strcpy(p3-department, hdepa

22、rtment);strcpy(p3-classnumber, hclassnumber);strcpy(p3-IDnumber, hIDnumber);p3-timeofenter=htimeofenter; p3-birthday=hbirthday;p2二p3; p3=p3-next;printf (请输入班级:n);scenf(“%s, &c);p二head;for(w=l;wclassnumber, c)=0)printfC学号:%dn姓名:%sn性别:%sn院系:%sn班级:%sn入学时间:%d年%d 月%dBn身份证号:sn出生日期:紀年%d月日n, p-number, p-nam

23、e, p-sex, p-department, p-classnumber,p-timeofenter year, p-timeofenter month, p-timeofenter day, p-IDnumber, p-birthday. year, p-birthday. month, p-birthday day);a=a+l;精品p=p-next;printf(n);printf (共人n, a);辻(a=0) printf (“对不起无此班级);void name (struct STUcard *head)/按姓名排序char c10j;int hl, a=0, i, j, k,

24、 w;char hname20;char hsex20;char hdepartment20_;char hclassnumber_10;char hIDnumber30.;struct date htimeofenter;struct date hbirthday;struct STUcard *p,*p2, *p3;p二head;p2=head;p3=p2-next;for (k=l;k+)if(p-next!=NULL) p=p-next;else break;for(i=0;inext;for (j=0;jname, p3-name)0)hl=p2-number; strcpy(hna

25、me, p2-name);strcpy (hsex,p2-sex);strcpy(hdepartment, p2-department); strcpy(hclassnumber, p2-classnumber); strcpy(hIDnumber, p2-IDnumber); htimeofenter:p2-timeofenter;hbirthday=p2-birthday; p2-number二p3-number; strcpy(p2-name, p3-name); strcpy(p2-sex,p3-sex); strcpy(p2-departmentf p3-department); s

26、trcpy(p2-classnumber, p3-classnumber); strcpy(p2-IDnumber, p3-IDnumber); p2-timeofenter=p3-timeofenter; p2-birthday=p3-birthday;p3-number=hl;strcpy(p3-name, hname);精品strcpy (p3-sex,hsex);strcpy(p3-department, hdepartment); strcpy(p3-classnumber, hclassnumber); strcpy(p3-IDnumber, hIDnumber); p3-time

27、ofenter=htimeofenter; p3-birthday=hbirthday;p2=p3; p3=p3-next;printf (”请输入班级:n); scanf&c);p=head;for(w=l;wclassnumber, c)=0)printf (/z学号:%dn姓名:%sn性别:%sn院系:sn班级:%sn入学时间:%d年%d 月%dBn身份证号:sn出生日期:年%d月日n,p-number, p-name, p-sex, p-department, p-classnumber,p-timeofenter year, p-timeofenter month, p-timeof

28、enter day, p-IDnumber, p-birthday. year, p-birthday. month, p-birthday day);a=a+l;p=p-next;printfCn*);printf (共人n, a);if(a=O) printf (对不起 无此班级);void change (struct STUcard * head) /修改信息 int x;struct STUcard *pl,*p2;printf (输入要修改学生的学号n);scanf (z,%d/z, &x);pl二head;while(pl-number!=x)&(pl-next!=NULL)p2

29、=pl;pl二pl-next;if(p1-number=x)printf(请输入需要修改的信息:n);printf(输入学号:”);精品scanf&pl-number);printf (/?输入姓名:);scanf pl-name);printf(/?输入性别:”);scanfpl-sex);printf(/z输入院系:”);scanf(%s: pl-department);printf(/z输入班级:”);scanf(%s: pl-classnumber);printf (/z输入入学时间(年 月 日):“);scanf (,?%d %d&pl-timeofenter year, &pl-t

30、imeofenter month, &pl-timeofenter day);printf(输入身份证号:”);scanf (%s: pl-IDnumber);printfC输入岀生日期(年 月 日):”);scanf (?,%d %d&pl-birthday. year, &pl-birthday. month, &pl-birthday. day);printf (*信息已修改);save (head);else printf C?%d 找不到该学号! n x);struct STUcard *save(struct STUcard *head) /_保存函数 FILE *fp;struc

31、t STUcard *p;p=head;fp=fopen(,zXX out, w+);if(fp=0)printf (”不能打开文件);exit(O);while (p)fprintf (fp,学号:%dn姓名:%sn性别:%sn院系:%sn班级:%sn入学时间:%d年%d 月%dBn身份证号:紀n岀生日期:d年規月日n,p-number, p-name, p-sex, p-department, p-classnumber,p-timeofenter year, p-timeofenter month, p-timeofenter day, p-IDnumber, p-birthday. year, p-birthday. month, p-birthday day);printf(n);p=p-next;printf (n文件保存成功!n,n);fclose(fp);return head;/返回后结点精品7心得体会通过这次的c语言程序设汁,让我意识到自己的基础还不是太扎实,发现自己在编程方而还有些不 足,有一些小小的错误不能避免。这次的设计培养了我发现问题、解

温馨提示

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

评论

0/150

提交评论