C语言课程设计学生考勤系统Word文件下载.docx

上传人:b****2 文档编号:14701826 上传时间:2022-10-24 格式:DOCX 页数:31 大小:109.86KB
下载 相关 举报
C语言课程设计学生考勤系统Word文件下载.docx_第1页
第1页 / 共31页
C语言课程设计学生考勤系统Word文件下载.docx_第2页
第2页 / 共31页
C语言课程设计学生考勤系统Word文件下载.docx_第3页
第3页 / 共31页
C语言课程设计学生考勤系统Word文件下载.docx_第4页
第4页 / 共31页
C语言课程设计学生考勤系统Word文件下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

C语言课程设计学生考勤系统Word文件下载.docx

《C语言课程设计学生考勤系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生考勤系统Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。

C语言课程设计学生考勤系统Word文件下载.docx

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序加必要的注释。

平时成绩:

验收答辩成绩:

设计报告成绩:

总评成绩:

指导教师:

一、总体设计

1.程序的总体设计

◎确定界面,使用户可选择操作项目(录入,修改,查询,评分)。

◎录入功能:

使用结构体,要求用户输入姓名、性别、学号、日期、节次、当前出勤情况等信息,并写入文件。

◎修改功能:

使用户输入学号,姓名其中一项可以修改考勤其信息。

对于修改功能的实现,是先将所有文件内容读入到内存中,然后修改考勤值,最后再重新覆盖写入文件。

◎查询模块:

使用字符串比较函数,利用循环找到对应结构体数组元素,然后输出需要信息。

对于查询功能的实现,同修改,是先将所有文件内容读入到内存中,然后查找到其中某项,最后输出到屏幕。

◎评分模块:

系统根据总的应道考勤数按照百分制,求出每个学生的分数,并输出到屏幕。

2.数据结构

学生信息用结构体记录,包括姓名(字符数组)、性别(字符型)、日期(年月日三个字符数组)、节次(整型)、出情况(整型)。

3.函数原型声明

voidmain()//主函数

voidinput();

//录入数据函数

voidchange();

//修改数据函数

voidsearch();

//查询数据函数

voidevaluate();

//计算总评函数

二、详细设计

1.main()函数

voidmain()

{

voidinput();

charitem;

system("

color34"

);

printf("

★◇★□★◇★□★◇★□★◇★□★◇★□★\n"

printf("

●●\n"

◇学生考勤管理系统◇\n"

◇BY朱胜佳◇\n"

◇1.学生信息及考勤情况录入◇\n"

◇2.学生信息及考勤情况修改◇\n"

◇3.学生信息及考勤情况查询◇\n"

◎◎\n"

●4.学生考勤总评分数查询●\n"

◇◇\n"

//用户界面

printf("

\n"

请选择您需要的操作\n"

scanf("

%c"

&

item);

switch(item)

{

case'

1'

:

input();

break;

2'

change();

3'

search();

4'

evaluate();

}//实现功能选择

}

流程图:

结束

2.input()函数

voidinput()

inti,j=0,jx=1;

************************学生基本信息录入*****************************\n"

if((fp=fopen("

date.txt"

"

w"

))==NULL)

printf("

文件打开失败\n"

exit(0);

}

for(i=0;

jx==1;

i++)//输入信息循环

{for(;

j==0;

)//输入确认循环

getchar();

请输入第%d个学生的姓名"

i+1);

gets(stu[i].name);

请输入第%d个学生的学号"

gets(stu[i].number);

请输入第%d个学生的性别(男:

m女:

f)"

stu[i].sex=getchar();

请输入第%d个学生的生日(格式:

年月日)"

scanf("

%d%d%d"

stu[i].year,&

stu[i].month,&

stu[i].day);

请输入第%d个学生的当前考勤次数"

%d"

stu[i].kq);

您输入的信息为姓名%s学号%s性别%c生日%d年%d月%d日\n0重输1确认"

stu[i].name,stu[i].number,stu[i].sex,stu[i].year,stu[i].month,stu[i].day);

j);

//输入确认

j=0;

if(fwrite(&

stu[i],sizeof(structstudent),1,fp)!

=1)printf("

文件写入错误\n"

//写入文件

是否继续输入下一个学生信息0终止1继续\n"

jx);

//继续输入选择

fclose(fp);

0返回主菜单\n"

getchar();

a=getchar();

if(a=='

0'

)main();

//返回主菜单

}

Y

3.change()函数

voidchange()

{inti=0,j=0,sway,t,x;

charname[10],number[10];

**********************学生考勤修改**************************\n"

r"

))==NULL)//将文件内容读入内存

feof(fp)==0;

i++)fread(&

stu[i],sizeof(structstudent),1,fp);

//读取文件内容

//关闭文件

选择查找方式1按照姓名查找2按照学号查找"

sway);

/**********************按照姓名查找开始*************************///

if(sway==1)

请输入需要修改学生的姓名"

//printf("

i=%d"

i);

%s"

name);

for(j=0;

t!

=0;

j++)

{

t=strcmp(stu[j].name,name);

if(j==i)

{

t=0;

printf("

未找到您所查询的数据,请重新输入\n"

}

}

if(j<

i)//查询成功

您查找的学生信息如下\n姓名%s学号%s性别%c生日%d年%d月%d日当前考勤次数%d\n"

stu[j-1].name,stu[j-1].number,stu[j-1].sex,stu[j-1].year,stu[j-1].month,stu[j-1].day,stu[j-1].kq);

是否修改该生考勤信息0否1是"

//选择是否修改考勤

x);

//输入选择变量值

if(x==1)

请输入新的考勤值"

scanf("

stu[j-1].kq);

//输入新的考勤值

if((fp=fopen("

))==NULL)//以只写方式打开文件

{

}

for(j=0;

j<

i;

j++)if(fwrite(&

stu[j],sizeof(structstudent),1,fp)!

是否继续修改其他学生考勤0否1是"

if(x==1)change();

/**********************按照姓名查找结束*************************///

/**********************按照学号查找开始*************************///

if(sway==2)

请输入需要修改学生的学号"

number);

t=strcmp(stu[j].number,number);

if((f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1