学生成绩管理系统
C语言课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目:学生成绩管理系统
完成时间:2010年6月24号
一、设计目的
1、通过课程设计全面掌握《C语言程序设计》关键知识点,掌握C语言中数组、指针、结构体、文件等方面的基本知识。
2、通过课程设计了解并掌握C语言程序设计的方法,熟悉C程序设计的开发环境及C程序的调试过程。
3、培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研有关问题,学会自己分析、解决问题的方法。
二、设计
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。
主要功能:
1、键入学生信息
2、查看录入的信息
3、按姓名查看信息
4、按学号查看信息
5、按平均成绩排序
6、删除信息
7、保存信息
8、读取文件
9、我的个人信息
0、退出
三、系统
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图
(见下一页)
四、函数主要功能说明:
1、输入学生的信息函数功能:type函数通过循环向结构体中输入学生的学号、姓名、性别、英语成、数学成绩、语文成绩。
Type函数流程图
2、查看输入的信息功能:通过look函数以一个循环的形式输出所要查看的信息。
3、查询功能:通查询信息,过search_name函数和search_number函数来进行比较查找,找到后输出该学生信息
查找函数的流程图
4、排序功能:对数据进行排序,通过order函数对数据按平均分进行排序,排序结束后调用save函数保存。
5、删除功能:删除信息,通过del函数实现,删除后调用save函数对数据保存。
6、保存功能:对数据进行保存,用save函数向文件中写入数据实现该功能。
7、退出程序
五、调试方法以及测试过程中的问题及解决方法
调试方法:逐条的对程序中的错误进行修改;修改程序中的变量、声明新函数以及声明头文件对函数进行调试。
测试过程中遇到的问题:
1、删除学生信息功能不能实现。
问题描述:在选择删除功能后不能把选择的学生信息删除,而总是删除其他学生的信息。
解决办法:出现这个问题肯定是数据覆盖的时候出现了错误,也就是循环出现了错误。检查循环程序后发现,循环体内数据交换出现了错误,没有定义结构体变量。重新定义结构体变量后问题解决了。
2、显示结果时候出错
问题描述:每一个功能在现实结果现实的信息部完整,部分信息部能现实或被覆盖。
解决办法:现实出错也就是printf语句中的结构没有排列好所导致的。检查所有的Printf语句后发现所有的printf语句中少输出了以个语文成绩,且它们不能完全对齐。在增加了“语文”,修改了转义字符以及空格后,问题解决了。
3、在查询信息的时候出错
问题描述:在输入不在文件中保存的姓名、学号时,没有信息提示。
解决办法:出现此问题说明if语句后少了一条else语句,加上该语句后,显示的结果正确了。
4、打开文件出错
问题描述:当显示保存成功后关闭程序。重新打开程序选择打开文件后,文件不能正常打开,或打开文件后没有显示结果。
解决办法:查看文件文件中有数据,说明文件在保存的是后没有出错。再仔细观察运行结果后,发现该函数在执行到循环输出的时候把该循环跳了过去没有执行。出现此问题是因为循环的终止条件改变了。将openl函数该为有返回值函数之后,重新定义了一个see函数来调用openl函数,并在see函数中用循环输出已经打开的文件中的数据。重新定义一个函数后保存的文件可以成功的打开。
5、在排序后没有保存文件
解决办法:在order函数后边加上了
printf("是否保存?(y or n)");
getchar();
scanf("%c",&a);
if(a=='y')
save();
else
printf("退出");语句后可以选择是否保存排序后的文件。
六、设计心得
通过一个星期的课程设计,我更深刻的了解了C语言中每个函数的含义,领会了算法是C语言的灵魂这句话的真谛。一个好的算法可以使程序简洁,运行速度更快。同时也对C语言中的循环,函数的调用有了更深的理解。
虽然这次的课程设计,老师已经给出了程序让我们改错。看起来比较容易,但是要让程序实现
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
的几个功能却不是很容易。而且要看懂每一个函数也不是十分的容易。在修改程序的过程中也收获了很多以前忽略的东西。在修改的过程中巩固了基础,认识了自已以前常犯得错误,也发现了自己的不足之处。
在程序编写中,我认识编写一个系统不仅仅要有良好的用户界面,良好的程序编写风格也是相当重要的。只有良好的种程序编写风格,程序代码的可读性才会好,开发的复杂度才能大大减少,检查错误、修改代码时才会更加容易下手。
通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。深刻体会到了团队协作的重要性。
七、程序代码
#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
void look(); /*声明查看函数*/
void save(); /*声明保存函数*/
void search_name(); /*声明按姓名查看函数*/
void search_number(); /*声明按学号查看函数*/
void order(); /*声明排序函数*/
void del(); /*声明删除函数*/
int openl(); /*声明打开函数*/
void welcome(); /*声明我的个人信息函数*/
void type(); /*声明输入函数*/
void see(); /*声明打开并查看文件函数*/
struct student /*定义学生信息的结构体类型*/
{
char num[15]; /*学号*/
char name[20]; /*姓名*/
char sex[4]; /*性别*/
int english; /*英语成绩*/
int math; /*数学成绩*/
int chinese; /*语文成绩*/
float aver; /*平均成绩*/
float sum; /*总成绩*/
}stu[100];
int n; /*声明一个全局变量*/
void main() /*主函数即用户的操作界面*/
{
system("color 1E"); /*设计文本颜色*/
int b,flag=0; /*声明局部变量*/
while(1) /*循环输出以下信息*/
{
printf("\n\t\t\t欢迎来到学生成绩管理系统!\n");
printf("\n\t\t\t\t 郗绿阳制作\n");
printf("\t\t\t-------------------------------\n");
printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/
printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/
printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/
printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/
printf("\t\t\t5.按平均成绩排序\n\n"); /*排序*/
printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/
printf("\t\t\t7.保存学生信息\n\n"); /*保存*/
printf("\t\t\t8.打开文件\n\n"); /*打开文件*/
printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/
printf("\t\t\t0.退出\n\n"); /*退出*/
printf("\t\t\t请输入你的选择:");
scanf("%d",&b);
switch(b)
{
case 1:type();break; /*调用键入学生信息函数*/
case 2:look();break; /*调用查看函数*/
case 3:search_name();break; /*调用姓名查看函数*/
case 4:search_number();break; /*调用学号查看函数*/
case 5:order();break; /*调用排序函数*/
case 6:del();break;/*调用删除函数*/
case 7:save();break;/*调用保存函数*/
case 8:see();break;/*调用打开文件函数*/
case 9:welcome();break;/*调用我的个人信息函数*/
case 0:flag=1;break;/*退出SWITCH语句*/
default :printf("错误!");
}
if(flag) break; /*如果选择0就退出循环*/
}
}
void welcome() /*我的个人信息函数*/
{
system("CLS");
printf("\n\n\t\t------------个人信息------------"); /*在屏幕上输出一下信息*/
printf("\n\n\n\n\t\t姓名:郗绿阳");
printf("\t\t\tSex:男\n");
printf("\t\t年龄:20\n");
printf("\n\t\t\t--------学习经历--------\n\n\n");
printf("\t\t小学:北大小学\n\n");
printf("\t\t初中:禹州市神垕一中\n\n");
printf("\t\tS高中:禹州五高\n\n");
printf("\t\t大学:洛阳理工学院\n\n");
printf("\n\n\t\t按任意键返回欢迎屏幕!");
getch(); /*按任意键返回主函数*/
}
void type() /*定义键入学生信息函数*/
{
system("CLS");
int i; /*定义局部变量*/
printf("\t\t输出你想输入的学生信息个数:");
scanf("%d",&n);
for(i=0;i
=n
i
本文档为【C语言课程设计-学生信息管理系统设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。