篇一:教师上课点名系统_c语言
课程设计任务书
院系:电子信息工程学院 专业:电子信息工程 班级:
学号: 题目:教师上课点名系统
一、课程设计时间
2010~11第1学期第2周,共计1周,20学时。
二、课程设计内容
用C语言编写程序完成以下任务:
教师在每次上课时,需要对学生点名。学生信息保存在文件file20.txt(由教师提供)中,包括学号、姓名、是否缺席三项。编写程序,完成如下功能:
1 教师点名:对所有学生进行点名,并更新file20.txt文件;
2 分别统计已到和未到的学生,并显示;
3 能够向文件中添加后报到的学生信息。
三、课程设计要求
1. 程序质量:
? 贯彻结构化的程序设计思想。
? 用户界面友好,功能明确,操作方便。
? 用户界面中的菜单至少应包括“开始点名”、“信息统计”、“学生信息添加”、
“退出”4项。
? 代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参
见提供的模板。
四、指导教师和学生签字
指导教师:________学生签名:________
五、说明书成绩
六、教师评语
目 录
一、程序设计题目 ................................................ 1
二、需求分析 ........................................................ 1
.三、程序流程图 ................................................... 2
四、核心技术的实现方法及程序段 .................... 6
五、个人总结 ........................................................ 8
六、参考文献 ........................................................ 8
七、源程序 ............................................................ 8
一、程序设计题目
1 教师点名:对所有学生进行点名,并更新file20.txt文件;
2 分别统计已到和未到的学生,并显示;
3 能够向文件中添加后报到的学生信息。
二、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,其中每一个模块对应一个功能,他们的功能分别是:程序界面设计模块,文件读写模块,文件更新模块,教师点名模块,学生信息添加模块,学生缺席情况统计模块,学生信息显示模块,。
1、程序界面设计模块主要实现程序最初运行时程序界面友好、美观的的构型以及简明的操作提示;
2、文件读写模块实现的功能是对myfile.dat文件数据的读取和存储,将文件中的数据保存到结构体student中,并将点名次数通过save函数保存到文件中;
3、显示点名情况模块按照题目的要求将数据文件中所有学生的学号、姓名、被点名次数打印到屏幕上;
4、随机点名算法模块 通过调用数学函数库中的随机数生成函数rand实现点名的随机性,并将被点到的学号、姓名打印到屏幕上;
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
三、程序流程图
总体框架图:
模块设计:
读取数据模块(图一)
篇二:c语言实训总结报告125041330
实习报告书
防灾科技学院 灾害信息工程系
2013年制
实习目的:
本课程是信息管理与信息系统专业的一门专业必修课程,是学生学习完C语言程序设计专业基础课程后,进一步学习其他专业课程前必须完成的一项实践教学环节。也是信息管理与信息系统专业实习、信息管理与信息系统生产实习、信息管理与信息系统毕业实习课程的基础。
本次实习通过4-5个综合性强、实用性强的应用实例,使学生了解本专业毕业生所能从事的工作种类及工作岗位规格要求;培养学生掌握面向过程程序设计的基本素养、思维方法及技能,能够熟练应用C程序设计语言描述问题、解决问题,提高学生的综合编程能力。使学生进一步明确学习目标、增强学习动力、培养学习兴趣,为后继专业课程的学习打下坚实的基础。
实习任务概述:
任务一:万年历
任务二:学生成绩管理系统 任务三:简易四则运算计算器 任务四:双人对战五子棋 实习所用软件简介:
Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。
Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为
任务一:万年历 1.系统需求分析
在日常生活中经常需要用计算器,比如科学计算、数值计算、会计业务等,实现一个简单的四则运算计算器,拥有加、减、乘、除功能,使用户方便、快捷。 2.系统环境要求
使用C语言在VC环境下设计一个带图形界面的简易四则运算计算器,需要Windows 2000y以上的系统,Visual C++6.0/2008 (x86 & x64)/2010 (x86 & x64),Win32 Console Application和EasyX库。
3 系统功能及模块图
1.输入年份,打印出十二月历和对应的星期 2.输入年月,打印出该月的日历和对应的星期
3.输入年月日,判断是星期几,是不是公历的某个节日
4.根据系统日期推算出某一个日期距离今天还有多少天 模块图:
4.主要函数
Int isleap(int year)/*判断是否为闰年*/
Int maxDay(int year、int month)/*判断某一个月的天数*/
int eachyeartotal(int year,int month,int day)/*判断某天是一年中的第几天*/
int week(int year,int month,int day)/*对天数进行判断确定是星期几*/ void display(int year ,int month) /*输出年月*/ void display1(int year) /*输出年历*/
void display2(int year,int month) /*输出月历*/
void display3(int year,int month,int day) /*输出日历*/
int counterdays(int year,int month,int day)/*判断今天距特定日期的天数*/
void whatweek(int year,int month,int day)/*判断是星期几*/ void jieri(int month,int day) /*判断是否公历节日*/ void getmenu() /* 显示菜单选择*/
void setDay3(int year,int month,int day)/*通过键"PageUp""PageDown"控制日期的变换*/
void setDay2(int year,int month,int day) /*通过键盘"←""→"控制月历的变换*/
void setDay1(int year,int month,int day) /*通过键盘"↑""↓"控制年历的变换*/
4.具体实现:
#include <time.h> /*包含的头文件*/ #include <stdio.h> #include <math.h> #include <windows.h> #include <conio.h>
#defineKEYNUMUp 0x48/*宏定义*/ #defineKEYNUMDown 0x50
#defineKEYNUMLeft 0x4b #defineKEYNUMRight 0x4d #defineKEYNUMPageUp0x49 #defineKEYNUMPageDown 0x51
int eachyeartotal(int year,int month,int day); /*函数声明*/ int counterdays(int year,int month,int day); int nowtime(int year,int month,int day); int week(int year,int month,int day); int maxDay(int year,int month); int isleap(int year); void getmenu();
void whatweek(int year,int month,int day); void display(int year ,int month); void display2(int year,int month);
void display3(int year,int month,int day) ; void setDay1(int year,int month,int day); void setDay2(int year,int month,int day); void setDay3(int year,int month,int day); void jieri(int month,int day); void display1(int year);
int isleap(int year) /*判断是否为闰年*/ {
if(year%4==0&&year%100!=0||year%400==0) return 1; else return 0; }
int maxDay(int year,int month) /*每月的天数*/ {
int a[]={31,28,31,30,31,30,31,31,30,31,30,31};/*每个月中的天数*/if(isleap( year))
a[1]=29; /*闰年2月份有29天*/return a[month-1]; }
int eachyeartotal(int year,int month,int day) /*判断某天是一年中的第几天*/ {
int i,sum=0;
for(i=1;i<month;i++)sum+=maxDay(year,i);sum+=day;return sum;}
int week(int year,int month,int day) /*对天数进行判断确定是星期几*/ {
int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+eachyeartotal(year,month,day);number=number%7 ;return number; }
void display(int year ,int month)/*输出年月*/ {
int max,number,i,j=1;
max=maxDay(year,month);number=week(year,month,1);
printf(" %4s %4s %4s %4s %4s %4s "Thu","Fri","sat");
for(i=0;i<number;i++)
printf("");while(j<=max){
printf("%6d",j); if (i%7==6)
printf("\n"); i++;j++; }
printf("\n\n"); }
void display1(int year) {
int i;
printf("\n");
for(i=1;i<=12;i++) {
printf("%d 年 %d 月\n\n ",year,i); display(year,i);} }
void display2(int year,int month){
printf("\n%d 年 %d 月\n ",year,month);display(year,month); }
void display3(int year,int month,int day){
whatweek( year,month,day);jieri(month,day);
counterdays(year,month, day);
%4s\n","Sun","Mon","Tue","Wed",/*1号前的星期补空格*//* 每7格换一行*//*输出年历*/ /*输出月历*/ /*输出日历*/
篇三:教师上课点名系统,c语言
沈阳航空航天大学
课程设计任务书
院系:电子信息工程学院 专业:电子信息工程 班级:
学号: 题目:教师上课点名系统
一、课程设计时间
2010~11第1学期第2周,共计1周,20学时。
二、课程设计内容
用C语言编写程序完成以下任务:
教师在每次上课时,需要对学生点名。学生信息保存在文件file20.txt(由教师提供)中,包括学号、姓名、是否缺席三项。编写程序,完成如下功能:
1 教师点名:对所有学生进行点名,并更新file20.txt文件;
2 分别统计已到和未到的学生,并显示;
3 能够向文件中添加后报到的学生信息。
三、课程设计要求
1. 程序质量:
? 贯彻结构化的程序设计思想。
? 用户界面友好,功能明确,操作方便。
? 用户界面中的菜单至少应包括“开始点名”、“信息统计”、“学生信息添加”、
“退出”4项。
? 代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参
见提供的模板。
四、指导教师和学生签字
指导教师:________学生签名:________
五、说明书成绩
六、教师评语
目 录
一、程序设计题目 ................................................. 1
二、需求分析 ......................................................... 1
.三、程序流程图 .................................................... 2
四、核心技术的实现方法及程序段 ..................... 6
五、个人总结 ......................................................... 8
六、参考文献 ......................................................... 8
七、源程序 ............................................................. 8
一、程序设计题目
1 教师点名:对所有学生进行点名,并更新file20.txt文件;
2 分别统计已到和未到的学生,并显示;
3 能够向文件中添加后报到的学生信息。
二、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,其中每一个模块对应一个功能,他们的功能分别是:程序界面设计模块,文件读写模块,文件更新模块,教师点名模块,学生信息添加模块,学生缺席情况统计模块,学生信息显示模块,。
1、程序界面设计模块主要实现程序最初运行时程序界面友好、美观的的构型以及简明的操作提示;
2、文件读写模块实现的功能是对myfile.dat文件数据的读取和存储,将文件中的数据保存到结构体student中,并将点名次数通过save函数保存到文件中;
3、显示点名情况模块按照题目的要求将数据文件中所有学生的学号、姓名、被点名次数打印到屏幕上;
4、随机点名算法模块 通过调用数学函数库中的随机数生成函数rand实现点名的随机性,并将被点到的学号、姓名打印到屏幕上;
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
三、程序流程图
总体框架图:
模块设计:
读取数据模块(图一)