欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言学生信息管理系统实训报告.docx

    • 资源ID:67607413       资源大小:1.48MB        全文页数:16页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言学生信息管理系统实训报告.docx

    学生信息管理系统本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉 C 语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。通过本程序的训练,使学生能对 C 语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。一、问题定义根据实训要求,创建学生信息管理系统,假设系统中包含学生的学号、姓名、年龄、性别、出生年月、地址、电话、E-mail 等信息。设计的学生信息管理系统,需能提供以下功能:系统以菜单方式工作。学生信息录入功能-输入。学生信息浏览功能-输出。查询功能。修改信息功能。按学号删除学生信息功能。程序的运行效果如下图所示。二系统设计1. 总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务, 然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,以下为程序的功能模块设计。学生信息管理系统系统帮助模块系统帮助说明从文件读入输入信息模块从键盘输入按学号查询查询信息模块按学号查询修改学生信息更新信息模块删除学生信息增加学生信息系统刷新系统模块数据保存2. 详细设计学生信息管理系统#include<stdio.h>/*I/O函数*/ #include<stdlib.h> /*其它说明*/ #include<string.h> /*字符串函数*/#define BUFLEN 100 /* 缓冲区最大字符数 */#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */ #define N 100 /* 最大学生人数,实际请更改*/struct record /*结构体*/char codeLEN+1; /* 学号 */ char nameLEN+1; /* 姓名 */ int age; /* 年龄 */char sex3; /* 性别 */char timeLEN+1; /* 出生年月 */ char add30; /* 家庭地址 */char telLEN+1; /* 电话号码 */ char mail30; /* 电子邮件地址 */stuN;int k=1,n,m; /* 定义全局变量 */ void readfile();/* 函数声明 */ void seek();void modify(); void insert(); void del(); void display(); void save(); void menu(); int main()while(k) menu();system("pause"); return 0;void help()printf("n尊敬的用户:您好!"); printf("n=n|");printf("n|欢 迎进入帮助 系 统 !|n|printf("n|");|n|");printf("n|1.进入系统后,先刷新学生信息,再查询!|n|");printf("n|2. 请 按 照 菜 单 提 示 进 入 数 字 代 号 !|n|");printf("n|3.增加学生信息后,请切记保存!|n|");printf("n|4. 谢 谢 您 的 使 用 !|n|");printf("n= n");void readfile()/* 建立信息 */char *p="student.txt"FILE *fp;int i=0;if (fp=fopen("student.txt","r")=NULL)printf("Open file %s error! Strike any key to exit!",p); system("pause");exit(0);while(fscanf(fp,"%s %s%d%s %s %s %s %s",stui.code,stui.name,&stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8) i+;i=i;fclose(fp); n=i;printf("刷新完毕!n");void seek() /*查找*/int i,item,flag;char s121; /* 以姓名和学号最长长度+1为准 */ printf("n");printf("-1.按学号查询n");printf("-2.按姓名查询n");printf("-3.退出本菜单n");printf("n");while(1)printf("请选择子菜单编号:"); scanf("%d",&item);flag=0; switch(item)case 1:printf("请输入要查询的学生的学号:n"); scanf("%s",s1);for(i=0;i<n;i+) if(strcmp(stui.code,s1)=0)flag=1;printf("学生学号学生姓名年龄性别出生年月地址电话E-mailn");printf("n");printf("%6s %7s %6d %5s %9s %8s %10s %14sn",stui.code,stui.name,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf("该学号不存在!n"); break; case 2:printf("请输入要查询的学生的姓名:n"); scanf("%s",s1);for(i=0;i<n;i+) if(strcmp(stui.name,s1)=0)flag=1;printf("学生学号学生姓名年龄性别出生年月地址电话E-mailn");printf("n");printf("%6s %7s %6d %5s %9s %8s %10s %14sn",stui.code,stui.name,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf("该姓名不存在!n"); break; case 3:return;default:printf("请在1-3之间选择n");void modify() /*修改信息*/int i,item,num;char sex13,s1LEN+1,s2LEN+1; /* 以姓名和学号最长长度+1为准 */ printf("请输入要要修改的学生的学号:n");scanf("%s",s1); for(i=0;i<n;i+)if(strcmp(stui.code,s1)=0) /*比较字符串是否相等*/num=i;printf("n");printf("1.修改姓名n");printf("2.修改年龄n");printf("3.修改性别n"); printf("4.修改出生年月n"); printf("5.修改地址n"); printf("6.修改电话号码n"); printf("7.修改E-mail地址n"); printf("8.退出本菜单n"); printf("n");while(1)printf("请选择子菜单编号:"); scanf("%d",&item); switch(item)case 1:printf("请输入新的姓名:n"); scanf("%s",s2); strcpy(stunum.name,s2); break; case 2:printf("请输入新的年龄:n"); scanf("%d",&stunum.age);break; case 3:printf("请输入新的性别:n"); scanf("%s",sex1); strcpy(stunum.sex,sex1); break; case 4:printf("请输入新的出生年月:n"); scanf("%s",s2); strcpy(stunum.time,s2); break; case 5:printf("请输入新的地址:n");scanf("%s",s2); strcpy(stunum.add,s2); break; case 6:printf("请输入新的电话号码:n");scanf("%s",s2); strcpy(stunum.tel,s2); break; case 7:printf("请输入新的E-mail地址:n");scanf("%s",s2); strcpy(stunum.mail,s2); break; case 8:return;default:printf("请在1-8之间选择n");void sort()/*按学号排序*/int i,j,*p,*q,s; char temp10;for(i=0;i<n-1;i+)for(j=n-1;j>i;j-)if(strcmp(stuj-1.code,stuj.code)>0)strcpy(temp,stuj-1.code); strcpy(stuj-1.code,stuj.code); strcpy(stuj.code,temp); strcpy(temp,stuj-1.name); strcpy(stuj-1.name,stuj.name); strcpy(stuj.name,temp); strcpy(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex); strcpy(stuj.sex,temp); strcpy(temp,stuj-1.time); strcpy(stuj-1.time,stuj.time); strcpy(stuj.time,temp); strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add); strcpy(stuj.add,temp); strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,stuj.tel); strcpy(stuj.tel,temp); strcpy(temp,stuj-1.mail); strcpy(stuj-1.mail,stuj.mail);strcpy(stuj.mail,temp); p=&stuj-1.age; q=&stuj.age;s=*q;*q=*p;*p=s;void insert() /*插入函数*/int i=n,j,flag;printf("请输入待增加的学生数:n"); scanf("%d",&m);doflag=1; while(flag)flag=0;printf("请输入第 %d 个学生的学号:n",i+1); scanf("%s",stui.code);for(j=0;j<i;j+) if(strcmp(stui.code,stuj.code)=0)printf("已有该学号,请检查后重新录入!n"); flag=1;break; /*如有重复立即退出该层循环,提高判断速度*/printf("请输入第 %d 个学生的姓名:n",i+1); scanf("%s",stui.name);printf("请输入第 %d 个学生的年龄:n",i+1); scanf("%d",&stui.age);printf("请输入第 %d 个学生的性别:n",i+1); scanf("%s",stui.sex);printf("请输入第 %d 个学生的出生年月:(格式:年.月)n",i+1); scanf("%s",stui.time);printf("请输入第 %d 个学生的地址:n",i+1); scanf("%s",stui.add);printf("请输入第 %d 个学生的电话:n",i+1); scanf("%s",stui.tel);printf("请输入第 %d 个学生的E-mail:n",i+1); scanf("%s",stui.mail);if(flag=0)i=i; i+;while(i<n+m); n+=m;printf("录入完毕!nn");sort();void del()int i,j,flag=0; char s1LEN+1;printf("请输入要删除学生的学号:n");scanf("%s",s1); for(i=0;i<n;i+) if(strcmp(stui.code,s1)=0)flag=1; for(j=i;j<n-1;j+) stuj=stuj+1;if(flag=0)printf("该学号不存在!n"); if(flag=1)printf("删除成功,显示结果请选择菜单6n"); n-;void display()int i;printf("所有学生的信息为:n");printf("学生学号学生姓名年龄性别出生年月地址电话E-mailn");printf("n");for(i=0;i<n;i+)printf("%6s %7s %5d %5s %9s %8s %10s %14sn",stui.code,stui.name,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);void save()int i;FILE *fp;fp=fopen("student.txt","w"); /*写入*/for(i=0;i<n;i+)fprintf(fp,"%s %s %d %s %s %s %s %sn",stui.code,stui.name,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);fclose(fp);printf("保存成功,请刷新后按6查看n");void menu()/* 界面 */int num; system("COLOR 5f");printf("nn-桂林电子科技大学信息科技学院学生信息管理系统-n");printf("=n");printf("= 系统功能菜单=n");printf("= 友情提醒: 查询前请刷新系统!=n");printf("=n");printf("|=|n");printf("|0.系统帮助说明1.刷新学生信息|n");printf("|n");printf("|2. 查询学生信息3.修改学生信息|n");printf("|n");printf("|4. 增加学生信息5.按学号删信息|n");printf("|n");printf("|6. 显示当前信息7.保存当前信息|n");printf("|n");printf("|8. 退出系统|n");printf("|=|n");printf("=n");printf("请选择菜单编号: ");scanf("%d",&num); switch(num)case 0:help();break; case 1:readfile();break; case 2:seek();break; case 3:modify();break; case 4:insert();break; case 5:del();break; case 6:display();break; case 7:save();break; case 8:k=0;break;default:printf("请在0-8之间选择n");三程序测试1. 帮助菜单测试2. 查询菜单测试巨 C' U Eer sy in 妇 凸'De 山 叩 汇语宝实 训学生信 皂笞理乏统 e><e ,国 I东统功驼架里 二空清捏醒: 奋询旬请屈l苛系统!二= = = !c系铣帮助悦郎1 届衙学生信息I- - -一一一一一一一一一一一一一一一一一一一一一一一一一12. 杳谎字牛信,自3修芮学牛信恩- - -一一一一一一一一一一一一一14指加学牛信阜5拧学号删信莞- - -一一一一一一一一一一一一一一一一一一1 -f一显示当前信皂?件存当前信息I- - -一一一一一一一一一一一一一一一一一一一一13 退出孚宅二二二二二二二二二二二二二语选择菜单绾导: 2踵谙选拦了荣单编写:3. 更新信息菜单测试修改学生信息恒3 C,U s七沁 inh oo Dc .5kto pC话吉实 训学生信皂笞理至统 ,cxc增加学生信息删除学生信息4. 查看菜单测试5. 刷新系统测试6. 退出系统测试四心得体会归纳总结在编写学生信息管理系统的过程中,运用到了函数、指针、文件等知识点, 在编程的过程中也遇到了很多疑惑的问题,但是通过不断的运行,不断的改错以及宿舍舍友、老师的精心点播和本人查阅书籍上网查资料等途径已讲疑难杂症完全清楚,现如今已按要求用菜单的方式分别对学生管理系统中学生的信息进行输入、查询、删除、添加、修改、浏览并自动保存到文本文档中并使之分别由不同的函数完成。总体来说此次编程还是受益匪浅,能够使本人对以往的知识点掌握的更加牢固,并且真真切切的体会到了变成给人类带来的方便与愉悦!不足之处关于这次的程序,也有挺多不足的地方。首先,我觉得程序还不够完善,有些地方甚至有点乱;其次,有些地方好像功能有点重复了,操作比较麻烦;最后,就是该程序界面不够美观大方。五参考资料【1】 C 语言设计谭浩强清华大学出版社。【2】 数据结构管致锦 徐慧陈德欲 主编清华大学出版社。【3】 网上相关资料。

    注意事项

    本文(C语言学生信息管理系统实训报告.docx)为本站会员(暗伤)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开