C语言程序设计--班级档案管理系统
C
课程名称 : C语言课程设计 设计
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目: 班级档案管理系统 学生姓名:
学 号:
专业班级:
指导老师:
数学与信息技术学院
2011 年 11 月1日
说 明
1、设计目的
1.复习巩固C语言的基础知识,进一步加深对C语言编程的理解和掌握。了解和掌握C语言面向对象程序设计的基本过程,熟习C语言的特点。
2.利用所学知识,理论和实际结合,利用资源,采用模块化的结构,学会把整体规划成一个个小程序,再把各个部分合成一个完整系统,内心牢记模块化。使用模仿修改自主设计相结合的方法,锻炼自己综合分析解决实际问题的编程能力。
3. 加深对C语言课程所学知识的理解,进一步巩固C语言讲法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,以及文件的读写操作等。
4. 培养自己的耐心,遇到困难永不退缩。培养我们在项目开发中team合作精神、创新意识以及实战能力。
2
2、设计题目
设计题目:班级档案管理系统
对一个有N个学生的班级,通过该系统实现对该班
级学生的基本信息进行录入、显示、修改、删除、保存等操作的
管理。
功能要求:
(1)本系统采用一个包含N个数据的结构体数组,每个数据的
结构应当包括:学号、姓名、性别、年龄、备注。 (2)本系统显示这样的菜单:
请选择系统功能项:
a 学生基本信息录入
b 学生基本信息显示
c 学生基本信息保存
d 学生基本信息删除
e 学生基本信息修改(要求先输入密码) (1)修改某学生学号
(2)修改某学生姓名
(3)修改某学生性别
(4)修改某学生年龄
f 学生基本信息查询
(1)按学号查询
(2)按姓名查询
3
(3)按性别查询
(4)按年龄查询
g. 退出系统
(3)执行一个具体的功能之后,程序将重新显示菜单。 (4)将学生基本信息保存到文件中。
(5)进入系统之前要先输入密码。
3、设计要求和设计报告
设计要求
1.模块设计合理、可行。
2.界面美观大方,人机交互方便、简捷。
3.代码精炼,可读性好。
4.应用面向对象设计方法进行设计使用,数组、结构体、链表等作为数据结构。
设计报告
1.需求分析:涉及的知识基础(概述),解决问题的基本思路。 2.总体设计:功能模块框图,
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图等。
3.算法分析:算法描述、实现方法、详细流程图等。 4.代码编写:主要模块的代码分析,要有详细的注释等。 5.编程调试:调试过程与步骤,发现的问题,解决的办法等。
4
1. 总体设计---------------------------6
2. 详细设计---------------------------7
3. 调试与测试------------------------10
4. 源程序
清单
安全隐患排查清单下载最新工程量清单计量规则下载程序清单下载家私清单下载送货清单下载
------------------------11
5. 执行结果---------------------------20
6. 总结与体会------------------------24
7. 参考文献---------------------------26
5
1.总体设计
系统功能结构图
班级档案管理系统
学 学 学 学 学 学 验 生 生 生 生 生 生 证 基 基 基 基 基 基 系 本 本 本 本 本 本 统 信 信 信 信 信 信 密
码 息 息 息 息 息 息 录 显 保 查 修 删 入 示 存 询 改 除
学 姓 性 年 修修修修
号 名 别 龄 改改改改
查 查 查 查 学姓性年
询 询 询 询 号 名 别 龄
6
函数调用关系图
void Search()
main ( )
void print() void Save()
void Delete() bool Check() void Delete
void Delete
void Display() void Delete void Get() void Modify()
2.详细设计
1.需求分析
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作管理。
本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
班级档案管理系统有8个功能,把这8个功能做成8个子函数,
7
最后在main函数里进行对这8个子函数实现,来实现整个系统的操作。
2.设计思路
结构体数组:
struct student /*定义结构体数组*/
{
char name[100]; /*姓名*/
char num[100]; /*学号*/
char sex; /*性别*/
int age; /*年龄*/
char note[100]; /*备注*/
};
程序的模块组成:
bool Check(char pas[6]) //密码验证,读取c:\\1.txt
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-修改学号
8
2-修改姓名
3-修改性别
4-修改年龄
,
void Delete(struct student* arr , int n)//学生基本信息删除
void Search(struct student* arr , int n)//学生基本信息查询
,
1-学号查询
2-姓名查询
3-性别查询
4-年龄查询
,
各函数的主要功能
密码验证函数:进入系统需验证正确的密码,修改学生信息时
也需要验证密码
录入函数:随时输入学生信息
显示函数:显示所有学生信息
删除函数:删除某学生的信息
修改函数:修改学生基本信息
查找函数:方便查找某个学生的信息
保存函数:保存好学生信息,以免丢失
9
3.调试与测试
问题1:输入密码验证
起初构想的时候打算用if函数的,事先用数组存好密码,用if函数来匹配,如果匹配则进入系统,不然进不去提示密码错误,但是那个方法貌似效率不高。
解决办法:于是通过资料搜索采用bool Check(char pas[6])
函数,此函数通过fopen读取事先存储在C盘里的1.txt文本,再加上strcmp字符串比较函数和键盘输入的密码匹配,如果匹配则进入系统,不然则显示密码错误。
问题2:删除模块
用void Delete(struct student* arr,int n)函数实现,如何使已经录入的学生数据删除。
解决办法:通过查阅书籍用到了strcmp字符串比较函数,如果两个学号匹配,则用strcpy字符串复制函数,用空字符串复制到原有信息,删除功能就实现了。
10
4.源程序清单
#include
#include
#include
#include
#define N 3
struct student
{
char name[100];
char num[100];
char sex;
int age;
char note[100];
};
void print()//打印基本信息
{
printf("|************欢迎进入学生档案管理系统*******************|\n"); printf("|----------------------------------主菜单---------------------------------------|\n");
printf("|-----------1-学生基本信息录入*2-学生基本信息显示----------------|\n"); printf("|-----------3-学生基本信息保存*4-学生基本信息删除-----------------|\n"); printf("|-----------5-学生基本信息修改*6-学生基本信息查询-----------------|\n"); printf("|-----------7-退出学生信息系统* -------------------------------------------|\n");
printf("|-----------------------------------------------------------------------------------|\n");
}
bool Check(char pas[6])//密码验证
{
FILE *fp;
char ch;
char a[7]={" "};
int i = 0;
if ((fp=fopen("c:\\1.txt","r"))==NULL)//读取密码
{
printf("打开文件失败!\n");
exit(0);
}
ch=fgetc(fp);
11
while (ch!=EOF&&i<6)
{
a[i] = ch;
ch=fgetc(fp);
i++;
}
a[6] = '\0';
if (!strcmp(pas,a))
{
return true;
}
else
{
printf("密码错误\n");
return false;
}
fclose(fp);
}
void Get(struct student *arr,int n)//学生基本信息录入 {
int i;
for (i = 0;i
本文档为【C语言程序设计--班级档案管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。