学生证管理系统

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

中国地质大学(武汉)C语言课程设计论文

学院: 计算机学院

专业: 信息安全

题目: 学生证管理系统

班级: 192101班

姓名: 崔新月

学号: 20101001364

指导教师: 朱莉张冬梅

2011年6月6日

一课程设计的目的提高程序设计能力,检验课堂教学内容,掌程序设计的基本方法和调试技能。在编程的过程中可以深入的学习

数据结构,算法,编译原理,操作系统原理,软件工程等知识,从而更深层次的提高自己的编程水平。还有就是通过这次课程设

计可以为以后参加ACM等编程大赛做准备,培养我们编程的兴

趣。

二课程设计报告正文

题目

该系统应该具有下列功能:

(1)录入某位学生的学生证信息。

(2)给定学号,显示某位学生的学生证信息。

(3)给定某个班级的班号,显示该班所有学生的学生证信息。

(4)给定某位学生的学号,修改该学生的学生证信息。

(5)给定某位学生的学号,删除该学生的学生证信息。

(6)提供一些统计给类信息的功能。

【输入要求】

应用程序运行后,在屏幕上显示一个菜单。用户可以根据要求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。

【输出要求】

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的

数据内容、格式及结束方式等。 【提示】

设计时可采用结构体类型和一维数组类型,用来保存学生证的内容。

三 分析

由于题目要求给出清晰明确懂得信息,所以在程序中要提供各种

不同功能的模块。这样子可以使程序更加简单易懂,可读性强。

总体设计

五 具体设计及分析

1.主函数

主函数主要提供菜单界面以及各模板函数的调用。以结构体的形式定义。通过直到型循环以及sqitch 语句来实现各功能模块的调用以及循环。

#include

#define J30

信息输入模块

信息查询模块 信息修改模块 信息删除模块 信息统计模块

功能选择

系统模块

main() /*主函数菜单*/ {

int n,q;

do

{

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

printf("\t\t\t\t 1. 录入\n");

printf("\t\t\t\t 2. 查询\n");

printf("\t\t\t\t 3. 修改\n");

printf("\t\t\t\t 4. 删除\n");

printf("\t\t\t\t 5. 统计\n");

printf("\t\t\t\t 6. 退出\n");

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

printf("请选择你需要做什么(1-6):[ ]\b\b");

scanf("%d",&n);

if(n<1||n>6)

{

q=1;

getchar();

}

else q=0;

}

while(q==1);

switch(n)

{

case 1:scanf_stu();break;

case 2:search();break;

case 3:revise();break;

case 4:delete_stu();break;

case 5:stat();break;

case 6:exit(0);

}

}

struct student /*定义结构体*/ {

char num[10];

char class_num[10];

char name[10];

char sex[4];

char nation[10];

char native[10];

int born;

int ave; }

2.各功能模块的设计

(1)输入模块

主要用于录入学生的学生证信息,调用添加各文件函数

int scanf_stu()

{

int n;

n=load(); /*调用加载文件函数*/ input(n); /*调用添加记录函数*/ save(n); /*调用保存函数*/ printf_back(); /*调用选择返回或结束函数*/ }

int load() /*加载文件记录并计算学生个数函数*/ {

FILE *fp;

int i;

if((fp=fopen("student card.txt","rb"))==NULL)

{

printf("\n Can not open file\n");

return NULL;

}

for(i=0;!feof(fp);i++)

fscanf(fp,"%s%s%s%s%s%s%d%d",st[i].num,st[i].class_num,st[i].name,st[i]. sex,st[i].nation,st[i].native,&st[i].born,&st[i].ave);

fclose(fp);

return(i);

}

int input(int i)

{

bijiao_num(i); /*调用确认学号不重复函数*/ class_input(i); /*调用输入班号函数*/ printf("\n 姓名:");

scanf("%s",st[i].name);

printf("\n 性别:");

scanf("%s",st[i].sex);

printf("\n 民族:");

scanf("%s",st[i].nation);

printf("\n 籍贯:");

scanf("%s",st[i].native);

相关文档
最新文档