当前位置: 首页 > news >正文

免费1级做爰片在线观看 历史网站android下载安装官方免费下载

免费1级做爰片在线观看 历史网站,android下载安装官方免费下载,核桃少儿编程加盟,网站中加入企业qq最近在复习数据结构,早上刚复习完链表#xff0c;就想到了学生信息管理系统这个经典的大作业,然后呢#xff0c;花了一早上加一中午的功夫给重新实现了一遍#xff0c;里面可能会有写的不好的地方#xff0c;但也代表了我实现的一些想法#xff0c;在这里我将分享出来。我… 最近在复习数据结构,早上刚复习完链表就想到了学生信息管理系统这个经典的大作业,然后呢花了一早上加一中午的功夫给重新实现了一遍里面可能会有写的不好的地方但也代表了我实现的一些想法在这里我将分享出来。我是在Ubuntu上用vim写的当然了这些代码window下也可以运行。文章最后有完整代码。一 实现功能1、查看学生信息 2、添加学生信息。3、删除学生信息 4、修改学生信息 5、保存学生信息到文件 6、刷新学生信息从文件中恢复学生信息 0、退出系统 二 表示学生的数据结构struct 三 实现菜单void meum() {printf(n ***************************** n);printf( 学生信息管理系统 n);printf( ***************************** n);printf( 系统菜单功能 n);printf( ***************************** n);printf( 1.查看学生信息 n);printf( 2.添加学生信息 n);printf( 3.删除学生信息 n);printf( 4.修改学生信息 n);printf( 5.保存学生信息 n);printf( 6.刷新学生信息 n);printf( 0.退出系统 n); } 四 实现增加学生的功能void creat_node(LinkList *L) {char name;LinkList *nodeNULL;LinkList *tempL-next; //作为链表连接的中间点node(LinkList *)malloc(sizeof(LinkList)); //分配内存if(nodeNULL){printf(分配普通节点内存出错!);exit(1);}memset(node,0,sizeof(LinkList));printf(n请输入学生序号:);scanf(%d,node-data.number);printf(n请输入学生名:);scanf(%s,node-data.name);printf(n请输入学生成绩:);scanf(%d,node-data.score);printf(n请输入学生年龄:);scanf(%d,node-data.age);L-nextnode; node-nexttemp; } 五 显示学生信息void show_student(LinkList *L) {LinkList *pL-next;int i0;printf(n ************************** n);printf( 学生信息 n);printf( ************************** n);printf( 序号 姓名 成绩 年龄 n);while(p){printf( %d %s %d %d n,p-data.number,p-data.name,p-data.score,p-data.age);i; pp-next;} } 六 删除学生可以选择1、按序号删除。2、按姓名删除。void delete_student(LinkList *L) {int x0;int number;char name[10];LinkList *temp,*pre;tempL-next;while(1){printf(n 请选择:);printf(n 1.按序号删除!);printf(n 2.按姓名删除!);printf(n 请输入选择:);scanf(%d,x);if(x1 || x2)break;else printf(n 输入错误,请重新输入!);}if(x1) //根据输入的序号找到学生并删除{printf(n 请输入要删除的学生序号:);scanf(%d,number);while(temp-data.number!number temp-next!NULL){pretemp;temptemp-next;}if(temp-data.numbernumber){pre-nexttemp-next;free(temp);}else{printf(n 没有所要删除的学生序号!);}}else if(x2) //根据输入的姓名找到学生并删除{printf(n 请输入要删除的学生名字:);scanf(%s,name);while(strcmp(temp-data.name,name)!0 temp-next!NULL){pretemp;temptemp-next;}if(strcmp(temp-data.name,name)0){pre-nexttemp-next;free(temp);}else{printf(n 没有要删除的学生姓名!);}} } 七 修改学生信息首先找到学生然后对找到的学生信息进行修改。可以选择按序号和按姓名来找学生。找到学生后可以选择修改学生的任意一项信息。void modify_student(LinkList *L) {int x0;int number;char name[10];LinkList *temp;tempL-next;while(1){printf(n 请选择:);printf(n 1.知道要修改学生的序号!);printf(n 2.知道要修改学生的名字!); printf(n 请输入选择:);scanf(%d,x);if(x1 || x2)break;elseprintf(n 输入错误,请重新输入!);}if(x1){printf(n 请输入要修改学生的序号:);scanf(%d,number);while(temp-data.number!number temp-next!NULL){temptemp-next;}if(temp-data.numbernumber){printf(n 已经找到要修改学生的信息!);}else{printf(n 没有要修改学生的序号!);}}else if(x2){printf(n 请输入要修改学生的名字:);scanf(%s,name);while(strcmp(temp-data.name,name)!0 temp-next!NULL){temptemp-next;}if(strcmp(temp-data.name,name)0){printf(n 已经找到要修改学生的信息!);}else{printf(n 没有要修改学生的姓名!);}}printf(n ************************);printf(n 姓名:%s 序号:%d 成绩:%d 年龄:%d,temp-data.name,temp-data.number,temp-data.score,temp-data.age);do{printf(n 请选择:);printf(n 1.修改序号!);printf(n 2.修改名字!);printf(n 3.修改成绩!);printf(n 4.修改年龄!);printf(n 请输入选择:);scanf(%d,x);}while(x1 || x4);if(x1){printf(n 请输入修改后的序号:);scanf(%d,temp-data.number);}if(x2){printf(n 请输入修改后的名字:);scanf(%s,temp-data.name);}if(x3){printf(n 请输入修改后的成绩:);scanf(%d,temp-data.score);}if(x4){printf(n 请输入修改后的年龄:);scanf(%d,temp-data.age);}} 八 保存到文件void save(LinkList *L) {FILE *fp;int i0;LinkList *temp; tempL-next;if((fpfopen(student.txt,a))NULL){printf(n 无法打开文件!);exit(1);} while(temp!NULL){i;fprintf(fp,%d %s %d %d n,temp-data.number,temp-data.name,temp-data.score,temp-data.age);printf(n 第%d个已经保存!,i);temptemp-next;}fclose(fp); } 九 从文件中恢复void refresh(LinkList *L) {FILE *fp;LinkList *nodeNULL; LinkList *tempL-next;node(LinkList *)malloc(sizeof(LinkList));if(nodeNULL){printf(分配普通节点内存出错!);exit(1);}memset(node,0,sizeof(LinkList)); fpfopen(student.txt,r);if(fpNULL){printf(n 无法打开文件!);exit(1);}while(!feof(fp)){fscanf(fp,%d %s %d %d,node-data.number,node-data.name,node-data.score,node-data.age);L-nextnode;node-nexttemp;tempnode;node(LinkList *)malloc(sizeof(LinkList));if(nodeNULL){printf(分配普通节点内存出错!);exit(1);}memset(node,0,sizeof(LinkList));} printf(n 已经成功刷新学生信息!); } 十 主函数主函数中先创建一个头节点不保存学生信息便于操作空链表然后进入主菜单功能选择模块被我独立成一个函数代码在主函数后面。void main() { int i;LinkList *LNULL;L(LinkList *)malloc(sizeof(LinkList));if(LNULL){ printf(分配头节点内存出错!);exit(1);}memset(L,0,sizeof(LinkList));L-nextNULL;int stop1;while(1){ meum();choice(stop,L);if(stop0)break;printf(n 下一步操作:);printf(n 1.返回主界面);printf(n 2.退出系统);printf(n 请输入操作:);scanf(%d,i);if(i2)break;} } void choice(int *stop,LinkList *L) {int num;printf(nn 请输入菜单选项:);scanf(%d,num);switch (num){case 0: *stop0; break;case 1: show_student(L); break;case 2: creat_node(L); break;case 3: delete_student(L); break;case 4: modify_student(L); break;case 5: save(L); break;case 6: refresh(L); break;default: printf( 请在0-6中间选择n);} } 十一 优化建议上面有一些写法可以进行优化的但是因为这只是一个小项目没必要分那么多函数分了引用次数也十分有限并且这样更符合我的思路一功能一模块就没有进行优化。可以优化的如下1、将有复用的代码段独立写成函数减少代码函数例如选择和分配节点空间那里独立成函数。2、将部分较长的函数进行功能分割便于阅读。十二 扩展建议一、增加排序功能。二、增加代码修改后写回文件时的检验是否修改的功能。三、扩展界面。十四 全部代码#includestdio.h #includestdlib.h #includestring.hstruct student { char name[10];int score;int number;int age; }; struct LNode { struct student data;struct LNode *next; }; typedef struct LNode LinkList;void meum(); void choice(int *stop,LinkList *L); void creat_node(LinkList *L); void show_student(LinkList *L); void delete_student(LinkList *L); void modify_student(LinkList *L); void save(LinkList *L); void refresh(LinkList *L);void main() { int i;LinkList *LNULL;L(LinkList *)malloc(sizeof(LinkList));if(LNULL){ printf(分配头节点内存出错!);exit(1);}memset(L,0,sizeof(LinkList));L-nextNULL;int stop1;while(1){ meum();choice(stop,L);if(stop0)break;printf(n 下一步操作:);printf(n 1.返回主界面);printf(n 2.退出系统);printf(n 请输入操作:);scanf(%d,i);if(i2)break;} }void choice(int *stop,LinkList *L) {int num;printf(nn 请输入菜单选项:);scanf(%d,num);switch (num){case 0: *stop0; break;case 1: show_student(L); break;case 2: creat_node(L); break;case 3: delete_student(L); break;case 4: modify_student(L); break;case 5: save(L); break;case 6: refresh(L); break;default: printf( 请在0-6中间选择n);} }void meum() {printf(n ***************************** n);printf( 学生信息管理系统 n);printf( ***************************** n);printf( 系统菜单功能 n);printf( ***************************** n);printf( 1.查看学生信息 n);printf( 2.添加学生信息 n);printf( 3.删除学生信息 n);printf( 4.修改学生信息 n);printf( 5.保存学生信息 n);printf( 6.刷新学生信息 n);printf( 0.退出系统 n); }void creat_node(LinkList *L) {char name;LinkList *nodeNULL;LinkList *tempL-next; //作为链表连接的中间点node(LinkList *)malloc(sizeof(LinkList)); //分配内存if(nodeNULL){printf(分配普通节点内存出错!);exit(1);}memset(node,0,sizeof(LinkList));printf(n请输入学生序号:);scanf(%d,node-data.number);printf(n请输入学生名:);scanf(%s,node-data.name);printf(n请输入学生成绩:);scanf(%d,node-data.score);printf(n请输入学生年龄:);scanf(%d,node-data.age);L-nextnode; node-nexttemp; }void show_student(LinkList *L) {LinkList *pL-next;int i0;printf(n ************************** n);printf( 学生信息 n);printf( ************************** n);printf( 序号 姓名 成绩 年龄 n);while(p){printf( %d %s %d %d n,p-data.number,p-data.name,p-data.score,p-data.age);i; pp-next;} }void delete_student(LinkList *L) {int x0;int number;char name[10];LinkList *temp,*pre;tempL-next;while(1){printf(n 请选择:);printf(n 1.按序号删除!);printf(n 2.按姓名删除!);printf(n 请输入选择:);scanf(%d,x);if(x1 || x2)break;else printf(n 输入错误,请重新输入!);}if(x1) //根据输入的序号找到学生并删除{printf(n 请输入要删除的学生序号:);scanf(%d,number);while(temp-data.number!number temp-next!NULL){pretemp;temptemp-next;}if(temp-data.numbernumber){pre-nexttemp-next;free(temp);}else{printf(n 没有所要删除的学生序号!);}}else if(x2) //根据输入的姓名找到学生并删除{printf(n 请输入要删除的学生名字:);scanf(%s,name);while(strcmp(temp-data.name,name)!0 temp-next!NULL){pretemp;temptemp-next;}if(strcmp(temp-data.name,name)0){pre-nexttemp-next;free(temp);}else{printf(n 没有要删除的学生姓名!);}} }void modify_student(LinkList *L) {int x0;int number;char name[10];LinkList *temp;tempL-next;while(1){printf(n 请选择:);printf(n 1.知道要修改学生的序号!);printf(n 2.知道要修改学生的名字!); printf(n 请输入选择:);scanf(%d,x);if(x1 || x2)break;elseprintf(n 输入错误,请重新输入!);}if(x1){printf(n 请输入要修改学生的序号:);scanf(%d,number);while(temp-data.number!number temp-next!NULL){temptemp-next;}if(temp-data.numbernumber){printf(n 已经找到要修改学生的信息!);}else{printf(n 没有要修改学生的序号!);}}else if(x2){printf(n 请输入要修改学生的名字:);scanf(%s,name);while(strcmp(temp-data.name,name)!0 temp-next!NULL){temptemp-next;}if(strcmp(temp-data.name,name)0){printf(n 已经找到要修改学生的信息!);}else{printf(n 没有要修改学生的姓名!);}}printf(n ************************);printf(n 姓名:%s 序号:%d 成绩:%d 年龄:%d,temp-data.name,temp-data.number,temp-data.score,temp-data.age);do{printf(n 请选择:);printf(n 1.修改序号!);printf(n 2.修改名字!);printf(n 3.修改成绩!);printf(n 4.修改年龄!);printf(n 请输入选择:);scanf(%d,x);}while(x1 || x4);if(x1){printf(n 请输入修改后的序号:);scanf(%d,temp-data.number);}if(x2){printf(n 请输入修改后的名字:);scanf(%s,temp-data.name);}if(x3){printf(n 请输入修改后的成绩:);scanf(%d,temp-data.score);}if(x4){printf(n 请输入修改后的年龄:);scanf(%d,temp-data.age);}}void save(LinkList *L) {FILE *fp;int i0;LinkList *temp; tempL-next;if((fpfopen(student.txt,a))NULL){printf(n 无法打开文件!);exit(1);} while(temp!NULL){i;fprintf(fp,%d %s %d %d n,temp-data.number,temp-data.name,temp-data.score,temp-data.age);printf(n 第%d个已经保存!,i);temptemp-next;}fclose(fp); }void refresh(LinkList *L) {FILE *fp;LinkList *nodeNULL; LinkList *tempL-next;node(LinkList *)malloc(sizeof(LinkList));if(nodeNULL){printf(分配普通节点内存出错!);exit(1);}memset(node,0,sizeof(LinkList)); fpfopen(student.txt,r);if(fpNULL){printf(n 无法打开文件!);exit(1);}while(!feof(fp)){fscanf(fp,%d %s %d %d,node-data.number,node-data.name,node-data.score,node-data.age);L-nextnode;node-nexttemp;tempnode;node(LinkList *)malloc(sizeof(LinkList));if(nodeNULL){printf(分配普通节点内存出错!);exit(1);}memset(node,0,sizeof(LinkList));} printf(n 已经成功刷新学生信息!); }
http://www.pierceye.com/news/560527/

相关文章:

  • 免费网站建设合同书山西网站建设企业
  • 网站建设空间什么意思学做网站什么语言合适
  • 网站开发的形式有( )友情链接英文
  • 帝国网站管理系统前台免费photoshop下载
  • 深圳一百讯网站建设wordpress汉化包
  • 建设一个班级网站的具体步骤自己的网站源代码一片空白
  • 初创公司 建网站wordpress 模板获取数据库
  • 怎么在网站做推广不要钱六安网约车平台
  • 申晨推荐的营销网站做卖挖掘机的网站
  • 网站广告牌制作教程来几个好看的网站
  • php企业网站源码蓝色印度喜欢用什么框架做外贸网站
  • 网站建设教程最新资讯wordpress说说伪静态
  • 长春建站程序网络营销推广方法脑24金手指效率高
  • 专门做房地产设计的图片网站在安徽省住房和城乡建设厅网站
  • 怎样制作图片网站广告制作公司电话
  • 电子商城网站开发教程湖北网站建设路
  • 广告公司网站模版快速seo关键词优化技巧
  • whois哪个网站好WordPress判断文章形式
  • 昆明网站建设排名网站推广营销策划方案
  • 深圳网站建设中心手机端网站搭建
  • 提取卡密网站怎么做怎么更换网站的域名
  • 网站开发接单网站站内推广方案
  • 网站建设网站建什么网站做二手货车
  • 如何做淘宝客的网站网站建设 源代码
  • 建设部网站 造价全世界足球排名前十位
  • 有机农产品网站开发方案新闻资讯平台有哪些
  • wap网站建设哪家好酒店网络推广怎么做
  • 专业做电脑系统下载网站聚名网域名怎么备案
  • 赚钱的网站做任务南通优化网站价格
  • 个人能进行网站开发孟村网 网站