i目录1实习目的................................................................12需求分析................................................................13概要设计................................................................13.1基本设计............................................................13.2开发平台............................................................23.3模块介绍............................................................23.4系统功能图..........................................................34详细设计................................................................34.1登录界面............................................................34.2建立学生信息........................................................54.3插入学生信息........................................................84.4删除学生信息........................................................94.5查询个人信息.......................................................114.6输出全部信息.......................................................124.7载入全部信息.......................................................134.8保存信息...........................................................155调试与测试结果分析.....................................................165.1登录界面...........................................................165.2系统主界面.........................................................165.3建立学生信息表.....................................................165.4保存界面...........................................................175.5插入信息...........................................................175.6删除界面...........................................................185.7查询个人信息.......................................................185.8输出全部信息.......................................................195.9载入全部信息.......................................................205.10退出系统..........................................................206使用说明...............................................................207总结...................................................................21参考文献:...............................................................22德州学院信息管理学院2013级计算机科学与技术专业自主学习能力1学生信息系统的设计与实现1实习目的(1)熟练的运用计算机语言,培养了对计算机编程的热爱程度.(2)学会怎样用c语言做一个完整的系统。(3)掌握c语言的编辑,链接,运行等环节。(4)掌握c语言中链表的建立,插入,删除,保存节点。(5)熟练掌握forwhiledo-while循环语句的使用。(6)熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。(7)提高遇到困难解决困难的能力。(8)提高书写代码的速度与正确率。(9)提高对系统的完善能力以及思考问题的全面性,提高自己对所学知识的综合应用。(10)独立实践,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力。2需求分析随着现在学生数量的增多,要想用人工的方法去记录查询学生信息是非常困难的,伴随计算机的发展,人们的生活习惯和工作方式也发生了改变,计算机软件开始取代传统的工作模式,所以一个全新的学生信息管理系统是必不可少的,它不仅省时而且省力,大大的降低了我们的劳动,使我们有更多地时间去做其他的事,管理员进入系统之后可以根据自己的需求去操作它,并且该系统还设有账户名以及密码,大大的保护了学生信息的安全性。3概要设计3.1基本设计此学生信息管理系统是由菜单的选择来实现人机交互的,管理员登录以后就可以根据自己的需求选择不同的数字来进入不同的界面,本系统可以实现对学生信息的建立、插入、删除、查询等信息。德州学院信息管理学院2013级计算机科学与技术专业自主学习能力23.2开发平台系统:Windows7旗舰版(64位)处理器:AMDA8-5545MAPUwithRadeon(tm)HDGraphics1.70GHz内存:4.00GB程序开发软件:MicrosoftVisualC++6.0文档编写:MicrosoftWord20103.3模块介绍(1)建立学生信息模块通过对指针的操作实现学生信息的输入,并使指针一次向后移动,可以大量输入学生信息。(2)插入学生信息模块输入您要插入的学生的全部信息,将少数学生信息通过插入功能加入链表中,并按照学号的大小从大到小排列。(3)删除模块通过输入学生的学号来实现删除系统中学生的信息,并将剩余学生的信息排好。(4)查询模块可以通过学生姓名查询出单个学生的信息,并将此学生的全部信息输出出来。(5)输出模块可以将在系统中的所有学生信息输出出来。(6)载入模块将保存在文件中的学生信息从新从文件中拿出来,然后再进行其他操作。(7)保存模块将你的操作保存到系统中,下次可以读取出来。(8)退出模块进行完所有的操作之后,便可安全退出。德州学院信息管理学院2013级计算机科学与技术专业自主学习能力33.4系统功能图进入学生信息系统之后,便可以根据自己的需求对学生信息进行增、删、改、查等操作,总流程图如图1所示:图1总体模块框图4详细设计4.1登录界面进入main函数之后直接进入登录界面,通过一个for循环控制输入的次数,最多可以输入三次,通过定义数字、字符的长度大于本身的长度来实现输出信息的排版和隔开,使输出的信息排版美观。代码如下:voidmain(){intn,a;intmychoose;学生信息系统删除学生信息查询个人信息输出全部信息插入学生信息建立学生信息载入学生信息保存学生信息退出系统德州学院信息管理学院2013级计算机科学与技术专业自主学习能力4chardelet1[20],Query[20];intcount,j,i=0;charusername[20],password[20];structstu*head,*insertnode;structstu*p2;printf(\n\t欢迎进入学生管理系统\n\n);printf(程序设计人员:张凯业\n);printf(请以管理员身份登录:\n);for(count=0;count3;count++){j=0;printf(\n\t\t用户名:);scanf(%s,username);printf(\t\t密码:);while((password[j]=getch())!=13){putchar('*');j++;}password[j]='\0';if(strcmp(username,admin)){i++;printf(\n\n用户名不存在,你还有%d次机会!\n,3-i);}elseif(strcmp(password,123456)){i++;printf(\n\n密码错误,你还有%d次机会!\n,3-i);德州学院信息管理学院2013级计算机科学与技术专业自主学习能力5}else{printf(\n\n登陆成功\n);break;}}if(3==i){printf(你输入的次数已达%d次,请重启程序再来\n,3);exit(0);}4.2建立学生信息先在结构体中定义学生的基本信息,包括学号、姓名、性别、出生日期、身份证号、学院等信息,通过数组的指向将信息保存到链表中,建立一个头节点,又head指针指向它,初始值为NULL,然后将建立的节点依次插入到链表中,链表中最后一个元素由指针p1指向。用malloc开辟第一个结点,并让p2指向它,输入学生信息赋给p2所指向的节点,约定学号不为0,如果学号为零说明建立完毕,如果输入的p2-num不等于0,将p2插入到p1后,然后p1后移指向新插入的节点。通过while循环提示你是否要继续输入,如果继续输入按1,否则按0。代码如下:structstu{intnum[15];//学号charname[15];//姓名charGender[5];//性别charDateofbirth[15];//出生日期charID[20];//身份证号charscore[20];//学院structstu*next;德州学院信息管理学院2013级计算机科学与技术专业自主学习能力6};intn=0;structstu*creat()//建立链表{intdata=1;structstu*head,*p1,*p2;head=(structstu*)malloc(LEN);head-next=NULL;p1=head;p2=(structstu*)malloc(LEN);printf(学号\n);scanf(%s,p2-num);printf(姓名\n);scanf(%s,p2-name);printf(性别\n);scanf(%s,p2-Gender);printf(出生日期\n);scanf(%s,p2-Dateofbirth);printf(身份证号\n);scanf(%s,p2-ID);printf(学院\n);scanf(%s,p2-score);while(p2-num!=0){n++;p2-next=p1-next;p1-next=p2;p1=p2;printf(建立链表成功!!!\n);printf(是否继续输入是1否0);德州学院信息管理学院2013级计算机科学与技术专业自主学习能力7scanf(%d,&data);if(d