您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 学生档案管理系统源码
#includestdio.h#includestring.h//#includeconio.h//定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作#includestdlib.h//调用malloc()函数//#includectype.h//字符测试函数与字符映射函数#defineLENsizeof(information)structinformation{charname[20];//姓名charnum[10];//档案号charphonenum[12];//电话charplace[20];//籍贯intage;//年龄structinformation*next;};typedefstructinformation;voidmenu();information*Creat();//录入信息voidInsert(information*head);//添加学生信息information*Dele(information*head);//删除学生信息voidcheck(information*head);//查询学生信息voidbrowse(information*head);//浏览信息voidmain(){intp;information*head=NULL;charch;//进入系统首页printf(\t系统初始化成功\n);printf(\t\n\n\n\n\t━〓━━━━━━━━━━━━━━━━━━━━━━━━━━〓━\n);printf(\t\n);printf(\t〓学生档案管理系统〓\n);printf(\t\n);printf(\t\n);printf(\t〓制作人:XXX〓\n);printf(\t\n);printf(\t━〓━━━━━━━━━━━━━━━━━━━━━━━━━━〓━\n\n\n\n);printf(\t\t\t请选择,'y'录入信息,'n'退出系统:);do{scanf(%c,&ch);switch(ch){case'y':head=Creat();break;case'n':printf(\t\t\t\t退出系统);exit(0);break;default:printf(输入有误,请重新输入。\n);break;}}while(ch!='y'&&ch!='n');do{menu();printf(请输入您要执行的操作);scanf(%d,&p);switch(p){case1:Insert(head);break;case2:head=Dele(head);break;case3:check(head);break;case4:browse(head);break;case0:printf(\t\t\t\t退出系统);exit(0);break;default:printf(输入有误,请重新输入;\n);break;}}while(p);}//菜单voidmenu(){printf(\n\n★按任意键进入主菜单\n★pressanykeytoenterthemainmenu);getchar();getchar();system(cls);printf(\n\n\n\n\n\n\t\t■------------学生档案管理系统------------■\n);printf(\t\n);printf(\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n);printf(\t\t**1.添加学生信息**\n);printf(\t\t**2.删除学生信息**\n);printf(\t\t**3.学生信息查询**\n);printf(\t\t**4.学生信息浏览**\n);printf(\t\t**0.退出管理系统**\n);printf(\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n\n);}//录入学生信息information*Creat(){information*head=NULL,*end,*node;inti,n;system(cls);printf(\n\n请输入人数:);scanf(%d,&n);system(cls);while(n=0){printf(输入错误,请重新输入);printf(\n\n请输入人数:);scanf(%d,&n);}for(i=0;in;i++){node=(information*)malloc(LEN);//Malloc向系统申请分配指定size个字节的内存空间。if(node==NULL){printf(创建空间错误);}system(cls);printf(\t\t\t\t录*入*学*生*基*本*信*息\n);printf(\n姓名:);scanf(%s,node-name);printf(\n档案号:);scanf(%s,node-num);printf(\n电话号码:);scanf(%s,node-phonenum);printf(\n籍贯:);scanf(%s,node-place);printf(\n年龄:);scanf(%d,&node-age);node-next=NULL;if(i==0)head=end=node;else{end-next=node;end=node;}}returnhead;}//添加学生信息voidInsert(information*head){information*node;if(head==NULL){printf(该表为空);return;}else{system(cls);node=(information*)malloc(LEN);printf(\n姓名:);scanf(%s,node-name);printf(\n档案号:);scanf(%s,node-num);printf(\n电话号码:);scanf(%s,node-phonenum);printf(\n籍贯:);scanf(%s,node-place);printf(\n年龄:);scanf(%d,&node-age);node-next=head-next;head-next=node;}}//删除学生信息information*Dele(information*head){system(cls);information*temp,*front;charn[20];printf(\n删除的学生的档案号为:);scanf(%s,n);if(head==NULL){printf(\n\n表格为空!\n);returnNULL;}else{if(strcmp(head-num,n)==0){temp=head-next;free(head);returntemp;}else{front=head;temp=head-next;while((temp!=NULL)&&strcmp(temp-num,n)!=0){temp=temp-next;//把不需要删除的放在front中front=front-next;}if(temp==NULL){printf(\n\n无此学生!\n);returnhead;}else{front-next=temp-next;free(temp);printf(已删除,请返回操作);}}}returnhead;}//查询学生信息voidcheck(information*head){system(cls);information*node=head;intk;char_name2[20];char_num1[20];char_place3[20];intn=0;printf(你可以按以下方式查询\n);printf(******************************************************************************\n);printf(1.按档案号\n);printf(2.按姓名\n);printf(3.按籍贯\n);printf(******************************************************************************\n);printf(输入你的选择1-3:);scanf(%d,&k);switch(k){case1:printf(\n要查询的档案号为:);scanf(%s,_num1);while(node!=NULL){while((node!=NULL)&&(strcmp(node-num,_num1)!=0))node=node-next;if(node==NULL){if(n!=0){return;}else{printf(\n查无此人!\n);return;}}else{printf(******************************************************************************\n);printf(|姓名|档案号|电话号码|籍贯|年龄|\n);printf(%-10s%-14s%-18s%-12s%-8d\n,node-name,node-num,node-phonenum,node-place,node-age);printf(******************************************************************************\n);node=node-next;n++;}continue;}break;case2:n=0;printf(\n要查询的学生姓名为:);scanf(%s,_name2);while(node!=NULL){while((node!=NULL)&&(strcmp(node-name,_name2)!=0))node=node-next;if(node==NULL){if(n!=0){return;}else{printf(\n查无此人\n);return;}}else{printf(******************************************************************************\n);printf(|姓名|档案号|电话号码|籍贯|年龄|\n);printf(%-10s%-14s%-18s%-12s%-8d\n,node-name,node-num,node-phonenum,node-place,node-age);printf(******************************************************************************\n);node=node-next;n++;}continue;}break;case3:n=0;printf(\n要查询的学生籍贯为:);scanf(%s,_place3);while(node!=NULL){while((node!=NULL)&&(strcmp(node-place,_place3)!=0))node=node-next;if(node==NULL){if(n!=0){return;}else{printf(\n查无此人\n);return;}}else{printf(******************************************************************************\n);printf(|姓名|档案号|电话号码|籍贯|年龄|\n);printf(%-10s%-14s%-18s%-12s%-8d\n,node-name,node-num,node-phonenum,node-place,node-age);printf(**
本文标题:学生档案管理系统源码
链接地址:https://www.777doc.com/doc-1862910 .html