




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编程中国 - C语言版学生管理系统,作者:没牙的狼| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 | 您现在的位置: 编程中国 技术教程 开发语言 C语言 C技术资料 正文 C语言版学生管理系统,作者:没牙的狼C语言版学生管理系统,作者:没牙的狼作者:没牙的狼 阅读人次: 文章来源:本站原创 发布时间:2007-3-18 网友评论()条原帖及讨论:/dispbbs.asp?BoardID=5&ID=120391自己写的小东西,虽然网上有很多了,只为练练手,我有很多不足,希望大家多多指点,赐教.#include#include#include/*定义学生结构体*/typedef struct Link int number; char name10; char sex4; int Chinese; int English; int Match; float average; struct Link *next;Student;int amount=0;/记录学生个数/*/*初始化学生表*/Student *InitStudent() Student *Q; Q=(Student*)malloc(sizeof(Student); if(Q!=NULL) Q-next=NULL; return Q; else return NULL;/*/*创建学生数据表*/int CreatStudent(Student *Q) int flag,n; Student *s; n=0; while(flag) s=(Student*)malloc(sizeof(Student); if(s=NULL) printf(创建失败!); return 0; printf(请输入学号(输入0退回上一步):); scanf(%d,&s-number); if(s-number=0) goto endp; if(n=s-number) printf(输入学号已存在!n); goto end; while(s-numbernumber); printf(请输入姓名:); scanf(%s,s-name); printf(请输入性别m/w:); scanf(%s,s-sex); printf(请输入语文成绩:); scanf(%d,&s-Chinese); while(s-Chinese100|s-ChineseChinese); printf(请输入数学成绩:); scanf(%d,&s-Match); while(s-Match100|s-MatchMatch); printf(请输入英语成绩:); scanf(%d,&s-English); while(s-English100|s-EnglishEnglish); s-average=(s-Chinese+s-English+s-Match)/3; n=s-number; s-next=Q-next; Q-next=s; amount+;end: printf(是否继续输入数据:1/0n); scanf(%d,&flag); endp:printf(创建完毕!n); printf(输入了%d个学生,amount); return 1;/*/*查找学生数据,以学号为前提*/Student *FindStudent(Student *Q,int x) Student *q; q=Q-next; while(q!=NULL&q-number!=x) q=q-next; if(q!=NULL) return q; else return NULL;/*/*修改学生数据*/int ModifStudent(Student *Q,int x) int flag,n; Student *q; q=Q-next; while(q!=NULL&q-number!=x) q=q-next; if(q!=NULL) while(n) printf(n修改成绩科目:1.语文 2.英语 3.数学:); scanf(%d,&flag); if(flag=1) getchar(); printf(n请输入语文成绩:); scanf(%d,&q-Chinese); while(q-Chinese100|q-ChineseChinese); else if(flag=2) getchar(); printf(n请输入数学成绩:); scanf(%d,&q-Match); while(q-Match100|q-MatchMatch); else if(flag=3) getchar(); printf(n请输入英语成绩:); scanf(%d,&q-English); while(q-English100|q-EnglishEnglish); q-average=(q-Chinese+q-English+q-Match)/3; printf(n是否继续修改数据:1/0n); scanf(%d,&n); return 1; return 0;/*/*排列学生数据*/Student *Sort(Student *Q,int course) Student *p,*q,*t; int number,Chinese,English,Match,score; char name10,sex2; if(Q-next=NULL) printf(没有构造学生表!); return NULL; switch(course) case 1:for(p=Q-next;p;p=p-next) t=p; for(q=Q-next;q;q=q-next) if(t-Chinese=q-Chinese) number=t-number; Chinese=t-Chinese; English=t-English; Match=t-Match; score=t-average; t-number=q-number; t-Chinese=q-Chinese; t-English=q-English; t-Match=q-Match; t-average=q-average; q-number=number; q-Chinese=Chinese; q-English=English; q-Match=Match; q-average=score; strcpy(name,t-name); strcpy(sex,t-sex); strcpy(t-name,q-name); strcpy(t-sex,q-sex); strcpy(q-name,name); strcpy(q-sex,sex); t=q; break; case 2:for(p=Q-next;p;p=p-next) t=p; for(q=Q-next;q;q=q-next) if(t-English=q-English) number=t-number; Chinese=t-Chinese; English=t-English; Match=t-Match; score=t-average; t-number=q-number; t-Chinese=q-Chinese; t-English=q-English; t-Match=q-Match; t-average=q-average; q-number=number; q-Chinese=Chinese; q-English=English; q-Match=Match; q-average=score; strcpy(name,t-name); strcpy(sex,t-sex); strcpy(t-name,q-name); strcpy(t-sex,q-sex); strcpy(q-name,name); strcpy(q-sex,sex); t=q; break; case 3:for(p=Q-next;p;p=p-next) t=p; for(q=Q-next;q;q=q-next) if(t-Match=q-Match) number=t-number; Chinese=t-Chinese; English=t-English; Match=t-Match; score=t-average; t-number=q-number; t-Chinese=q-Chinese; t-English=q-English; t-Match=q-Match; t-average=q-average; q-number=number; q-Chinese=Chinese; q-English=English; q-Match=Match; q-average=score; strcpy(name,t-name); strcpy(sex,t-sex); strcpy(t-name,q-name); strcpy(t-sex,q-sex); strcpy(q-name,name); strcpy(q-sex,sex); t=q; break; return Q; int SaveStudent(Student *Q) int i=0; Student *p; FILE *fp; char open20; p=Q-next; printf(请输入文件路径:); scanf(%s,open); if(fp=fopen(open,w+)=NULL) printf(打开失败!); return 0; fprintf(fp,|学号t|姓名t|性别t|语文t|英语t|数学t|均分t|n); while(p!=NULL&inext; /fprintf(fp,|%dt|%st|%st|%dt|%dt|%dt|%dt|n,p-number,p-name,p-sex,p-Chinese,p-English,p-Match,p-average); fclose(fp); return 1;/*/*输出学生成绩*/void print(Student *Q) Student *p; p=Q; if(Q-next=NULL) printf(没有学生资料!); else printf(结果为:n); while(p-next!=NULL) p=p-next; printf(|学号t|姓名t|性别t|语文t|英语t|数学t|均分t|n); printf(|%dt|%st|%st|%dt|%dt|%dt|%0.2ft|n,p-number,p-name,p-sex,p-Chinese,p-English,p-Match,p-average); /*/*/void LoadStudent() int flag=1; char FileName20; Student *p; FILE *fp; printf(请输入调出文件的路径:); scanf(%s,FileName20); if(fp=fopen(FileName,r+)!=NULL) fscanf(fp,|学号t|姓名t|性别t|语文t|英语t|数学t|均分t|n); printf(|学号t|姓名t|性别t|语文t|英语t|数学t|均分t|n); while(flag) p=(Student*)malloc(sizeof(Student); fscanf(fp,%d%s%s%d%d%d%d,&p-number,p-name,p-sex,&p-Chinese,&p-English,&p-Match,&p-average); if(p-number=NULL) flag=0; else printf(|%dt|%st|%st|%dt|%dt|%dt|%dt|n,p-number,p-name,p-sex,p-Chinese,p-English,p-Match,p-average); flag=1; else printf(调出失败!); fclose(fp); /*菜单界面*/void Menu() int flag,n,sure,course; Student *Q,*p,*L; n=0; Q=InitStudent();begin: printf(nttt 学生管理系统(可输入汉字)n); printf(|n); printf(|1输入学生数据ttt2修改学生数据ttt3查找学生成绩|n); printf(|4排列学生数据ttt5保存学生成绩ttt6调出文件资料|n); printf(|7显示学生资料ttt0结束程序 ttt |n); printf(|n); printf(n操作方式:); scanf(%d,&flag); switch(flag) case 0:goto end;break; case 1:CreatStudent(Q); print(Q); goto begin; case 2:while(n=0) printf(请输入查找学生学号:); scanf(%d,&n); sure=ModifStudent(Q,n); if(sure=1) printf(修改成功n); else printf(修改失败n); n=0; goto begin; case 3:while(n=0) printf(请输入查找学生学号:); scanf(%d,&n); p=FindStudent(Q,n); if(p!=NULL) printf(n查询结果为:n); printf(|学号t|姓名t|性别t|语文t|英语t|数学t|均分t|n); printf(|%dt|%st|%st|%dt|%dt|%dt|%dt|n,p-number,p-name,p-sex,p-Chinese,p-English,p-Match,p-average); else printf(查找失败n); n=0; goto begin; case 4:printf(请输入排序规则(输入0返回上一步)n1.语文 2.英
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际能源投资与贸易面试题目
- 2026年高考英语复习新题速递之应用文写作(2025年7月)
- 高端装备制造业行业概述
- 传统医学与关节囊炎肿瘤的结合研究
- 细胞观察方法
- 上海市北虹、上理工附中、同二、光明、六十、卢高、东昌等七校联考2026届化学高二上期中考试试题含解析
- 学习2022庆圣诞迎元旦活动策划方案专题解读课件
- 高血压病的防治
- 神经内科护士进修汇报5分钟
- 位置与顺序的讲解
- 肩颈专业知识培训课件
- 发改价格〔2007〕670号建设工程监理与相关服务收费标准
- 心血管疾病诊断
- 注射用重组人TNK组织型纤溶酶原激活剂-药品临床应用解读
- 小儿泄泻(小儿腹泻病)中医临床路径
- 农光互补光伏发电项目可行性研究报告
- 整本书阅读:《水浒传》导读讲义-2024-2025学年初中语文必考名著(全国解析版)
- 三年级下册数学应用题大全(500题全)
- 外国人来华工作邀请函范文
- 烟火表演光影效果研究-洞察分析
- 免疫05-第五章-免疫凝集试验
评论
0/150
提交评论