学生证管理系统课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言课程设计实验报告课程设计题目:学生证管理系统

姓名:

学号:

班级:

专业:

指导教师:

2014年 1 月 2 日

学生证管理系统课程设计报告

1.需求分析。

根据学生证管理的需要,建一个“学生证管理系统”,以方便对学生证信息的各项管理操作。要求完成:1.能对学生证信息进行录入和修改2.能按照学号和班级号显示学生证信息和更改、删除信息。

2.总体设计。

根据以上分析,本系统主要包括:从键盘输入学生证信息、从指定的文件中读入学生证信息、按照学号和班号查询学生证信息、删除和修改学生证信息。

(1)主函数main():定义学生结构体数组,输出操作对话框,调用录入、查询、删除、输出等函数对学生证信息进行处理。

(2)录入函数enter():从键盘输入学生证信息。

(3)录入函数load():从文件输入学生证信息。

(4)查询函数search():按学号查找记录信息。

(5)查询函数display():按班级查找记录信息。

(6)删除函数del():删除指定学号的学生记录。

(7)修改函数modify():按照指定学号修改记录。

程序功能图如下:

3.详细设计。

本功能一共有16个函数,其中一个主函数,15个功能模块,每个功能模块都是由于主函数或其他功能模块调用,分别说明如下:

图1.2 主程序流程图

(2)键盘输入函数。

键盘输入函数主要完成学生信息从屏幕输入数据,并将数据保存到文本文件中,以备后用。流程图:

Y

(3)文件输入函数。

文件输入函数主要完成学生信息从文件中读入数据。

Y

(4)学号查询函数。

学号查询函数是完成由用户输入需要查询的学号,在现有学生信息中查询是否有此学生信息存在,查到输出学生全部信息,没查到则输出“此学生部存在”信息。

流程图如下:

图1.5 学号查询流程图

班级查询函数是完成由用户输入需要查询的班级,在现有学生信息中查询此班级的全部学生信息,查到输出全部信息,没差到则输出“此班级学生不存在”信息。

学号删除函数是完成由用户输入需要删除的学号,在现有学生信息中查询是否有该学生信息存在,查到则删除此学生全部信息,没查到则输出“此学生不存在”信息。

程序流程图如下:

(7)修改函数。

修改函数主要是完成根据学号查找到学生信息,输出学生信息,然后修改学生信息。程序流程如下:

图1.7 学号修改流程图

4.测试结果。

(1)程序运行主菜单

1.9 主菜单界面(2)从文件输入并显示结果

(3)按学号查找。

(4)修改测试。(5)按班号浏览。

(6)统计班级的人数。

(7)删除功能测试。

5.软件操作使用说明书。

本软件采用命令行对话方式进行操作,运行后出现主界面如图1.9所示,然后按菜单提示操作即可。

6.总结。

通过本次课程设计练习,我们学会了科学分析问题解决问题的方法,从问题分析下手,然后进行模块设计,详细设计,再进行代码编写和测试。在调试程序过程中,学会了分模块进行,避免了以前那种将程序全部功能都放在main()函数中完成的弊病,使得调试过程更加顺利。另外通过本次练习,在前面学习过程中碰到的诸如结构体使用.指针使用.函数之间参数传递等难点问题也迎刃而解了。

源代码:

//student.h

#include //I/O函数

#include //标准库函数

#include //字符串函数

#include //字符操作函数

#define M 50 //定义常数表示记录数

typedef struct //定义数据结构

{

char no[20]; //学号

char name[20]; //

char sex[5]; //性别

char classes[20]; //班号

char subject[20]; //学院专业

}STUDENTS;

//以下是函数原型

#include"stufun.h"

//student.cpp

//菜单函数,函数返回值为整数,代表所选的菜单项 ................................

int menu_select()

{

char s[80];

int c;

printf("******************************主菜单*********************\n");

printf("* 0. 输入学生证信息记录*\n");

printf("* 1. 浏览学生证信息记录*\n");

printf("* 2. 按学号查找*\n");

printf("* 3. 按学号删除*\n");

printf("* 4. 按学号修改*\n");

printf("* 5. 插入学生记录*\n");

printf("* 6. 保存记录到文件*\n");

printf("* 7. 加载文件到存*\n");

printf("* 8. 按班号浏览*\n");

printf("* 9.统计班级人数*\n");

printf("* 10.程序退出*\n");

printf("*********************************************************\n");

do

{

printf("\n 输入您的菜单选项编号(0-10):"); //提示输入选项

scanf("%s",s); //输入选择项

c=atoi(s); //将输入的字符串转化为整型数

getchar();

}while(c<0||c>10); //选择项不在0~10之间重输

return c;

//返回选择项,主程序根据该数调用相应的函数

}

//输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度 .......................

int enter(STUDENTS t[])

{

int i,n;

system("cls");

printf("\n请输入学生记录条数:\n");

scanf("%d",&n); //输入记录数

printf("请输入学生记录:\n");

printf("学号性别班号学院专业\n");

printf("------------------------------------------------------------------------\n");

for (i=0;i

{

scanf("%s",t[i].no); //输入学号

scanf("%s",t[i].name); //输入

scanf("%s",t[i].sex); //输入性别

scanf("%s",t[i].classes); //输入班号

scanf("%s",t[i].subject); //学院专业

}

getchar();

return n; //返回记录条数

}

//显示记录,参数为记录数组和记录条数 .........................

void list(STUDENTS t[],int n)

相关文档
最新文档