1、学生信息管理系统c语言程序设计报告完美HUNAN UNIVERSITY程序设计训练报 告 学生姓名 学生学号 专业班级 指导老师 院长 (系主任) 2013 年 5 月 25 日一 系统功能简介.3二 本人完成的主要工作 .3三 实训分析 . .4四 实训设计 . .5五 实训源程序代码和调试过程 .7六 实训总结 .11附录1.12附录2 .12-22 一 系统功能简介.学生信息管理系统1, 进入主界面:要求输入密码,输入三次错误系统锁定。2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。3,显示记录:显示学生的各项信息 。4,增加记录: 增加多个学生
2、的基本信息,位于之前的学生后面。5,删除记录: 删除学生信息。6,修改记录:可以修改学生的任何一项基本信息。7,查找记录:可以根据学生的学号查找并显示出学生的信息。8,统计记录: 统计全班通过情况和不及格情况。9,退出系统经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。二 本人完成的主要工作学生信息管理系统由我和龚晨同学共同完成。主程序的编写由我们两个共同完成。我负责的是:1、修改记录:可以修改学生的任何一项基本信息。2、查找记录:可以根据学生的学号查找并显示出学生的信息。3、统计记录: 统计全班通过情况和不
3、及格情况。4、退出系统三 实训分析1、用结构化程序设计思想进行 C环境下程序设计。2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。4、基于结构化程序设计思想和所使用的 C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理四 实训设计1、系统功能模块结构图 本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计
4、数据,查找记录,七个大模块组成,其总体结构图如下: 2.核心数据结构设计: 1头文件说明如: #include#include#include#include2,函数的编写定义结构类型;定义全局变量;定义、编写记录(数据)输入函数;定义、编写记录(数据)显示函数;定义、编写记录(数据)增加函数;定义、编写记录(数据)删除函数;定义、编写记录(数据)修改函数;定义、编写记录(数据)统计函数;定义、编写记录(数据)查找函数;函数名称函数功能enter()进入函数input();输入函数display()显示函数add ()增加函数delet()删除函数amend()修改函数preside ();统
5、计函数fint ();查找函数output();退出函数3. 核心算法描述(程序流程图) 主函数结构流程 N Y 五 实训源程序代码和调试过程(包括截图)1.1进入界面 图一 输入密码进行身份验证,输入三次则系统锁定。1.2选择菜单图二 主菜单接界面,选择数字执行相应功能。1.3输入信息图三 依次输入学生的各项基本信息。1.4 显示信息图四 可以显示录入及增加的各项信息。1.5 增加信息图五 根据需要添加新的学生信息。1.6 删除记录图六 删除信息。1.7修改记录图七 可修改任何学生的任何一项纪录。1.8 统计信息图八 对所有的信息进行统计显示不及格人数。1.9 查找信息图九 根据学号查找出需
6、要的学生信息。六 实训结论通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以较快看出来。这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认
7、识。C语言是一个有序的学习,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,要从整体上把握。不过通过实训我也知道了自己的不足,存在的很多问题。希望能在以后的学习中,不断提高自己的能力,让问题越来越少。附录1参考文献1 刘振安等.C程序设计课程设计.北京:机械工业出版社,2004.92 谭浩强等.c语言程序设计.(第二版).清华大学出版社,2002,.83 张引等著C程序设计设计基础课程设计浙江大学出版社 20075 曹哲等 C程序设计课程设计 机械工业出版社 2010.7附录2源程序代码#include #include #include #include #define N 20st
8、ruct student /*定义学生结构体*/long num;char 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; print
9、f(nnnnttt欢迎进入学生信息管理系统n); /*初始界面 输入验证密码*/ for(i=1;inum); printf(姓名:n); scanf(%s,&p-name); printf(n); printf(性别:n); gets(r); gets(&p-sex); printf(n); printf(地区:n); scanf(%s,&p-address); printf(n); printf(三门成绩:1.语文.2.数学.3.英语.n); for(i=0;iscorei); p-sum = p-score0 + p-score1 + p-score2; p-ave = p-sum/3;
10、 printf(nn 是否要继续输入学生信息,如果是请按 y;不是请按 n.n); o=getchar(); w=getchar(); if(w=y | w=Y) t+; x=1; p+; else x=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;jt;j+) printf(%st%st%st%st%st%st%st%st%snn,学号,姓名,性别,地区
11、,语文,数学,英语,平均分,总分); printf(%ldt%st%st%st,stuj.num, stuj.name, stuj.sex,stuj.address); for(i=0;inum); printf(n); printf(姓名:n); scanf(%s,p-name); printf(n); printf(性别:n); scanf(%s,p-sex); printf(n); printf(地区:n); scanf(%s,p-address); printf(n); printf(三门成绩:1.语文.2.数学.3.英语.n); for(i=0;iscorei); for(i=0;i
12、sum = p-score0 + p-score1 + p-score2; p-ave = p-sum/3; a=getchar(); printf(n 是否要继续输入学生信息,如果是请按 y;不是请按 n.nn); w=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;
13、struct student *p; system(cls); printf(nttt删除学生信息n); printf( 请输入要删除学生的学号:nn); scanf(%ld,&b); for(p=stu;pnum=b) break; else r-; if(r=0) printf(你要删除的学生不存在,请按任意键返回.n); getch(); enter(); printf(n 你要删除的学生为:n); printf(%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn,学号,姓名,性别,地区,语文 ,数学,英语,平均分,总分); printf(%-8ld%-8s%-
14、8s%-8s,p-num,p-name,p-sex,p-address); for(j=0;jscorej); printf(%-8d,p-ave); printf(%-8d,p-sum); printf(n你确定要删除吗?如是请输入 y;不是请输入 n.n); x=getchar(); c=getchar(); if(c=y|c=Y) for(p=stu;pstu+t;p+) *p=*(p+1); t-; printf(系统已为你删除信息,请按任意键返回.n); getch(); enter(); if(c=n|c=N) printf(删除信息取消!按任意键返回.n); getch(); e
15、nter(); void amend() /*学生信息的修改*/ 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;pnum=j) break; else r-; if(r=0) printf(你输入的学生不存在,请按任意键返回.n); getch(); enter(); printf(n 你要修改的学生为:n); prin
16、tf(%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn,学号,姓名,性别,地区,语文 ,数学,英语,平均分,总分); printf(%-8ld%-8s%-8s%-8s,p-num,p-name,p-sex,p-address); for(j=0;jscorej); 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(%ld,&p-num);
17、 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 是否要修改性别:是请按 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
18、(n 是否要修改地区:是请按 y;不是请按 n.nn); h3=getchar(); h4=getchar(); if(h3=y|h3=Y) printf(请输入正确的地区: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;iscorei); p-sum = p-score0 + p-score1 + p-score2; p-ave = p-sum/3; v=getchar();
19、 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); printf(%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8snn,学号,姓名,性别,地区,语文 ,数学,英语,平均分,总分); for(p=stu;pnum,p-name,p-sex,p-address); for(j=0;jscorej); printf(%-8d,p-ave); printf(%-8d,p-sum); printf(nn);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1