欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学生信息管理计划系统(C语言知识基于链表文件).doc

    • 资源ID:2767021       资源大小:53.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生信息管理计划系统(C语言知识基于链表文件).doc

    #+#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<windows.h>#include<string.h>#define LEN sizeof(struct student)#define DAT_FILENAME "Information.txt"/*定义数据结构*/struct dateint year;int month;int day;struct studentint ID;char Name8;int age;char xb;char telephone15;char address40;struct date birthday;char email40;struct student *next;/*函数原型*/void DispMainMenu();void DisplayInformation(struct student *head);struct student *FindstudentID(struct student *head,int findID);struct student *FindstudentName(struct student *head,char findname);struct student *InformationInput(struct student *head);void QueryInformation(struct student *head);struct student *EditInformation(struct student *head);struct student *Insert(struct student *head,struct student *p);void Save(struct student *head);struct student *Read(struct student *head);struct student *Delete(struct student *head,int findID);struct student *Add(struct student *head);void Help();/*显示主菜单*/void DispMainMenu()printf("*学生信息管理系统*n");printf("n");printf("tttt1-信息录入n");printf("n");printf("tttt2-信息修改n");printf("n");printf("tttt3-信息查询n");printf("n");printf("tttt4-保存数据到文件n");printf("n");printf("tttt5-打开数据文件n");printf("n");printf("tttt6-文件追加n");printf("n");printf("tttt7-帮助n");printf("n");printf("tttt0-退出n");printf("n");printf("友情提示:初次使用请先阅读帮助n");printf("*n");printf("请选择(0-7):");/*显示主菜单*/*帮助*/void Help()printf("nttt欢迎进入帮助系统!nn"); printf("t1.请按照主菜单提示选择所需执行功能的数字代号!n");printf("t2.所有文件请按照规范输入n");printf("t3.刚开始执行程序时若需要文本文件里的数据,请先进行读取文件信息!n");printf("t4.修改信息以后,请切记需要保存!n");printf("n");/*显示所有学生信息*/void DisplayInformation(struct student *head)struct student *p;printf("*");printf("n学号t姓名t年龄t性别t 电话tt地址t 出生年月t emailn");p=(struct student *)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL)printf("%-dt%-st%-dt",p->ID,p->Name,p->age);printf("%-ct%-st%-st",p->xb,p->telephone,p->address);printf("%-d %d %d",p->birthday.year,p->birthday.month,p->birthday.day);printf("t%-sn",p->email);p=p->next;elseprintf("无数据n");/*查找指定学号的学生信息*/struct student *FindstudentID(struct student *head,int findID)struct student *p;p=(struct student *)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL)if(p->ID=findID)break;p=p->next;elseprintf("无数据n");return p;/*查找指定姓名的学生信息*/struct student *FindstudentName(struct student *head,char findname)struct student *p;p=(struct student *)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL)if(strcmp(p->Name,findname)=0)break;p=p->next;elseprintf("无数据n");return p;/*学生信息录入*/struct student *InformationInput(struct student *head)int number,i;struct student *p;p=(struct student *)malloc(LEN);printf("n请输入本次录入的学生人数:");scanf("%d",&number);for(i=0;i<number;i+)/*输入 number 个学生的信息*/printf("请输入第%d个学生的学号(八个字符以内):",i+1);scanf("%d",&p->ID);printf("ttt 姓名:t");scanf("%s",p->Name);printf("ttt 年龄:t");scanf("%d",&p->age);printf("ttt 性别(男M、女W):");scanf("%s",&p->xb);printf("ttt 电话(八位):t");scanf("%s",p->telephone);printf("ttt 地址:t");scanf("%s",p->address);printf("ttt 出生年月:t");scanf("%d%d%d",&p->birthday.year,&p->birthday.month,&p->birthday.day);printf("tttemail:t");scanf("%s",p->email);head=Insert(head,p);p=(struct student *)malloc(LEN);printf("n 您的输入信息是:n");DisplayInformation(head);return(head);/*学生信息查询*/void QueryInformation(struct student *head)char select;int findID;char findname8;struct student *p;printf("*请选择查询方式*n");printf("t1-按学号查询;t2-按姓名查询n");printf("*n");printf("请选择(1-2):");/*显示菜单信息*/select=getche();getch();switch (select)case1:printf("n 按学号查询n 请输入学生的学号:");scanf("%d",&findID);if(p=FindstudentID(head,findID)!=NULL) /*找到指定学号的学生*/printf("n 查找结果如下:n");printf("n学号t姓名t年龄t性别t 电话tt地址t 出生年月t emailn");printf("%dt%st%dt",p->ID,p->Name,p->age);printf("%ct%st%st",p->xb,p->telephone,p->address);printf("%d %d %d",p->birthday.year,p->birthday.month,p->birthday.day);printf("t%sn",p->email);else /*没有找到*/printf("您输入的学号不存在!n");break;case2:printf("n 按姓名查询n 请输入学生的姓名:");scanf("%s",&findname);if(p=FindstudentName(head,findname)!=NULL) /*找到指定姓名的学生*/printf("n 查找结果如下:n");printf("n 学号t 姓名t 年龄t 性别t 电话t 地址t 出生年月t emailn");printf("%dt%st%dt",p->ID,p->Name,p->age);printf("%ct%st%st",p->xb,p->telephone,p->address);printf("%d %d %d",p->birthday.year,p->birthday.month,p->birthday.day);printf("t%sn",p->email);else /*没有找到*/printf("您输入的姓名不存在!n");break;default:printf("选择错误!n");/*修改学生信息*/struct student *EditInformation(struct student *head)int findID;char select;struct student *p;printf("n 请输入学生的学号:");scanf("%d",&findID);if(p=FindstudentID(head,findID)!=NULL) /*找到指定学号的学生*/printf("*请修改方式*n");printf("t1-修改信息;t2-删除信息n");printf("*n");printf("请选择(1-2):");select=getche();getch();switch (select)case1: /*修改信息*/printf("您选择的是修改信息!n");printf("姓 名:%sn",p->Name);printf("原信息:学号:%dt 年龄:%dt 性别:%cn",p->ID,p->age,p->xb);printf("t 电话:%st 地址:%stemail:%sn",p->telephone,p->address,p->email);printf("请输入新信息n");printf("学号t");scanf("%d",&p->ID);printf("姓名:t");scanf("%s",p->Name);printf("年龄:t");scanf("%d",&p->age);printf("性别(男M、女W):");scanf("%s",&p->xb);printf("电话:t");scanf("%s",p->telephone);printf("地址:t");scanf("%s",p->address);printf("出生年月:t");scanf("%d%d%d",&p->birthday.year,&p->birthday.month,&p->birthday.day);printf("email:t");scanf("%s",p->email);break;case2: /*删除信息*/printf("您选择的是删除信息!n");head=Delete(head,findID);break;else /*没有找到学号匹配的记录*/printf("您输入的学号不存在!n");return (head);/*有序插入*/struct student *Insert(struct student *head,struct student *p)struct student *p0,*p1;if(head=NULL)head=p;p->next=NULL;return(head);if(p->ID<head->ID)p->next=head;head=p;return(head);p1=head;while(p->ID>p1->ID)&&(p1->next!=NULL)p0=p1;p1=p1->next;if(p->ID<p1->ID)p->next=p1;p0->next=p;elseif(p->ID=p1->ID);elsep1->next=p;p->next=NULL;return(head);/*保存数据到文件*/void Save(struct student *head)FILE *fp;struct student *p;p=head;if(fp=fopen(DAT_FILENAME,"w+")!=NULL) /*以W+的方式打开文件*/while(p!=NULL)fprintf(fp,"%dt",p->ID);fprintf(fp,"%st",p->Name);fprintf(fp,"%dt",p->age);fprintf(fp,"%ct",p->xb);fprintf(fp,"%st",p->telephone);fprintf(fp,"%st",p->address);fprintf(fp,"%d %d %dt",p->birthday.year,p->birthday.month,p->birthday.day);fprintf(fp,"%sn",p->email);p=p->next; /*将链表的内容写入文件*/fclose(fp);elseprintf("cannot open filen");/*打开数据文件*/struct student *Read(struct student *head)struct student *p;p=(struct student *)malloc(LEN);FILE *fp;if(fp=fopen(DAT_FILENAME,"r")!=NULL)/*读取文件中的内容到链表中*/while(fscanf(fp,"%dt",&p->ID)!=EOF)fscanf(fp,"%st",p->Name);fscanf(fp,"%dt",&p->age);fscanf(fp,"%ct",&p->xb);fscanf(fp,"%st",p->telephone);fscanf(fp,"%st",p->address);fscanf(fp,"%d %d %dt",&p->birthday.year,&p->birthday.month,&p->birthday.day);fscanf(fp,"%sn",p->email);head=Insert(head,p);p=(struct student *)malloc(LEN);fclose(fp);elseprintf("cannot open filen");return head;/*文件内容追加*/struct student *Add(struct student *head)head=Read(head);head=InformationInput(head);return (head);/*删除信息*/struct student *Delete(struct student *head,int findID)struct student *pre,*p;if(head->ID=findID)p=head;head=head->next;elsepre=head; p=pre->next;while(p!=NULL&&p->ID!=findID)pre=p;p=p->next;if(p->ID=findID)pre->next=p->next;free(p);return (head);/*主函数*/void main()char select,c;struct student *head;head=NULL;select=0;while(select!=0)DispMainMenu();select=getche();getch();switch(select)case0:printf("n您选择的是退出!n");_beep(300,400);continue;case1:system("cls");printf("n您选择的是信息录入!n");head=InformationInput(head);break;case2:system("cls");printf("n您选择的是信息修改!n");head=EditInformation(head);break;case3:system("cls");printf("n您选择的是信息查询!n");QueryInformation(head);break;case4:system("cls");printf("n您选择的是保存数据到文件!n");Save(head);break;case5:system("cls");printf("n您选择的是打开数据文件!n");if(head=Read(head)!=NULL)DisplayInformation(head);break;case6:system("cls");printf("n您选择的是文件追加!n");head=Add(head);break;case7:system("cls");printf("n您选择的是帮助!n");Help();break;default:printf("n选择错误!请重新选择!n");printf("请选择返回主界面或退出!n"); /选择是否继续printf("主界面:1t退出:2t"); scanf("%d",&c);while(!(c=1|c=2)printf("选择错误,请重新选择!"); printf("n主界面:1t退出:2t"); scanf("%d",&c); if(c=1) system("cls"); else system("cls"); _beep(300,400); printf("nt您已安全退出!n"); break;

    注意事项

    本文(学生信息管理计划系统(C语言知识基于链表文件).doc)为本站会员(小**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开