c语言课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南民族大学工商学院
计算机科学与技术系
项目名称:学生信息管理系统学生姓名:谢威
学号:20082514
班级:08801
指导教师:胡成松王巍
2009年6月23日
目录
1.实验目的和意义 (1)
1.1实验的目的 (1)
1.2实验的意义 (1)
2.实验的功能设计及描述 (2)
2.1实验的功能设计 (2)
2.2实验的功能描述 (2)
3.主要模块的算法描述 (3)
4.系统的性能测试 (4)
5.主要模块的源代码清单 (10)
5.1学生信息的修改 (10)
6.设计小结 (14)
致谢 (15)
参考文献 (15)
1.实验目的和意义
1.1实验的目的
1.学会用计算机语言编写程序,以实现所需处理的任务
2.系统的加深对c语言知识点的理解
3.熟练运用c语言知识点
4.能编写一个有实际用途的程序
1.2 实验的意义
1.熟悉C语言基本的语法知识
2.系统的复习所学的C语言知识
3.初步掌握开发一个小型实用系统的基本方法
4.学会调试一个较长程序的基本方法
5.了解程设计开发的步骤
2.实验的功能设计及描述
2.1 实验的功能设计
学生成绩管理
(1)系统以菜单方式工作
(2)学生信息录入功能(学生信息用文件保存)
(3)学生信息浏览功能(能查看所有同学的记录)
(4)学生信息查询功能,查询方式:
1)按学号查询
(5)成绩排序统计功能:
1)按照指定的要求对学生记录进行排序
(6)学生信息删除,修改功能
2.2实验的功能描述
学生基本信息的输入,包括学号、姓名、性别、计算机成绩、数学成绩、英语成绩学生基本信息的查询、修改,包括学号、姓名、性别、各科成绩。
学生信息的查询,包括学号、姓名、性别、各科成绩。
学生信息的删除,删除该学生的所有信息。
学生成绩排序统计,按各科成绩分别排序。
3.主要模块的算法描述修改功能的流程图:
图1-0修改流程图
4.系统的性能测试
菜单
程序开始运行的主界面,现在用图1-1表示。
图1-1 菜单
信息录入
在主菜单界面选择1,就能进行学生信息录入与添加如图1-2所示。
图1-2 信息录入
信息浏览
在在主菜单界面选择2,就能进行浏览,如图1-3所示。
图1-3 信息浏览
信息查询
在主菜单界面选择3,按照提示选择查询方式,如图1-4所示。
图1-4 信息查询
成绩排序统计(各科成绩从高到低排序)
1. 按总分(图1-5-1)
图1-5-1 按总分排序2.按计算机成绩(图1-5-2)
图1-5-2 按计算机成绩排序
3.按英语成绩(图1-5-3)
图1-5-3 按英语成绩排序4.按数学成绩(图1-5-4)
图1-5-4 按数学成绩排序
删除
1.按学生姓名删除(如图1-6-1)
图1-6-1 按学生姓名删除2.按学号删除(如图1-6-2)
图1-6-2 按学号删除
修改
按学号找到要修改的学生信息,进行修改(如图1-7)
图1-7 按学号修改
5.主要模块的源代码清单
5.1学生信息的修改
void change() //修改
{
long int temp;
int id2,j=0,z;
char ch2,ch;
do
{
display();
printf("输入要修改的学生学号:");
scanf("%ld",&id2);
ch=getchar();
for(i=0;i { if(id2==stu[i].id) { j++; printf("找到所要修改的学生信息,请修改:\n"); printf("学生姓名修改为"); scanf("%s",stu[i].name); ch=getchar(); //接收回车 printf("学生性别修改为f/m:"); while(1) { scanf("%s",&stu[i].sex); ch=getchar(); if(stu[i].sex!='m'&&stu[i].sex!='f') { printf("输入有误,请重新输入:\n"); // ch=getchar(); } else break; } printf("学生计算机成绩修改为(0-100):\n"); while(1) { scanf("%d",&stu[i].computer); if(stu[i].computer<0||stu[i].computer>100) printf("输入有误,请重新输入:\n"); else break; } printf("学生数学成绩修改为(0-100):\n"); while(1) { scanf("%d",&stu[i].math); if(stu[i].math<0||stu[i].math>100) printf("输入有误,请重新输入\n"); else break; } printf("学生英语成绩修改为(0-100):\n"); while(1) { scanf("%d",&stu[i].english); ch=getchar(); if(stu[i].english<0||stu[i].english>100) printf("输入有误,请重新输入\n"); else break; } save(); printf(" 修改后的信息:\n"); display(); break; } } if(j==0) { printf("没有信息记录\n"); break; } printf("继续修改请输入1,其他输入将退出\n"); scanf("%d",&z); } while(z==1); } void search() //查找 {