《c语言可视化程序课程的设计学生成绩管理系统毕业论文》由会员分享,可在线阅读,更多相关《c语言可视化程序课程的设计学生成绩管理系统毕业论文(35页珍藏版)》请在金锄头文库上搜索。
1、C 语言可视化程序 设计报告行政班级 机械 0805姓名 魏永涛学号 0806080524指导老师 夏建芳课题名称 学生成绩管理系统C 可视化程序设计报告可视化程序设计报告一一.设计题目设计题目学生成绩管理系统二、课题的任务:二、课题的任务:1、 所有记录保存在一个数据文件中;2、 具备记录添加功能;3、 查询功能(如按学号查询成绩等);4、 计算统计功能(如统计某门课程的平均程序);5、 排序功能(如按成绩排序);6、 统计并显示信息功能;三课程设计目的三课程设计目的了解软件工程中的一些系统分析,模块分析,代码设计的概念,利用 visual c+实现学生成绩管理系统的录入、查询、删除、统计等
2、基本操作,掌握 C 语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。通过对系统的分析和设计,进一步巩固 C 语言的学习,以提高对开发环境。四、成员承担的任务:四、成员承担的任务:(组长)魏永涛(组长)魏永涛:完成下面子程序的编写:a:主函数的编译b:定位指针的 Locate()函数的编译,与调试。c:主菜单函数的编译,及其它外部函数的编译,与调试。d: 任务分配,规定变量符号,及变量的初始化。e:程序的组装及调试。王栋王栋 :完成下面子程序的编写:a:统计数据函数的编译。b::查找学生记录函数的编译。c:增加学生记录的函数的编译。王义王义 : 完成下面子程序的编写:a:删除
3、函数的编译b:修改函数的编译c:排序函数的编译巫培宇巫培宇 :完成下面子程序的编写:a:显示函数的编译。b:欢迎界面的制作。c:保存函数的编译五五、程序流程图、程序流程图1.系统总体结构图系统总体结构图2.main()2.main()函数流程图函数流程图主程序输入学生资料创建文件删除学生资料录查询学生资料录修改学生资料录显示学生资料录统计学生资料件排序学生资料保存学生资料获取帮组信息退出管理系统I=(Node*)malloc(sizeof(Node) I-next=NULL;r=I; fp=fopen(“C:student”,”rb”)fp=NULL无文件,创建?fp=fopen(“C:stu
4、dent”,”rb”)Exitmain()开始导入文件!feof(fp )p=(Node*)malloc(sizef(Node)fread(p,sizeof(Node),1,fp)P-next=NULL;r-next=p; R=p;count+fclose(fp)menu()1234576980非 0YN假真假真3.Add3.Add 函数流程图函数流程图0101入口r-next 不为空指针后移到表尾?1=0?输出提示输入 numS 指针为 空?s- data.num= =num相关输出指针后移到表尾申请空间Anum=0NOYESNONOYESYESYESYESNOYESNOYESNOYESNO
5、输出提示语 输入对应信息计算总分和平均分指针移到表尾结束Strcpy(p-data.num,num)A4.Del4.Del 函数流程图函数流程图No Yes2入口输入要删除的学号有此学号?结束学生不存在输出找到的学生信息删除该学生信息5.Qur5.Qur 函数流程图函数流程图3入口!l-next输出提示语输入 selsel=1 1 输出提示语 输入学号定为结点指针为空输出成绩sel=2 2输出提示语 输入姓名定为结点指针为空输出成绩输出提示 语BB结束NOYESYESNOYESNONOYESYESNO6.Modify6.Modify 函数流程图函数流程图No Yes4入口输入要修改的学号有此学
6、号?结束输出学生不存在输出找到的学生信息输入新的学生相关 信息7.Disp7.Disp 函数流程图函数流程图!p没有可供 现实的数 据显示已 有信息P调用 printc 函数p=p-next打出 星号假真0非 058.Tongji8.Tongji 函数流程图函数流程图结束6入口!l pm=pe=pc=pt=pa=rr!=NULL找到各量最大值指针后移到表尾?“输出各统计结果结束输出提示语YESNONOYES9.Sort9.Sort 函数流程图函数流程图7入 口分数比较排序点值小排序点值大后移排在首位插入中间位置到表尾?记录名次结 束NoYesNoYes10.Save10.Save 函数流程图函
7、数流程图8fp=fopen(“c:studen t”,”rb”)fp=NUL L文件打 开错误退出p=I-nextpFwrite(p,sizeof( Node),1,fp)=1p=p-next count+flog=0flog保存成 功shoudsave=0fclose(fp)假真0非 0真假0非 0返回 menu11.locate11.locate 函数流程图函数流程图10Strcmp(nameornum,num)=0r=Inextr!=NULL Strcmp(r-data.num,findmess)=0return rr=rnextStrcmp(nameornum,name)=0r=Ine
8、xtr!=NULL Strcmp(r-data.num,findmess)=0return rr=rnext返回一个 地址或 0假真0非 0假真假真0非 0假真六六. .系统实际运行效果系统实际运行效果1. 欢欢迎界面迎界面2. 主菜主菜单单3. 输输入学生入学生资资料料4.4.删删除学生除学生资资料料8.保存保存4. 查询查询5.修改修改6.显显示示7.统计统计8.排序排序9.排序排序结结果果10.帮助帮助11.退出退出七七. .系统源代码系统源代码#include “stdio.h“ #include “stdlib.h“ #include “string.h“ int shoudsave
9、=0; /定义一个全局变量 struct student char num11;/学号 char name20;/姓名char sex4; /性别int cgrade; /c 语言成绩int mgrade; /数学成绩int egrade; /英语成绩int totle; /总分int ave; /平均分char neartime10;/最近更新时间 ; typedef struct node /声明新的结构体类型 Node struct student data; struct node *next; Node,*Link; void welcome()/欢迎界面 printf(“ *n“)
10、;printf(“ *欢 迎 使 用*n“);printf(“ *中南大学学生成绩管理系统 *n“);printf(“ *n“);printf(“ 本系统由中南大学机械 0805 班梦幻小组nttt 倾情奉献n“);printf(“n“);printf(“ 愿我们的努力n“);printf(“ 能为您的学习工作带来方便n“);printf(“ 您的支持将是我们不断创新的动力n“);printf(“ 祝您使用愉快!ntt 如有任何疑问联系我们ntt QQ:453275642nttTel:15116336758n“); void menu() /主菜单 printf(“t*n“);printf(“
11、t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMM *n“);printf(“t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMM *n“);printf(“t* MMM 1 2 MMM *n“);printf(“t* MMM 3 4 MMM *n“);printf(“t* MMM 5 6 MMM *n“);printf(“t* MMM 7 8 MMM *n“);printf(“t* MMM 9 0 MMM *n“);printf(“t* MMM MMM
12、 *n“);printf(“t* MMM MMM *n“);printf(“t* MMM * MMM *n“);printf(“t* MMM i 欢迎使用中南大学学生成绩管理系统 i MMM *n“);printf(“t* MMM * MMM *n“);printf(“t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMM *n“);printf(“t* MMM 出品人:梦幻小组 | 辅导老师:夏建芳 MMM *n“);printf(“t* MMM 组长:魏永涛 | 梦幻组合 MMM *n“);printf(“t* MMM 组员:王栋 王义 巫培宇| 成就梦幻品质 MMM *n“);printf(“t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMM *n“);printf(“t*n“);void printstart() printf(“-n“); void Wrong() printf(“n 对不起!你输入的信息有误!请重新输入!n“); void Nofind() printf(“ _n“); printf(“nt!提示:没有找到该学生!n“);printf(“ _n“);printf(“