c语言课程设计程序电子版本.doc

上传人:1595****071 文档编号:51510689 上传时间:2022-10-18 格式:DOC 页数:24 大小:419.50KB
返回 下载 相关 举报
c语言课程设计程序电子版本.doc_第1页
第1页 / 共24页
c语言课程设计程序电子版本.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《c语言课程设计程序电子版本.doc》由会员分享,可在线阅读,更多相关《c语言课程设计程序电子版本.doc(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Good is good, but better carries it.精益求精,善益求善。c语言课程设计程序-#include#include#includestructs/定义一个s的结构体charnum12;charname15;charsex15;charbirthday15;charaddress10;charposition10;charmoney10;typedefstructnode/声明了一个structnode类型structsdata;structnode*next;/定义1个structnode类型的指针,它可以指向相应类型的变量。Node;voidAdd(Node*s

2、tudent)/自定义函数Node*p,*r,*s;charn12;r=student;s=student-next;while(r-next!=NULL)/这个循环的作用是使r为最后一个结点r=r-next;/将指针置于最末尾while(1)printf(*输入0返回主菜单!n);printf(n请你输入学号号:);scanf(%s,n);if(strcmp(n,0)=0)break;p=(Node*)malloc(sizeof(Node);/申请sizeof(Node)大小的空间printf(n请输入姓名:);scanf(%s,&p-data.name);printf(n请输入性别:);s

3、canf(%s,&p-data.sex);printf(n请输入出生年月:);scanf(%s,&p-data.birthday);printf(n请输入籍贯:);scanf(%s,&p-data.address);printf(n请输入政治面貌:);scanf(%s,&p-data.position);printf(n请输入家庭收入:);scanf(%s,&p-data.money);printf(提示:已经完成一条记录的添加。n);p-next=NULL;r-next=p;r=p;voidchange(Node*student)Node*p;charfind20;if(!student-n

4、ext)printf(n*没有资料可以修改!n);fflush(stdin);getchar();return;printf(请输入要修改的学号:);scanf(%s,find);p=student-next;while(p!=NULL)if(strcmp(p-data.num,find)=0)break;p=p-next;if(p!=NULL)intx;while(1)printf(完成修改请输入0n输入任意数再进行修改:);scanf(%d,&x);if(x=0)break;printf(请输入新学号(原来是%s):,p-data.num);scanf(%s,p-data.num);pri

5、ntf(请输入新学生姓名(原来是%s):,p-data.name);scanf(%s,p-data.name);printf(请输入新学生性别(原来是%s):,p-data.sex);scanf(%s,p-data.sex);printf(请输入新出生年月(原来是%s):,p-data.birthday);scanf(%s,p-data.birthday);printf(请输入新学生籍贯(原来是%s):,p-data.address);scanf(%s,p-data.address);printf(请输入新政治面貌(原来是%s):,p-data.position);scanf(%s,p-dat

6、a.position);printf(请输入新家庭收入(原来是%s):,p-data.money);scanf(%s,p-data.money);printf(n*该项记录资料已经成功修改!n);fflush(stdin);getchar();elseprintf(n*你要修改的信息不存在!n);fflush(stdin);getchar();voidDisp(Node*student)Node*p;p=student-next;if(!p)printf(n*没有记录可以显示!n);getchar();return;printf(tttt显示结果n);printf(学号学生姓名性别学生生日学生

7、籍贯政治面貌家庭收入n);while(p)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,p-data.name,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-data.money);p=p-next;getchar();getchar();voidTongji(Node*student)Node*p;intsel;intflag2=0,ha=0;charfind20;p=student-next;if(!student-next)printf(n*资料数为零!

8、n);getchar();return;printf(*n*0退出n*1按学号统计n*2按学生姓名统计n);scanf(%d,&sel);if(sel=1)printf(n输入你要统计分类的学号:);scanf(%s,find);while(p)if(strcmp(p-data.num,find)=0)flag2+;if(flag2=1&ha!=flag2)printf(学号学生姓名学生性别学生生日学生籍贯政治面貌家庭收入n);printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,p-data.name,p-data.sex,p-data.

9、birthday,p-data.address,p-data.position,p-data.money);ha=flag2;elseif(flag2ha)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,p-data.name,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-data.money);ha=flag2;p=p-next;if(flag2)printf(n*按学生号%s统计分类的有%d条记录:*nn,find,flag2);elseprintf(n按学

10、号%s统计的结果为0个nn,find);elseif(sel=2)printf(n输入你要统计分类的学姓名:);scanf(%s,find);while(p)if(strcmp(p-data.name,find)=0)flag2+;if(flag2=1&ha!=flag2)printf(学号学生姓名学生性别学生生日政治面貌政治面貌家庭收入n);printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,p-data.name,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-d

11、ata.money);ha=flag2;elseif(flag2ha)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.num,p-data.name,p-data.sex,p-data.birthday,p-data.address,p-data.position,p-data.money);ha=flag2;p=p-next;if(flag2)printf(nnn共查找到%d条记录:nn,flag2);elseprintf(n按学生姓名%s统计分类的结果为0个nn,find);elseif(sel=0)return;fflush(stdin

12、);getchar();voidsave(Node*student)intn;Node*p;FILE*fp;/定义指向FILE类型文件的指针变量printf(需要保存文件吗?(按1保存,按0不保存));scanf(%d,&n);if(n=1)if(student-next=NULL)printf(无记录);elsep=student-next;if(fp=fopen(学生信息.txt,wb)=NULL)/打开输出文件,并使fp指向此文件printf(无法打开文件n);while(p!=NULL)fprintf(fp,%s%s%s%s%s%s%s,&p-data.num,&p-data.name

13、,&p-data.sex,&p-data.birthday,&p-data.address,&p-data.position,&p-data.money);p=p-next;fclose(fp);/关闭文件fflush(stdin);getchar();voiddismiss(Node*student)Node*p,*r;charfind20;if(!student-next)printf(n*没有资料可以显示!n);fflush(stdin);getchar();return;printf(n*请输入您要删除的学号!n);scanf(%s,find);p=student-next;while

14、(p!=NULL)if(strcmp(p-data.num,find)=0)break;p=p-next;if(!p)printf(n*找不到您想删除的学号!n);elser=student;while(r-next!=p)r=r-next;r-next=r-next-next;/删除节点getchar();voidmain()inta;Node*student;Node*p;student=(Node*)malloc(sizeof(Node);/通过malloc申请sizeof(Node)大小的一段连续内存空间,student-next=NULL;/指向的下一个结点p=student;whi

15、le(1)printf(n);printf(tttt学生信息管理系统n);printf(nt*);printf(nt1、添加记录n);printf(nt2、修改记录n);printf(nt3、浏览记录n);printf(nt4、分类查找记录n);printf(nt5、删除记录n);printf(nt0、退出n);printf(nn输入序号:);scanf(%d,&a);switch(a)/选择结构case0:return;break;case1:Add(student);save(student);break;case2:change(student);break;case3:Disp(student);break;case4:Tongji(student);break;case5:dismiss(student);break;default:printf(n*输入错误!n);break;system(cls);fflush(stdin);getchar();-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com