课程设计报告
设计名称: C 语言课程设计
姓 名: 学 号:
专业班级: 计算机 161 班
系 (院): 计算机工程学院
设计时间: 2017.6.12~2017.6.28
设计地点: 计算机工程学院实验室、宿舍、图书馆
指导教师评语:
签名:
年 月 日
成绩:
第 1 页 共 15 页
1.课程设计目的
C 语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用
的要求,使课程设计既覆盖 C 语言程序设计的知识点,又接近工程实际需要。本次设计的目的是通
过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标
是通过课程设计这种形式,帮助学生系统掌握 C 语言程序设计这门课程的主要内容,养成良好的编
程习惯,更好的完成教学任务。
2.课程设计任务与要求:
要求:
本次课程设计利用《C 语言程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度
和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、编程简练,程序功能齐全,能正确运行
4、说明书、流程图要清楚
5、课题完成后必须按要求提交课程设计报告
任务:
班级档案管理系统:对一个有 N 个学生的班级,通过该系统实现对该班级学生的基本信息进行
录入、显示、修改、删除、保存等操作的管理。
实现功能:
(1)本系统采用一个包含 N 个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性
别、年龄、备注。
(2)本系统显示这样的菜单:
请选择系统功能项:
1) 学生基本信息录入
2) 学生基本信息显示
3) 学生基本信息保存
4) 学生基本信息删除
5) 学生基本信息修改(要求先输入密码)
6) 学生基本信息查询:a)按学号查询;b)按姓名查询;c)按性别查询;d)按年龄查询
7) 退出系统
(3)执行一个具体的功能之后,程序将重新显示菜单。
(4)将学生基本信息保存到文件中。
(5)进入系统之前要先输入密码。
3.课程设计说明书
第 2 页 共 15 页
(1) 系统功能模块划分:
主函数:void main()
录入函数:void Get()
显示函数 void Display()
保存函数 void Save()
删除函数 void Delete()
修改函数 void Modfiy()
查询函数 void Search()
输出函数:void print()
(2)算法分析
对一个有 N 个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修
改、删除、保存等操作管理。
本系统采用一个包含 N 个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性
别、年龄、备注。
班级档案管理系统有 8 个功能,把这 8 个功能做成 8 个子函数,最后在 main 函数里进行对
这 8 个子函数实现,来实现整个系统的操作。
(3)详细设计
图 1 程序流程图
班级档案管理系统
学
生
基
本
信
息
录
入
学
生
基
本
信
息
显
示
学
生
基
本
信
息
删
除
学
生
基
本
信
息
修
改
学
生
基
本
信
息
查
询
退
出
系
统
学
生
基
本
信
息
保
存
按
学
号
查
询
按
姓
名
查
询
按
性
别
查
询
按
年
龄
查
询
按
学
号
修
改
按
姓
名
修
改
按
性
别
修
改
按
年
龄
修
改
第 3 页 共 15 页
图 2:函数关系流程图
(4)函数说明
结构体数组:
struct student /*定义结构体数组*/
{
char name [10];
int num[10];
char sex;
int age;
char note[100]; /*备注*/
Main 函数
输 入 密 码
@mima
If(Check)
调用 print 函数
输入要实现的项目序号 s
s>0&&s<7
调用各个功能函数
结束
第 4 页 共 15 页
};
程序的模块组成:
bool Check(char code[])//密码验证
void Get(struct student *arr , int n)//学生基本信息录入
void Display(struct student *arr , int n)//学生基本信息显示
void Save(struct student *arr,int n)//学生基本信息保存,保存在 c:\\student.txt
void Modify(struct student *arr , int n)//学生基本信息修改
{
1. 修改学号
2. 修改姓名
3. 修改性别
4. 修改年龄
}
void Delete(struct student *arr , int n)//学生基本信息删除
void Search(struct student *arr , int n)//学生基本信息查询
{
1. 学号查询
2. 姓名查询
3. 性别查询
4. 年龄查询
}
各函数的主要功能
密码验证函数:进入系统需要验证的密码,修改学生信息时也需要验证密码
录入函数:随时输入学生信息
显示函数:显示所有学生信息
删除函数:删除某学生的信息
修改函数:修改学生基本信息
查找函数:方便查找某个学生的信息
保存函数:保存好学生信息,以免丢失
文件说明:
学生基本信息保存,保存在 c:\\student.txt
(5)遇到的问题及解决方案分析:
问题 1:输入密码验证
起初构想的时候打算用 if 函数的,事先用数组存好密码,用 if 函数来匹配,如果匹
配则进入系统,不然进不去提示密码错误,但是那个方法貌似效率不高。
解决办法:通过运用书上的文件部分内容的 password 函数进行
问题 2:删除模块
用 void Delet(struct student *arr , int n)函数实现,如何使已经录入的学生数
据删除。
解决办法:通过查阅书籍用到了 strcmp 字符串比较函数,如果两个学号匹配,则用 strcpy 字符串复
制函数,用空字符串复制到原有信息,删除功能就实现了。