欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    学生信息管理系统 (2).doc

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

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

    学生信息管理系统 (2).doc

    1、实验题目:学生个人信息管理系统一、实验目的1、 经过对C语言程序设计的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。2、通过C语言课程设计,了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续课程的学习、毕业设计和将来的工作打下坚实基础。 3、 掌握文件和文件指针的概念以及文件的定义方法,认识

    2、文件打开、关闭、读、写等文件基本操作函数。 4、掌握结构体类型变量、数组的定义和使用。 5、了解指针和链表的概念,掌握指针的定义和使用指针变量的方法以及链表的正确用法。灵活使用链表来储存学生信息。6、 掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。 7、掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。 8、熟练运用if语句和switch语句以及嵌套应用。涉及循环调用的,了解并掌握三种控制语句while、do-while和for语句。9、学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。二、实验内容我设计的是“

    3、学生个人管理系统”主要是针对在校学生的管理,方便学校对学生的管理。其中包括对存储信息的添加、查询、删除、修改的功能,而每条存储的项又包括对学号、姓名、性别、民族、年龄、电话、住址的管理。 三、需求分析为了更方便学校对学生的管理,处理好每个学生的个人信息,加强学校对学生的管理,我在课程设计时特选择了该系统。学生个人信息管理系统是个学校管理的基础,而传统的学校管理系统里面存放过多的信息,却缺少一些简单快速的查找功能,导致要找到所需信息很麻烦,浪费很多时间。针对这一问题,我在自己设计的简单的学生跟人信息管理系统的程序中,特别注意这一点。性能描述:各种功能都可以满足;程序相对较小,因而运行时反应比较迅

    4、速,不存在响应不及时地问题。四、概要设计1、方案设计 对系统进行分析,给出结构图2、数据结构说明程序中定义的数据类型结构体(各个成员的作用)3、模块功能说明 对各个模块进行功能的描述五、详细设计 各模块流程图, 函数之间相互调用的图示 ,程序设计过程及编码。主函数 输入密码密码正确确?确确?确进入界面正确错误选择选项执行程序结束开始 1、查询模块 开始输入所查学号信息找到输出学生信息是返回主菜单未找到该信息2、添加模块开始 添加学生信息 录入要添加的学生信息返回主菜单写入文件返回 回 3.修改模块开始录入要修改的学号信息存在是否修改后的信息写入文件主菜单输入信息开始打开文件4.录入模块 结束写

    5、入文件5.打印模块开始打开文件从文件中读出并显示关闭文件结束6.排序模块开始打开文件打开文件打开文件输出排序结果按学号排序结束7.删除模块 未找到信息开始输出所要删除的学号信息找到删除学生信息返回主菜单六、调试情况,设计技巧及体会(重点)1、这只是一个小小的简单的学生个人信息管理系统,功能都是很有限,有限的功能里又存在着很多问题。如果再增加个分组管理或排序的话可能会更好。2、遇到的问题: 编译和调试工具:一开始选择VC/C+,但其中没有包含很多常用的函数,如clrscr(),getch(),以及头文件alloc.h等,这给编译和调试带来了麻烦,但是最后通过向老师请教后,使用其他的函数代替了这部

    6、分函数,达到了相同的结果。 3在设计过程中的感受开始开始的时候,基本没什么头绪,老师提示加上参考课本后有了一点思路,然后开始一点一点慢慢设计,然而还是遍地撒网,到处是错误,导致连一小部分也没办法运行出来。后来采用分模块一步步设计的方法,效果立马就出来了,这小小地增加了我做下去的信心。不过后来,由于缺少耐心,急于求成,导致了我出现了好多初学者易犯的错误。比如变量定义类型出现错误、花括号不配对、输入变量时忘了取地址、还有由于小小的拼写错误而自己又粗心大意地检查导致的花费了一上午的时间没什么进展的情况等等。这些问题甚至让我产生了放弃的想法。不过后来,在看到别的同学的认真样后,我还是坚持下来了。没有足

    7、够的耐力和信心就很难坚持对课程设计每一步的顺利进行。在这次课程设计中我也知道了自己的动手能力不强,在设计过程中不能够把书本上的知识与实践相结合,这点有待加强练习!通过本次的课程设计,我有了一些独立思考并综合运用所学相关知识的能力,并且在老师和同学的热心帮助下解决了以前常常一些容易被忽略的问题,学到了很多。这就更加要求我在以后的学习中进一步有针对的学习,继续坚持实践,强化上机动手编程能力,闯过理论与实践相结合的难关!3、编写程序是一个很严谨的过程,容不得半点马虎和大意。并且一定要养成一个良好的习惯。比如说每个层次的花括号应对齐,这样即不容易多写或遗漏花括号,有能帮助检查出错之处,可以节省很多时间

    8、。4、编写程序遇到问题时一定要多思考,要有耐心,敢于尝试,多总结。再自己经过反复修改和尝试之后还没解决问题时与老师同学商量讨论才会收获更多。5、虚心地向比自己优秀的同学学习,学他们程序中的长处,运用到自己的程序中,这样会进步更快。6、在设计的过程中,面临了很多问题,主要原因还是基本知识不熟悉,平时练得比较少。感觉手比较生,还有文件方面的知识欠缺,不能灵活运用,还有指针方面的知识很生疏。最初的感觉是心有余而力不足,但是,随着不断的练习和学习,不断的请教老师和同学,不断的看书了解基本知识,慢慢的有点适应了,程序写完之后运行一下子出现了好多个错误,让我感到很无奈,心慌。但在老师的细心指导下,一点点调

    9、试,最终正确。编译通过后,在运行时有出现错误,不能读写,不过后来都解决了。经历了这次课程设计,不仅在意志力方面我得到了锻炼,更是对我的学习提供了帮助。在C语言程序设计的过程中我知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,虽然一时不能完全掌握以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的,都是要更好地掌握该门知识,提高自身修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!最后衷心的感谢指导老师们!谢谢! 七、 源程序清

    10、单(略,详见电子版实验报告)/*头文件*/#include #include #include #define N sizeof(M)struct stulong num;char name20;float score1,score2,score3;float aver;typedef struct s_typestruct stu student ;struct s_type *next;M;/*各函数的声明*/void login();void menu();void createlist(struct s_type *w);float averege( float a,float b,f

    11、loat c);void output(struct s_type *w);void search_num(struct s_type *w);void search_name(struct s_type *w);void del(struct s_type *w);void insert(struct s_type *w);void sort_score(struct s_type *w);void sort_num(struct s_type *w);/*文件的打开、创建函数*/struct s_type *read_inf()FILE *fp;fp=fopen(c:Softgrade.t

    12、xt,wt+);if(fp=fopen(c:Softgrade.txt,wt+)=NULL)printf(读文件出错!);getch();exit(1);/*文件的保存函数*/void save(struct s_type *w)struct s_type *p1;FILE *fp;fp=fopen(c:Softgrade.txt,wt+);if(fp=NULL)printf(Error!press any key to return.n);getch();exit(1);for(p1=w-next;p1!=NULL;p1=p1-next)fwrite(p1,N,1,fp);fp=fopen(

    13、d:grade.txt,wt+);for(p1=w-next;p1!=NULL;p1=p1-next)fread(p1,N,1,fp);fclose(fp);/*登陆密码*/void login()char mi;char s7;int i,j,t;for(t=1;t=3;t+)printf(密码:);for(i=0;inext=NULL;p2=w; /*将申请到的空间作为头指针*/while(!feof(fp) /*循环读数据直到文件尾结束*/p1=(M *)malloc(N);fread(p1,N,1,fp);p2-next=p1;if(!feof(fp)p2=p1;free(p1);p2

    14、-next=NULL;fclose(fp);return(w);/*创建学生信息列表*/void create(struct s_type *w)struct s_type *p,*q;long n;char choice,a20;float r,s,t;if(*w) *w=NULL;printf(n请输入学生信息:n);printf(n 学号: );scanf(%ld,&n);printf(n 姓名: );scanf(%s,a);printf(n 语文成绩: );scanf(%f,&r);printf(n 数学成绩: );scanf(%f,&s);printf(n 英语成绩: );scanf

    15、(%f,&t);p=(M *)malloc(N);p-student.num=n;strcpy(p-student.name,a);p-student.score1=r;p-student.score2=s;p-student.score3=t;p-student.aver=averege(r,s,t);p-next=NULL;*w=p;while(1)printf(n 学号: );scanf(%ld,&n);printf(n 姓名: );scanf(%s,a);printf(n 语文成绩: );scanf(%f,&r);printf(n 数学成绩: );scanf(%f,&s);printf

    16、(n 英语成绩: );scanf(%f,&t);q=p;p=(M *)malloc(N);p-student.num=n;strcpy(p-student.name,a);p-student.score1=r;p-student.score2=s;p-student.score3=t;p-student.aver=averege(r,s,t);p-next=NULL;q-next=p;printf(还要继续输入吗?(Yes or No): );flushall();scanf(%c,&choice);if(choice=n|choice=N) break;float averege(float

    17、 a,float b,float c)float aver;aver=(a+b+c)/3;return aver;/*根据学号查找学生信息*/void search_num(struct s_type *w)long x;printf(请输入要查询的学生信息的学生学号:nn);scanf(%ld,&x);printf(n您查找的学生信息如下:nn); while(w&w-student.num!=x) w=w-next;if(w=NULL)printf(nn*Error,no such student!*n);elseprintf(%ld %s %.2f %.2f %.2f %.2fn,w-s

    18、tudent.num,w-student.name,w-student.score1,w-student.score2,w-student.score3,w-student.aver);/*根据姓名查找学生信息*/void search_name(struct s_type *w) char m20;printf(n请输入要查询的学生信息的学生姓名:n);scanf(%s,m);printf(n您查找的学生信息如下:nn);while(w&strcmp(w-student.name,m)w=w-next;if(w=NULL)printf(nn*Error,no such student!*n)

    19、;elseprintf(%ld %s %.2f %.2f %.2f %.2fn,w-student.num,w-student.name,w-student.score1,w-student.score2,w-student.score3,w-student.aver);/*根据学号删除学生信息*/void del(struct s_type *w) long k;struct s_type *p=*w,*t;printf(n请输入要删除的学生信息的学生学号:n);scanf(%ld,&k);if(p-student.num=k)*w=(*w)-next,free(p);elsewhile(p

    20、-next&p-next-student.num!=k)p=p-next;if(p-next=NULL)printf(*Error,no such student*!n);elset=p-next;p-next=p-next-next;free(t);/*插入新的学生信息*/void insert(struct s_type *w) long n;char a20;float r,s,t;M *p,*j,*k;printf(n请输入要插入的学生信息:n);printf(n 学号: );scanf(%ld,&n);printf(n 姓名: );scanf(%s,a);printf(n 语文成绩:

    21、 );scanf(%f,&r);printf(n 数学成绩: );scanf(%f,&s);printf(n 英语成绩: );scanf(%f,&t);p=(M *)malloc(N);p-student.num=n;strcpy(p-student.name,a);p-student.score1=r;p-student.score2=s;p-student.score3=t;p-student.aver=averege(r,s,t);if(!(*w)*w=p;(*w)-next=NULL;return ;if(p-student.numstudent.num)p-next=(*w),(*w

    22、)=p;elsej=*w;k=j;while(j-next&j-next-student.numstudent.num)j=j-next;(p-next)=(j-next);j-next=p;*w=k;/*根据学生平均分降序排序*/void sort_score(struct s_type *w) struct s_type *t,*p,*q,*z;if(!(*w)|!(*w)-next)printf(nnn*No message to sort!*n);return ;elset=*w;p=t-next;t-next=NULL;while(p)q=p-next;if(p-student.av

    23、ert-student.aver)p-next=t;t=p;else z=t;while(z-next&z-next-student.aver=p-student.aver)z=z-next;p-next=z-next;z-next=p; p=q;*w=t;/*根据学生学号升序排序*/void sort_num(struct s_type *w) struct s_type *t,*p,*q,*z;if(!w)printf(nnn*No message to sort!*n);return ;if(!(*w)|!(*w)-next)return;elset=*w;p=t-next;t-next

    24、=NULL;while(p)q=p-next;if(p-student.numstudent.num)p-next=t;t=p;else z=t;while(z-next&z-next-student.numstudent.num)z=z-next;p-next=z-next;z-next=p;p=q;*w=t;/*输出学生信息*/void output(struct s_type *w) if(!w)printf(nnn*No message to output!*n);return ;elsewhile(w)printf(%ldt%st%.2ft%.2ft%.2ft%.2fn,w-stud

    25、ent.num,w-student.name,w-student.score1,w-student.score2,w-student.score3,w-student.aver);w=w-next;void menu()printf(nnn *学生成绩管理系统*n);printf(n 1. *建立学生信息表并显示n);printf(n 2. *根据学号查找学生信息n);printf(n 3. *根据姓名查找学生信息n);printf(n 4. *根据学号删除学生信息n);printf(n 5. *添加新的学生信息n);printf(n 6. *按平均分降序排列输出n);printf(n 7.

    26、*按学号升序排n);printf(n 8. *打印学生信息数据n);printf(n 0. *退出系统n);printf(n 请选择您所需操作: );main()int i,choose;int flag=1;char name8;struct s_type *w;FILE *fp;w=fp;w=read_inf();printf(nnnnnnn用户名:);flushall();gets(name);printf(n);login();printf(nn欢迎您,%snn,name);printf(请按任意键进入系统!);getch();system(cls);while(flag)system

    27、(cls);menu();scanf(%d,&choose);switch(choose)case 1:system(cls);create(&w);system(cls);printf(n请验证您所输入的信息:nn);printf(n学号t姓名t语文t数学t英语t平均成绩n);output(w);printf(nnnPress any key to continue);getch();break;case 2:system(cls);printf(nn);search_num(w);printf(nnnPress any key to continue);getch();break;case

    28、 3:system(cls);printf(nn);search_name(w);printf(nnnPress any key to continue);getch();break;case 4:system(cls);printf(删除前信息库的信息如下:nn);printf(n学号t姓名t语文t数学t英语t平均成绩n);output(w);getch();del(&w);printf(n信息已成功删除,请验证:nn);getch();printf(删除后的信息库信息如下:nn);printf(n学号t姓名t语文t数学t英语t平均成绩n);output(w);printf(nnnPress

    29、 any key to continue);getch();break;case 5:system(cls);printf(添加前信息库的信息如下:nn);printf(n学号t姓名t语文t数学t英语t平均成绩n);output(w);getch();insert(&w);printf(信息已成功添加,请验证:nn);getch();printf(添加后信息库的信息如下:nn);printf(n学号t姓名t语文t数学t英语t平均成绩n);output(w);printf(nnnPress any key to continue);getch();break;case 6:system(cls)

    30、;printf(nn按平均分降序排列输出结果如下:nn);getch();sort_score(&w);printf(n学号t姓名t语文t数学t英语t平均成绩n);output(w);printf(nnnPress any key to continue);getch();break;case 7:system(cls);printf(nn按学号升序排列结果如下:nn);getch();sort_num(&w);printf(n学号t姓名t语文t数学t英语t平均成绩n);output(w);printf(nPress any key to continue);getch();break;cas

    31、e 8:system(cls);printf(nn学生信息如下:n);getch();output(w);printf(nPress any key to continue);getch();break;case 0:system(cls);printf(nnnnnn);flag=0;printf(*n);printf( *n);printf( *nn);printf( You have successfully exit the system.Thank for using!nnnnn);printf( Goodbye!nnnnnnnn);break;default: system(cls);printf(nnnThis is a wrong selection!n);getch();save(w);


    注意事项

    本文(学生信息管理系统 (2).doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922