学生信息管理系统c语言程序设计报告完美_第1页
学生信息管理系统c语言程序设计报告完美_第2页
学生信息管理系统c语言程序设计报告完美_第3页
学生信息管理系统c语言程序设计报告完美_第4页
学生信息管理系统c语言程序设计报告完美_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HUNANUNIVERSITY程序设计练习学生姓名学生学号专业班级指导老师2021年 5 月 25 日目 录一系统功能简介3二本人完成的主要工作 3三实训分析 4四实训设计5五 实训源程序代码和调试过程 7六实训总结 11附录112附录 2 12-22一系统功能简介.学生信息治理系统1,进入主界面:要求输入密码,输入三次错误系统锁定.2,输入记录:将学生的根本信息包括学号,姓名,性别,地区,分数等数据作为 一个记录写入文件.3,显示记录:显示学生的各项信息.4,增加记录:增加多个学生的根本信息,位于之前的学生后面.5,删除记录:删除学生信息.6,修改记录:可以修改学生的任何一项根本信息.7,查

2、找记录:可以根据学生的学号查找并显示出学生的信息.8,统计记录:统计全班通过情况和不及格情况.9,退出系统经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐 个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试.二本人完成的主要工作学生信息治理系统由我和龚晨同学共同完成.主程序的编写由我们两个共同完成.我负责的是:1、修改记录:可以修改学生的任何一项根本信息.2、查找记录:可以根据学生的学号查找并显示出学生的信息.3、统计记录:统计全班通过情况和不及格情况.4、退出系统三实训分析1、用结构化程序设计思想进行C环境下程序设计.2、设计一个治理系统,上机编程、调试并通

3、过该治理系统中的各功能模块.3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面 的图文材料即程序设计说明书各一份.4、基于结构化程序设计思想和所使用的 C语言开发环境与开发工具,并运 用“软件工程和“数据结构中的有关概念和方法,针对具体设计题目和要求, 分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用 相应功能模块来实现信息和数据处理四实训设计1、系统功能模块结构图本图书治理系统理由输入记录,显示记录,增加记录,删除记录,修改 记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:学生信息治理系输入记录模块显示记录模块增加记录模块修改记录模块删除记录

4、模块查找记录模块退出系统2核心数据结构设计:1.头文件说明如:#include<string.h>#include<stdio.h> #include<stdlib.h>#include<conio.h>2,函数的编写 定义结构类型;定义全局变量;定义、编写记录数据输入函数; 定义、编写记录数据显示函数; 定义、编写记录数据增加函数; 定义、编写记录数据删除函数; 定义、编写记录数据修改函数; 定义、编写记录数据统计函数; 定义、编写记录数据查找函数;函数名称函数功能enter()进入函数input();输入函数display()显示函数add

5、()增加函数delet()删除函数amend()修改函数preside ();统计函数fint ();查找函数output();退出函数3.核心算法描述程序流程图主函数结构流程判断键值并弹出对应菜单根据按键执行菜单项选择项对应的函数从被调用函数中返回并转移退出治理系统五 实训源程序代码和调试过程包括截图1.1 进入界面topD e bugXxues he ng.exer,欢送进入学生信息治理系统请输入密码二图一输入密码进行身份验证,输入三次那么系统锁定1.2 选择菜单图二主菜单接界面,选择数字执行相应功能1.3 输入信息'C:与ershpDesktopDebugchengxu exe&

6、#39;学生信息的录入.请输入第1个学生的信息.学号: 31 店名: liFiing.地区二hUFiAn三门成绩:1.语文.2.锹学.3英语.&&9878是否要继续输入学生信息.如果是请按,不是请按明图三 依次输入学生的各项根本信息.1.4显示信息' C ;U sersh p' Deslcto p De bugchen gxu .ezxe '学生信息显示.、鼻手'号姓名性别地区语文数学英语平均分总分11 lining-hunanss987B8S264号姓名性别地区语文数学英语平均分总分lihomgFhe be i78778981244学号姓名性别

7、地区语文数学英语平均分总分linanahe ijing78678777232按任意键返回.图四 可以显示录入及增加的各项信息1.5增加信息'C:1J serVh p D-e skto p D e bu g '.< n gxu e,F熠加学生信息.请输入第4个学生的信息.序匚二H41 lx in 51地区二liai rt?in三门成绩± L谱文.2.数学K.英语.as79是否要继续输入学生信息,如果是请按年不是请按明图五根据需要添加新的学生信息.地区平均分lininghunwn系统已为你删除信息.请按任苞键也回H尔确定要删除吗?如是请榆人学;不是请输入删除学生信息

8、 请输入要删除学生的学号;1.6删除记录1.7修改记录' C:Usershp DesktopDe bu gch en gxu exe'请输入要修改学生的学号;02卜修雌曾生卷别地区 语文数学 英语平均分总分2llhong fliebel 8H ?8798124s是否要修改学号:是请接力不是请按加宴否要修改姓名.是请按不是请按必n是否要修改性别:是请按9;不是请技n是否要修改地区:是请按内不是请按明可修改任何学生的任何一项纪录.1.8 统计信息£U%=r&hpDE3kt.p De bu g cV engxu.exe'、号姓名学生信息纳. 地区语文数学英语

9、平均分性别1liningmhuna 小999987912742lihangfrhebe 1897897B72G33linanaFbe ijintf4565S655166斗口 千亏姓名性别地区语文数学英语平均分总分3linanAfbeijing45655655166以上为不及格的同学.全班不及格的人数为;工人.统计完成,请按任意键返回.图八对所有的信息进行统计显示不及格人数1.9 查找信息图九根据学号查找出需要的学生信息六实训结论 通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的 那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己 动手的过程中,出现的问

10、题很多,比理论要难的多,当一个程序写完以后,经常 会有很多错误而没法解决.不过,通过几天的实训I,逐渐积攒了一些经验,有些 错误可以较快看出来.这次实训有很大的收获,让我对C语言有了更深的熟悉,平时在课堂上学到的东 西可以自己动手编写,将其转化成一些实用的技能.如果是一个程序写完一处错 误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了, 能把理论变成实际的技能,让我对 C语言有了浓厚的兴趣和更深层的熟悉.C语言是一个有序的学习,条理很清楚,不是一个零散的知识,实际上所有的课 程都如此,要从整体上把握.不过通过实训我也知道了自己的缺乏, 存在的很多 问题.希望能在以后的学习

11、中,不断提升自己的水平,让问题越来越少.附录1参考文献1 刘振安等.C程序设计课程设计.北京:机械工业出版社,2004.92谭浩强等.c语言程序设计.第二版.清华大学出版社,2002,.83张引等著?C程序设计设计根底课程设计?浙江大学出版社20075曹哲等 ?C程序设计课程设计?机械工业出版社2021.7附录2源程序代码#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>#define N 20 struct studentlong num;char

12、 name20;char sex2;char address20;int score3;int sum;int ave;struct student stuN;int t=1,pl=0;void enter();void input();void display.;void add();void delet();void amend();void preside.;void fint();void output();void main() int password;/*定义学生结构体*/int i;printf("nnnnttt 欢送进入学生信息治理系统 n");for(i

13、=1;i<=3;i+)/*初始界面输入验证密码*/ printf("nnttt 请输入密码:");scanf("%d",&password);if(password=000000) (enter();break;) printf("error!please input again!");) printf("密码输入三次有误!系统锁定! ");)void enter()/*进入主菜单函数*/(int choice,w;char k;system("cls");printf("

14、;ttt学生信息治理系统nn");printf("tt1. 录入.t2.显示.t3.增项.t4.删项.ntt5.修改.t6.统计.t7.查找.t8.退出.n");printf("n输入序号执行相应功能:"); scanf("%d",&choice);switch(choice) (case 1: input();break;case 2: display(); break;case 3: add();break;case 4: delet();break;case 5: amend();break;case 6: p

15、reside(); break;case 7: fint(); break;case 8: output();break;default: w=1;)if(w=1)(printf("输入有误,按任意键重新选释.n");k=getchar();getch();enter();)void input()/*学生信息录入的函数 */(int x,count=0,i;char w,r20,o;struct student *p;p=stu;system("cls");printf("ttt 学生信息的录入.n"); do (pl+;print

16、f("请输入第%d个学生白M言息.nn",t);printf("学号:n");scanf("%ld",&p->num);printf("姓名:n");scanf("%s",&p->name);printf("n");printf("性别:n");gets(r);gets(&p->sex);printf("n");printf("地区:n");scanf("%s&qu

17、ot;,&p->address);printf("n");printf("三门成绩:1.语文2数学.3.英语.n"); for(i=0;i<3;i+)scanf("%d",&p->scorei);p->sum = p->score0 + p->score1 + p->score2;p->ave = p->sum/3;printf("nn是否要继续输入学生信息,如果是请按 y;不是 t# 按 n.n");o=getchar();w=getchar(

18、); if(w='y' | w='Y') (t+;x=1;p+; elsex=0; while(x=1);if(w='n' | w='N') printf("按任意键返回.n"); getch(); enter();)void display()/*显示学生信息*/( int i,j; system("cls"); printf("ttt 学生信息显示.nn"); for(j=0;j<t;j+) ( printf("%st%st%st%st%st%st%s

19、t%st%snn","学 号","姓名","性别","地区","语文","数学","英语","平 均分","总分");printf("%ldt%st%st%st",stuj.num, , stuj.sex,stuj.address); for(i=0;i<3;i+) printf("%dt", stuj.scorei); printf(&quo

20、t;%dt", stuj.ave); printf("%dt", stuj.sum); printf("nn"); ) printf("n按任意键返回.n"); getch(); enter();)void add()/*学生信息的增加*/(int i,x;char a, w;struct student *p;p=stu+t;system("cls"); printf("nttt 增加学生信息.n");do( printf("请输入第 %d个学生的信息 .nn",

21、t+1);printf("学号:n"); scanf("%ld",&p->num); printf("n");printf("姓名:n");scanf("%s",p->name);printf("n");printf("性另1J :n");scanf("%s",p->sex);printf("n");printf("地区:n");scanf("%s",

22、p->address);printf("n");printf("三门成绩:1.语文.2.数学.3.英语.n");for(i=0;i<3;i+)scanf("%d",&p->scorei);for(i=0;i<3;i+)p->sum = p->score0 + p->score1 + p->score2;p->ave = p->sum/3;a=getchar();printf("n是否要继续输入学生信息,如果是请按y;不是 t# 按 n.nn");w

23、=getchar();p+;t+;if(w='y'|w='Y')x=1;if(w='n'|w='N')x=0;break;while(x=1);if(x=0)printf("n");printf("按任意键返回.n");getch();enter();void delet()/*学生信息的删除*/long b;int z,j;int r=t;char c,x;struct student *p;system("cls");printf("nttt 删除学生信息

24、n");printf("请输入要删除学生的学号:nn");scanf("%ld",&b);for(p=stu;p<stu+t;p+)if(p->num=b)break;elser-;if(r=0)printf("你要删除的学生不存在,请按任意键返 回.n");getch();enter();printf("n你要删除的学生为:n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn","学号",&quo

25、t;姓名","性别","地区","语文"," 数学","英语","平均分","总分)printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p-> sex,p->address);for(j=0;j<3;j+)printf("%-8d",p->scorej);printf("%-8d,p->ave);printf("%-8d,p

26、->sum);printf("n你确定要删除吗?如是请输入y;不是请 输入 n.n");x=getchar();c=getchar();if(c='y'|c='Y')for(p=stu;p<stu+t;p+)*p=*(p+1);t-;printf("系统已为你删除信息,请按任意键返 回.n");getch();enter();)if(c='n'|c='N')(printf("删除信息取消!按任意键返回.n");getch();enter();void amen

27、d()/*学生信息的修改*/long j;int i,z,r=t;char c,d,e,f,q,u,l,v,m,k,h1,h2,h3,h4;struct student *p;system("cls");printf("nttt 修改学生信息 n");printf("请输入要修改学生的学号:nn");scanf("%ld",&j);for(p=stu;p<stu+t;p+)if(p->num=j)break;elser-;if(r=0) (printf("你输入的学生不存在,请按任意键

28、返回.n");getch();enter();)printf("n你要修改白学生为:n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn","学号","姓名","性别","地区","语文","数学"," 英语","平均分","总分)printf("%-8ld%-8s%-8s%-8s",p->num,p-&

29、gt;name,p->s ex,p->address);for(j=0;j<3;j+)printf("%-8d",p->scorej);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("nn是否要修改学号:是请按 y;不是请 按 n.nn");l=getchar();c=getchar();if(c='y'|c='Y')printf("请输入正确的学号:nn");scanf(

30、"%ld",&p->num);if(c='n'|c='N')z=1;printf("是否要修改姓名:是请按 y;不是请按 n.nn");q=getchar();d=getchar();m=getchar();if(d='y'|d='Y')printf(请输入正确的姓名:n");scanf("%s",p->name);u=getchar();if(d='n'|c='N')z+;printf("n是否要修

31、改性别:是请按y;不是请按 n.nn");e=getchar();k=getchar();if(e='y'|e='Y')printf(请输入正确的性别:n");scanf("%s",p->sex);if(e='N'|e='n')z+;printf("n是否要修改地区:是请按 y;不是请 按 n.nn");h3=getchar();h4=getchar();if(h3='y'|h3='Y')(printf("请输入正确的地区:

32、n");scanf("%s",p->address);)if(h3='N'|h3='n')z+;printf("n是否要修改三门成绩:是请按y;不是 请按 n.nn");f=getchar();if(f='y'|f='Y')(printf("请输入正确的三门成绩:");for(i=0;i<3;i+)scanf("%d",&p->scorei);p->sum = p->score0 + p->scor

33、e1 + p->score2;p->ave = p->sum/3;)v=getchar();if(f='n'|f='N')(printf("请按任意键返回.n");getch();enter();)void preside()/*学生信息的统计*/(int i,j,o=0,b=10,r=60;struct student *p;system("cls");printf("nttt 学生信息统计.n");nn","学号","姓名",&qu

34、ot;性别","地区","语文","数学","英语","平均分","总分)for(p=stu;p<stu+t;p+)(printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(j=0;j<3;j+)printf("%-8d",p->scorej);printf("%-8d",p->ave);prin

35、tf("%-8d",p->sum);printf("nn");printf("nn'n");for(p=stu;p<stu+t;p+)for(i=0;i<3;i+) if(p->scorei<r) b=b-1;o=o+1;nn","学号","姓名","性别","地区","语文","数学"," 英语","平均分","总分)printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(j=0;j<3;j+)printf("%-8d&qu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论