ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:352.82KB ,
资源ID:1345314      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1345314.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生信息管理系统程序.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生信息管理系统程序.docx

1、学生信息管理系统程序C语言上机实践报告专 业:冶金工程班 级:冶金1102姓 名: 学 号:任课教师: 丽华 时间:2012年8月一、题目 学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:a)系统以菜单方式工作b)学生信息录入功能(学生信息用文件保存)-输入c)学生信息浏览功能-输出d)查询、排序功能-算法(1) 按学号查询(2) 按姓名查询e)学生信息的删除与修改(可选项)一、系统功能模块结构图二、数据结构设计及用法说明#includestdio.h#includestdlib.h#includestri

2、ng.h/*定义结构体用作创建链表*/typedef struct z1 char no11; /学生学号 char name15; /学生姓名 int age; /学生年龄 char sex; /学生性别 char birthday8; /学生出生年月 char address20; /学生住址 char tel12; /学生联系 char e_mail20; /学生e-mail struct z1 *next; /指向下一链表STUDENT;/*声明用户自定义函数*/STUDENT *init();STUDENT *create();STUDENT *del(STUDENT *h);STU

3、DENT *insert(STUDENT *h);STUDENT *revise(STUDENT *h);void print(STUDENT *h);void search1(STUDENT *h);void search2(STUDENT *h);void save(STUDENT *h);int menu_select();void inputs(char *prompt,char *s,int count);/*主函数,用于选择功能*/void main() STUDENT *head; head=init(); /初始化链表表头 for(;) switch(menu_select()

4、 case 0:head=init();break; /初始化 case 1:head=create();break; /创建列表 case 2:head=insert(head);break; /插入节点 case 3:save(head);break; /以文件形式保存 case 4:print(head);break; /显示 case 5:search1(head);break; /搜索学号 case 6:search2(head);break; /搜索姓名 case 7:head=del(head);break; /删除 case 8:head=revise(head);break;

5、 /修改 case 9:exit(0); /退出程序 /*目录选择函数,返回用户输入的数字*/int menu_select() char *menu=*菜单*, 0. 初始化链表, 1. 输入学生信息, 2. 插入学生信息, 3. 保存学生信息, 4. 显示学生信息, 5. 按学号查找学生信息, 6. 按姓名查找学生信息, 7. 删除指定学号的学生信息, 8. 修改指定学号的学生信息, 9. 退出系统; int c,i; for(i=0;i=11;i+) printf( %sn,menui); do printf(n请选择09中的某一个选项:n); scanf(%d,&c); while(c

6、10); return c;/*初始化函数,作用是返回空指针初始化链表*/STUDENT *init() return NULL;/*创建函数,输入学生信息*/STUDENT *create() STUDENT *h=NULL,*info; for(;) info=(STUDENT *)malloc(sizeof(STUDENT); if(!info) printf(n存不足); return NULL; inputs(输入学号:,info-no,11); if(info-no0=)break; inputs(输入姓名:,info-name,15); printf(输入年龄:); scanf(

7、%d,&info-age); printf(输入性别编号(0.男 1.女):); scanf(%s,&info-sex); printf(输入出生年月(XXXX/XX):); scanf(%s,info-birthday); inputs(输入地址:,info-address,20); inputs(输入:,info-tel,12); inputs(输入E-mail:,info-e_mail,20); info-next=h; h=info; return h;/*输入函数,用于判断输入的字符是否超出程序定义避免数据溢出*/void inputs(char *prompt,char *s,in

8、t count) char p255; do printf(prompt); scanf(%s,p); if(strlen(p)count) printf(n太长了!n); while(strlen(p)count); strcpy(s,p);/*插入函数,插入学生成绩*/STUDENT *insert(STUDENT *h) STUDENT *p,*q,*info; char s11; printf(请输入插入点的学生学号n); scanf(%s,s); printf(n请输入新的学生信息n); info=(STUDENT *)malloc(sizeof(STUDENT); inputs(输

9、入学号:,info-no,11); inputs(输入姓名:,info-name,15); printf(输入年龄:); scanf(%d,&info-age); printf(输入性别编号(0.男 1.女):); scanf(%s,&info-sex); printf(输入出生年月(XXXX/XX):); scanf(%s,info-birthday); inputs(输入地址:,info-address,20); inputs(输入:,info-tel,12); inputs(输入E-mail:,info-e_mail,20); info-next=NULL; p=h; q=h; whil

10、e(strcmp(p-no,s)&p!=NULL) q=p; p=p-next; if(p=NULL) if(p=h) h=info; else q-next=info; else if(p=h) info-next=p; h=info; else info-next=p; q-next=info; printf(n已经插入了%s这个学生n,info-name); return(h);/*保存函数,以文件的形式保存学生信息*/void save(STUDENT *h) FILE *fp; STUDENT *p; char outfile50; printf(请输入保存文件的文件名,例如 c:f

11、1te.txt:n); scanf(%s,outfile); if(fp=fopen(outfile,wb)=NULL) printf(不能打开文件n); exit(1); printf(n正在保存.n); p=h; while(p!=NULL) fwrite(p,sizeof(STUDENT),1,fp); p=p-next; fclose(fp); printf(-保存成功-n);/*显示函数,显示学生信息*/void print(STUDENT *h) int i=0; STUDENT *p; p=h; printf(nnn*学生*n); printf(|学号 | 姓名 |年龄|性别|出

12、生年月| 地址 | | E-mail |n); printf(|-|-|-|-|-|-|-|-|n); while(p!=NULL) i+; printf(|%-8s|%-8s|%4d|%4c|%8s|%14s|%11s|%13s|n,p-no,p-name,p-age,p-sex,p-birthday,p-address,p-tel,p-e_mail); p=p-next; printf(*end*n);/*搜索函数,按学号搜索学生信息并显示*/void search1(STUDENT *h) STUDENT *p; char s11; printf(请输入你要查找的同学的学号n); scanf(%s,s); p=h; while(strcmp(p-no,s)&p!=NULL) p=p-next; if(p=NULL) printf(n没有学号为%s的学生n,s); else printf(nnn*找到了*n); printf(|学号 | 姓名 |年龄|性别|出生年月| 地址 | | E-mail |n); printf(|-|-|-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1