C语言管理系统527和.doc
《C语言管理系统527和.doc》由会员分享,可在线阅读,更多相关《C语言管理系统527和.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、山东师范大学实验报告实验课程C语言程序设计实验项目学生成绩管理系统实验时间2011年 6月专业、班级信息管理与信息系统专业二班姓 名李旭东学 号0姓 名徐慰光学 号9姓 名郭世杰学 号1姓 名李延帮学 号4姓 名韩植丞学 号5教师批阅意见: 成绩 指导教师签名 (实验报告包含的主要内容:实验目的和要求;实验内容和原理;主要仪器设备;操作方法与实验步骤;实验数据记录与处理;实验结果与分析;讨论与心得等)一 设计内容1. 需求分析1.1项目需求概述 通过此系统可以实现如下功能:1) 数据信息的录入2) 学生、课程及成绩全部显示3) 排序功能4) 查询功能5) 成绩修改及删除6) 退出系统a) 功能
2、要求及说明 1、数据信息的录入1)学生基本信息录入:学号不允许重复 2)课程信息的录入3)学生成绩录入2、学生、课程及成绩显示:输出所有的学生信息及成绩信息 3、查询功能1)学生信息查询输入一个学号或姓名(可实现选择),查出此学生的基本信息并显示输出。2)成绩查询:输入一个学号时,查询出此学生的所有课程成绩信息并以列表显示,显示内容包括:学号、课程名、平时成绩、卷面成绩、综合成绩输入一个学生的姓名时,查询出此学生的所有课程成绩信息并以列表显示,显示内容包括:学号、姓名、课程名、综合成绩输入一门课程名称,可查询出所有选修这门课程的学生成绩。 3)成绩修改在修改成绩之前必须输入正确的用户密码才能进
3、入成绩修改菜单进行操作。 4、排序功能 1)学号排序 2)成绩排序5、删除功能删除一个学生所有信息。6、退出系统2. 概要设计功能模块图: 学生成绩管理系统查询信息修改成绩退出系统删除信息学生/课程信息输入信息排序 3. 详细设计 2.1 开始输入选择的值判断登入查询修改排序输出删除退出系统流程描述二 调试中的问题及解决 这次距上次使用C语言编程已经过了很长时间,许多地方都显得生疏了些。出现的bug主要集中于各种指令使用时的细节问题。下面列举几个例子: 1)结构体的结构体存储取 第一次输入时使用的是fprintf和fread,在读取后存入的过程中,程序出现了数据溢出后强制跳出的现象。后经过调试
4、及查阅相关资料发现bug的原因是fprintf和fread不配套,后将fread改为fscanf后程序运行正常。 2)连续使用scanf输入字符串和字符 在读取信息的过程连续使用了scanf,其中夹杂着字符和字符串两种数据类型,编译运行后,发现在运行至输入字符的语句时,程序直接跳过了此步。后经调试和查阅相关资料后发现bug的原因是scanf在连续读取时会将回车等行为当做一个字符进行读入,故程序运行时会显示跳过了此步。后在用scanf读入字符时,加入fflush(stdin);语句,阻止回车的读入,程序运行正常。三 使用说明及测试结果: 本系统是基于C语言平台的教师端学生成绩管理系统。数据保存方
5、式是使用C语言新建并读取文件,相对来说保密性较差,数据信息易通过文件直接修改。#include stdafx.h#include#include#include#include#include#define N 100#define M 10int i=0,j,a=30,b=3;int p,q,TotN;/char nameN;/unsigned long NON;/int scoreNM;float AverscoreM,AveN;unsigned long NO30=, ,;char name3016=李月,李文华,刘晓磊,赵丹,尹燕芬,赵聪聪,杜春艳,谢金彬,郭士杰,宋婷婷,姜一秀,王玮
6、玉,翟庆峰,翟文彩,高雪,姬生杰,李微微,杨阔宇,朱蕾,宁艳,侯彩萍,张春燕,田雅,刘夫阳,郑立法,陈雪宏,常园,慈滢云,彭新,李文琦;int score303=96,93,75,90,75,67,80,91,82,71,87,60,93,79,73,88,95,90,76,89,84,79,88,82,92,85,96,77,92,70,91,80,89,81,89,91,76,85,83,85,88,88,79,81,88,83,87,77,81,79,86,75,84,78,81,88,80,83,83,86,86,80,80,90,78,82,79,82,85,72,78,79,76,
7、79,83,76,74,83,78,76,79,70,79,71,75,73,83,76,78,75;int l;intflag=1;void main() /*主函数*/ void menu();void modify(); void input1(); void input2(); void print1(); void print2(); void print3();void print4();void print5(); void print6();void print7();void printwrong1(); void printwrong2();void calculate()
8、; void calculate1(); void calculate2(); void sort1(); void sort2(); void sort3(); void sort4();void search();void Exite(); void Delete();menu();switch(p)case 1: input1();system(cls);/*清屏*/print1();print2();main();case 2:modify();print1();print2();main();case 3:calculate();main();case 4:sort1();case
9、5:search();main();case 6:Delete();system(cls);/*清屏*/print1();print2();main();case 0:Exite();default:printwrong1();system(cls);/*清屏*/main();void calculate()/*计算函数*/int q;printf(n 1 个人平均成绩及个人总成绩n 2 单科平均成绩n 3 单科方差及标准差nn);scanf(%d,&q);switch(q)case 1:calculate1();system(cls);/*清屏*/print3();print4();main
10、();break;case 2:calculate2();system(cls);/*清屏*/print1();print2();print5();main();break;case 3:int i=0;int j;long double t1=0.0;long double t2=0.0;long double varianceN;long double sqrtvarianceN;for(j=0;jb;j+)for(i=0;i=a)system(cls);/*清屏*/printwrong2();main();for(j=0;jb;j+)printf(方差%d %5.2fn,i,varian
11、cej);printf(标准差%d %5.2fn,i,sqrtvariancej);main();break;void sort1()int j,i,l,t2,t3;char s16;unsigned long t4;for(j=0;j0)printf(t%d,j+1);printf(t对第);printf(%d,j);printf(门课程进行排序n);printf(t%dt对总分进行排序n,b+1);scanf(%d,&l);if(l=1)sort2();system(cls);/*清屏*/printf(排序后:n);print1();print2();printf(n);main();el
12、se if(l1&lb+2)printwrong1();void search()int c,m;char Name116;printf(n 1 已知学号查询n 2 已知姓名查询n);scanf(%d,&c);if(c=1)printf(输入学号n);scanf(%d,&m);i=0;while(m!=NOi&iN)i+;if(iN)printf(n所查询个人信息为:n);print1();printf(%5u,NOi);printf(%12s,namei);for(j=0;jb;j+)printf(%8d,scoreij);printf(n);else printf(n没有这个学号,输入错误
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 管理 系统 527
限制150内