《学生管理系统(数据结构课程设计之完整代码)》由会员分享,可在线阅读,更多相关《学生管理系统(数据结构课程设计之完整代码)(14页珍藏版)》请在人人文库网上搜索。

1、数据结构课程设计学生信息管理系统C语言编写 仅供参考:#include#include#include#include#define LEN sizeof(LNode)typedef struct LNode/用于存放学生信息节点int stuNumber;char telenum50;int age;char chass50;char deptName50;/*char zhuanYe50;char adress50;*/char name20;struct LNode *next;LNode,*Link;/*创建链表结点*Link createLink(Link L) /初始化定义函数,声。

2、明变量void inserStu(Link L,Link Elem);/定义插入函数int count(Link L);int temp;temp=count(L);printf(节点个数为%d:n,temp);Link p;int num=1, stuNumber;char telenum50;char name20;int age;/* char deptName50;char adress50;char zhuanYe50;*/char chass50;/开始输出学生信息 while(1)printf(请输入学生的信息:学号,姓名,年龄,班级,院系,专业,家庭住址,电话号码n);prin。

3、tf(学号输入负数结束!n);printf(请输入学号%d: ,num);scanf(%10d,&stuNumber);if(stuNumber=0)p=(Link)malloc(LEN);p-stuNumber=stuNumber;strcpy(p-chass,chass); /* strcpy(p-deptName,deptName);*/p-age=age;strcpy(p-telenum,telenum);strcpy(p-name,name);/插入新结点inserStu(L,p);num+;return (L);/*打印头结点为L的学生记录*void printList(Link 。

4、L) printf(n*学号,姓名,年龄,班级,电话号码*n);printf(n 学号 姓名 年龄 专业班级 电话号码 n);int n=1;Link p=L;int count(Link L);int temp;temp=count(L);/结点个数:if(temp=0)printf(系统中没有元素n);/判断学生管理系统中有无信息else while(p-next!=NULL) printf(%2d %-9d,n,p-next-stuNumber);printf(%-8s %-5d %-12s %s n,p-next-name, p-next-age,p-next-chass,p-next。

5、-telenum/*p-next-deptName*/);/首个字符打印不出来p= p-next;n+;printf(n*n);return;/*插入学生信息*void inserStu(Link L,Link Elem) Link prior(Link L,Link p);Link p=L-next;/*%*while(p!=NULL&Elem-stuNumber=p-stuNumber)if(p-stuNumber=Elem-stuNumber)printf(重复输入学号,输入失败!);return ;p=p-next;/确定Elem的插入位置if(p=NULL)p=prior(L,p);。

6、Elem-next=NULL;p-next=Elem;/若为空表,插入到头结点之后elsep=prior(L,p);Elem-next=p-next;p-next=Elem;/*找到当前地址元素的前一元素的地址*Link prior(Link L,Link p)if(L-next=NULL)return(L);Link p_prior=L;while(p_prior-next!=p) p_prior= p_prior-next ; return (p_prior);/*8按学号查询学生信息*int searchName(Link L,char n)int flag=0;/标志要查找的学生和学生。

7、记录中的姓名是否匹配Link p=L-next;int seat=1;if(L-next=NULL|L=NULL)printf(没有学生信息n);else while(p!=NULL)if(!strcmp(p-name,n)/比较要查找的姓名是否和当前学生信息所指的姓名匹配flag=1;/输入姓名匹配printf(要查找的是第%d位学生n,seat);printf(学号是:%d 名字:%s 年龄:%d 班级:%s 手机号:%sn,p-stuNumber,p-name,p-age,p-chass,p-telenum);p=p-next ;seat+;return flag;/*按学号查找学生信息。

8、*int searchNum(Link L,int n)int flag=0;/标志要查找的学生和管理信息系统中的学号是否匹配Link p=L-next;int seat=1;if(L-next=NULL)printf(没有学生信息n);elsewhile(p!=NULL) if(p-stuNumberstuNumber=n)/比较要查找的学号是否和当前学生信息所指的学号匹配flag=1;/输入学号匹配printf(要查找的是第%d位学生n,seat);printf(学号是:%d 名字:%s 年龄:%d 班级:%s 手机号:%sn,p-stuNumber,p-name,p-age,p-chas。

9、s,p-telenum);p=p-next ;seat+;return flag;/*从通讯录中删除第i个元素*void deleteElem(Link L,int i) Link p=L;int j=0;while(p-next&jnext;j+;if(!(p-next)/判断i时候合法,i不能大于元素的个数,也不能小于等于0printf(第%d个学生删除失败n,i);return;Link q=p-next;p-next=q-next;free(q);/*按姓名删除学生信息*int deleName(Link L, char n) void deteStu(Link);int flag=0。

10、;/判断要删除的学生与系统中的姓名是否匹配Link p=L-next;int seat =1;if(L-next=NULL)printf(n删除提示:系统中没有元素,删除失败!n);deteStu( L);elsewhile(p!=NULL)if(!strcmp(p-name ,n)/比较名字是否匹配flag=1;printf(%s,p-name );p=p-next;deleteElem(L,seat);/删除第i个学生的信息elsep=p-next ;seat+;if(flag)printf(被删除了n);return flag;/*按学号删除学生信息*int deleNum(Link L。

11、,int n) void deteStu(Link);int flag=0;Link p=L-next ;int seat=1;if(L-next=NULL)printf(n删除提示:系统中没有元素,删除失败!n);deteStu( L);elsewhile(p!=NULL)if(p-stuNumber=n) flag=1;printf(%d,p-stuNumber);p=p-next;deleteElem(L,seat);break;p=p-next ;seat+;if(flag)printf(被删除了n);else printf(没有找到学生信息n);return flag;/*void 。

12、searchWay1(Link L) void searchMenu(Link L);int searchWay=0;/控制跳出循环,再次选择查询方式if(searchWay=0)printf(请输入要查询的学生的学号:n);int n,s;scanf(%d,&n);s=searchNum(L, n);if(s=0)printf(查找失败n);searchWay=1;if(searchWay=1)searchMenu( L);/*void searchWay2(Link L) void searchMenu(Link L);int searchWay=0;/控制跳出循环,再次选择查询方式if(。

13、searchWay=0)char n20;int flag;printf(请输入要查询的学生姓名n);char temp2=getchar();gets(n);flag= searchName(L,n);if(flag=0)printf(查找失败!n);searchWay=1;if(searchWay=1)searchMenu( L);/*8void searchMenu(Link L)int mainMenu();printf( * 查询菜单 * n);printf( * 1 输入学生学号查询学生信息 n);printf( * 2 输入学生姓名查询学生信息 n);printf( * 3 返回。

14、上级菜单 n);printf( * 查询菜单 * n);printf(请选择1-3: );int menu;scanf(%d,&menu);switch(menu)case 1: searchWay1(L);break;case 2: searchWay2(L);break;case 3:break;/跳回主菜单程序 /*更新学生信息模块*void alterStu(Link L)/按学号更新学生信息 int n;printf(请输入要修改的学生学号:);scanf(%d,&n);Link p=L-next;if(p=NULL)printf(学生管理系统没有学生信息!);while(p!=NU。

15、LL)/循环查找学生信息,如果找到该学号则进入循环体更改学生信息/*if(p-stuNumber=n)int num=1, stuNumber,age;char telenum50;char name20;char chass50;printf(*更改学生信息*n);printf(请输入学生的学号,姓名和电话号码n);printf(请输入学号%d: ,num);scanf(%d,&stuNumber);printf(请输入姓名%d: ,num);getchar();gets(name);printf(请输入年龄%d: ,num);scanf(%d,&age);printf(请输入班级%d: ,。

16、num);getchar();gets(chass);printf(请输入电话号码: ,num);getchar();gets(telenum);p-age=age;p-stuNumber=stuNumber;strcpy(p-telenum,telenum);strcpy(p-name,name);strcpy(p-chass,chass);/更新新结点printf(*更改学生信息完毕*n);/*p=p-next;/*保存学生信息模块*void keepStu(Link L)Link p=L-next;FILE* fp;if(fp=fopen(student.txt,r)=NULL)/打开文。

17、件,不存在此文件则新建fp=fopen(E:测试student.txt,w);fclose(fp); fp=fopen(E:测试student.txt,a);while(p!=NULL)fprintf(fp,%dt%st%sn,p-stuNumber,p-name,p-telenum);p=p-next;fclose(fp);printf(文件保存成功!n); /*统计结点个数模块*int count(Link L) int n=0;Link p=L-next;if(p=NULL)printf(不存在学生信息n);while(p!=NULL)p=p-next;n+;return n;/*导入学。

18、生信息模块*Link stuEntry() FILE* fp;Link p,q ,L;if(fp=fopen(E:测试student.txt,r)=NULL)/打开文件,不存在此文件则新建; L=q=(Link)malloc(LEN);printf(n学号 姓名 手机号 n);printf(*n);while(!feof(fp)p=(Link)malloc(LEN);fscanf(fp,%dt%st%sn,&p-stuNumber,&p-name,&p-telenum);printf(n%dt%st%sn,p-stuNumber,p-name,p-telenum);q-next=p;q=p;q。

19、-next=NULL;fclose(fp);printf(按任意键结束:);getch();/返回return L;/*添加学生信息*void AddStu(Link L) int temp;temp=count(L);printf(节点个数为%d:n,temp);if(temp=0)createLink(L);/如果没有学生信息则调用初始化函数createLink(L);/*删除学生菜单*void deteStu(Link L)int flag=0,way,n; printf(n* 删除菜单 *n);printf(n选择操作方式* 1:按学号 *n);printf( * 2:按姓名 *n);。

20、printf( * 3: 返回主菜单 *n);printf(n请输入删除方式:);scanf(%d,&way);if(way3)deteStu(L);switch (way)case 1:printf(请输入要删除的学生学号:);scanf(%d,&n);flag= deleNum(L,n);break;case 2: char n20;printf(请输入要删除的学生姓名:);char temp1=getchar();gets(n);flag=deleName(L,n);break;case 3:break;if(flag)printf(删除成功!n);deteStu(L);/*主菜单程序*。

21、int mainMenu()printf(n*欢迎使用学生管理信息系统*n);printf(* * 1 输入学生信息 * * n);printf(* * 2 显示学生信息 * * n);printf(* * 3 查询学生信息 * * n);printf(* * 4 更新学生信息 * * n);printf(* * 5 添加学生信息 * * n);printf(* * 6 删除学生信息 * * n);printf(* * 7 保存学生信息 * * n);printf(* * 8从文件导入学生信息 * * n);printf(* * 0 退出管理信息系统 * * n);printf(*欢迎使用学生。

22、管理信息系统*);int menu=0;printf(请选择0-8:);scanf(%d,&menu);if(menu8)printf(输入无效,请正确输入有效序号0-8:);scanf(%d,&menu);return menu;/*main()程序*void main()Link L=(Link)malloc(LEN);/在主函数上首先让结构体指针初始化;L-next=NULL;int flag=0;/学生信息是否建立int menu=0;/菜单选项domenu=mainMenu();switch(menu)/用于调用子菜单case 1:L=createLink(L);break;case 2:printList(L); break;case 3:searchMenu(L); break;case 4:alterStu(L) ;break;case 5:createLink(L);break;case 6:deteStu( L); break;case 7:keepStu( L); break;case 8:L=stuEntry();break;case 0:return;while(1);。

c语言学生管理系统结点,学生管理系统(数据结构课程设计之完整代码)相关推荐

  1. c语言程序设计报告表达式求值,数据结构 课程设计表达式求值 实验报告

    <数据结构 课程设计表达式求值 实验报告>由会员分享,可在线阅读,更多相关<数据结构 课程设计表达式求值 实验报告(21页珍藏版)>请在人人文库网上搜索. 1.实验课程名称 级 ...

  2. c语言超市选址问题实验报告,数据结构课程设计-超市选址问题.doc

    数据结构 课程设计报告 设计题目:学校超市选址问题 专 业 计算机科学与技术 班 级 10计本2班 学 生 朱冬 学 号 联系方式 年 学期 问题描述 对于某一学校超市,其他各单位到其的距离不同,同时 ...

  3. 图的操作和应用之景区信息管理系统(数据结构课程设计)

    0001:图的操作和应用之景区信息管理系统(C++版数据结构课程设计) 现有一个景区,景区里面有若干个景点,景点之间满足以下条件: (1) 某些景点之间铺设了道路(相邻) (2) 这些道路都是可以双向 ...

  4. 数据结构课程设计论文--学生信息管理系统

    数据结构课程设计论文--学生信息管理系统 1.学生成绩分析问题 (1)问题描述.录入并保存一个班级学生多门课程的成绩,并对成绩进行分析. (2)基本要求.a)通过键盘输入各学生的多门课程的成绩,建立相 ...

  5. 数据结构课程设计—同学录管理系统(c语言)

    数据结构课程设计-同学录管理系统(c语言) 文章目录 前言 一.需求分析 二.总体设计 三.代码实现 四.代码说明 前言 计算机相关专业在学习数据结构这门课程时会有课程设计,我被分配到的是同学录管理系 ...

  6. python通讯录管理系统设计_数据结构课程设计-通讯录管理系统(C语言版)

    ##数据结构课程设计-通讯录管理系统 一,前言 自从上次C语言课设写完后,这次数据结构课设就写的游刃有余了,很快啊,不足三天就写完了它(年轻人不讲武德),如果你认真看过我之前写的C语言课程设计-球队管 ...

  7. c语言数据结构课程设计停车场管理系统,数据结构课程设计报告停车场管理系统...

    <数据结构课程设计报告停车场管理系统>由会员分享,可在线阅读,更多相关<数据结构课程设计报告停车场管理系统(8页珍藏版)>请在人人文库网上搜索. 1.数据结构课程设计报告系 别 ...

  8. 学生搭配问题数据结构报告c语言,数据结构课程设计_学生搭配问题.doc

    数据结构课程设计_学生搭配问题 数据结构课程设计 题 目: 学生搭配问题 学 院: 班 级: 学 生 姓 名: 学 生 学 号: 指 导 教 师: 2012 年 12 月 3 日 课程设计任务书 姓名 ...

  9. c语言二叉树族谱管理系统,数据结构课程设计报告(用二叉树实现家谱管理系统).doc...

    数据结构课程设计 题目:用二叉树实现家谱管理系统 姓名:郭志超 学号:031010151554042 完成日期:2005.7.3 一.需求分析 ??建立输入文件以存放最初家谱中各成员的信息. ??成员 ...

最新文章

  1. 最近在招标中评审出一个政府信息化软件
  2. 2018-4-8使用兔子的例子对比说明遗传算法,局部搜索,禁忌搜索,模拟退火方法
  3. 剑指Offer_08_跳台阶
  4. 计算机二级循环储存,【日常干货】计算机二级基础知识(第三期)
  5. 学生成绩管理系统java+mysql+swing入门级项目开发
  6. 3009基于二叉链表的二叉树结点个数的统计(附思路)
  7. 移动端tap或touch类型事件的点透问题认识
  8. 生活随记 - 2020国庆第四天
  9. WebStorm:常用插件(全部实用)包含主题、界面、开发效率等
  10. 【Mimics】基于心脏ct影像重建3d模型 孔洞修复平滑处理 及 合并导出
  11. VGA不同分辨率下的行列值(转)
  12. Charles破解安装
  13. python 爬取图片、没有后缀名_python爬虫,图片是无格式的
  14. WIN10 x64搭建OLLVM4.0 android NDK 编译环境跨坑指南
  15. Natural Sea Beauty以色列护肤品NSB外星人面膜,为肌肤赋予能量
  16. 双节本世纪仅有三次,特送福利!
  17. 如何修改C盘用户文件夹下的用户名
  18. copy.deepcopy()函数深复制
  19. (一)ArcMap基础——ArcMap的窗口组成
  20. 示例-AT示例-阿里云

热门文章

  1. 智慧营区管理系统软件:提供智慧营区一体化平台解决方案
  2. java打字游戏_Java打字游戏
  3. cocos2d-iphone之魔塔20层完结篇
  4. 基于HDF的LED驱动程序开发(1)
  5. 精通 正则表达式 看这一篇就够了
  6. VS 2005中文版用户请谨慎使用我提供的Atlas Xml Scripts Intellisense方法
  7. 仿钉钉时事通讯IM客户端
  8. U盘安装系统教程 如何用U盘装系统
  9. 基于chromium浏览器加载ActiveX实践四扩展
  10. MYSEE正式宣布启动OpenMysee