课程名称: 程序设计基础课程设计
设计题目: 某小型会议参会人员管理系统
院 系: 信息技术学院
班 级: 级计算机科学与技术班
设 计 者:
学 号: 20110102
指导教师:
设计时间: 20##-6-18——20##-6-22
信息技术学院
姓 名: 院(系):信息技术学院
专 业:计算机科学与技术 学 号:
任务起止日期:20##年6月18日——20##年6月22日
课程设计题目:
某小型会议参会人员管理系统
课程设计要求:
题目九 某小型会议参会人员管理系统
某小型会议参会人员有下列信息:
?序号;?姓名;?性别; ?年龄; ?房间号 (设每个房间只住一人)。
试设计一个管理系统,使之提供以下功能:
1.随时对报到人员进行输入(参会人员信息用文件保存);
2.随时按所住房间号(由小到大)输出已报到人员信息;
3.数据查找
(1)查找指定人员的数据,并按照一定的格式输出查找结果。如果未找到,则提示没有此人的信息,并返回菜单。
4.数据删除:删除指定的人员的数据。
5.统计参会人员数量。
工作计划及安排:
本题目有五个小题,我们的计划是在一个周内完成此次编程任务。
6月18日 确定题目的主要意思,剖析问题,建立结构框架,并和小组成员进行分工合作。
6月19日 对问题再次分析,开始编程。
6月20日 继续编程。
6月21日 编程完毕,并调试与小组成员讨论修改完善。
6月22日 请老师检查,并提问。
指导教师签字
年 月 日
课程设计(大作业)成绩
学号: 姓名: 指导教师:
课程设计题目:某小型会议参会人员管理系统
总结:在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难。但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了,更发现自己对C语言这门学科的兴趣也提高了。也学到了许多以前不懂的知识。使我们对这门课程有了更深一步的理解,对我们以后的学习有了重要的作用。其中,老师对我们的帮助也是其到了极大的作用,以后我们还将对此进行深入了解进一步一升。
希望我们以后能越做越好,做出更多实用的程序。
指导教师评语:
成绩:
填表时间: 指导教师签名:
昆 明 学 院
C语言课程设计报告
设计题目:学生成绩管理系统设计
小组成员:
指导教师:
所在院系:
年级班级:计算机科学与技术
20##年 6 月18日 —— 20##年6月22 日
(1) 综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。
(2) 充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。
某小型会议参会人员有下列信息:
·序号;·姓名;·性别; ·年龄; ·房间号 (设每个房间只住一人)。
试设计一个管理系统,使之提供以下功能:
1.随时对报到人员进行输入(参会人员信息用文件保存);
2.随时按所住房间号(由小到大)输出已报到人员信息;
3.数据查找
(1)查找指定人员的数据,并按照一定的格式输出查找结果。如果未找到,则提示没有此人的信息,并返回菜单。
4.数据删除:删除指定的人员的数据。
5.统计参会人员数量。
根据系统的要求,系统总体设计如图1所示。
图1 系统总体结构
#definet 6 /*定义常数表示记录数*/
struct worker /*定义数据结构*/
{
char num[50]; /* 序号*/
char name[50]; /* 姓名*/
char sex[50]; /* 性别*/
int age; /* 年龄*/
char rmnu[50]; /* 房间号*/
}worker[t];
int sum=0; /*定义常数表示总数*/
(1) 主函数
main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。
(2) 其他各功能函数包括
(1)主菜单函数 代表所选菜单选项;
void fun(struct worker *s) //主菜单目录
{
int n;
printf("\n\n\t\t参会人员管理系统");
printf("\n\n\t----------------------------------------");
printf("\n\n\t\t1:录入报到人员信息");
printf("\n\n\t\t2:输出已报到人员信息");
printf("\n\n\t\t3:查找指定人员信息");
printf("\n\n\t\t4:删除指定人员信息");
printf("\n\n\t\t5:统计参会人员数量");
printf("\n\n\t\t6:保存并退出系统");
printf("\n\n\t----------------------------------------");
printf("\n\n请选择你要的服务(按数字1~6进入):");
scanf("%d",&n);
system("cls");
if(n==1) //进入1菜单
{
printf("\n\n\t\t欢迎进入录入报到人员信息系统");
fun1(s);
}
else if(n==2) //进入2菜单
{
printf("\n\n\t\t欢迎进入输出已报到人员信息系统");
fun2(s);
}
else if(n==3) //进入3菜单
{
printf("\n\n\t\t欢迎进入查找指定人员信息系统");
fun3(s);
}
else if(n==4) //进入4菜单
{
printf("\n\n\t\t欢迎进入删除指定人员信息系统");
fun4(s);
}
else if(n==5) //进入5菜单
{
printf("\n\n\t\t欢迎进入统计参会人员数量系统");
fun5(s);
} else if(n==6) //进入6菜单
{
if(sum>0) //保存数据
{
baocun(s);
}
printf("\n\n\t\t谢谢使参会人员管理系统!\n"); //退出系统
printf("\n\n\t\t请双击Enter键退出系统:");
getchar();
getchar();
exit(0);
}
else
printf("\n\n\t\t数据错误");
}
运行结果:
图一(系统主菜单)
(2)录入报到人员信息:
void fun1(struct worker *s)
{
FILE *fp;
int n,i;
char d;
printf("\n\n\t请输入参会人员的数量:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\n\t\t请输入参会人员的序号:");
scanf("%s",s[i].num);
printf("\n\t\t请输入参会人员姓名:");
scanf("%s",s[i].name);
sum++;
printf("\n\t\t请输入参会人员的性别:");
scanf("%s",s[i].sex);
printf("\n\t\t请输入参会人员的年龄:");
scanf("%d",&s[i].age);
printf("\n\t\t请输入参会人员的房间号:");
scanf("%s",s[i].rmnu);
system("cls");
}
if((fp=fopen("D:\\CCmeeting.dat","wb"))==NULL)
{
printf("can't open file!\n");
exit(0);
}
for(i=0;i<n;i++)
{
if(fwrite(&s[i],sizeof(struct worker),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
printf("返回首页(请按Enter键):");
scanf("%c",&d);
system("cls");
fun(s);
}
运行结果:
图二(录入参会人员信息)
(3) 输出已报道人员信息:
void fun2(struct worker *s)
{
int i;
FILE *fp;
char d;
sum=0;
if((fp=fopen("meeting.dat","rb"))==NULL)
{
printf("can't open file!\n");
exit(0);
}
for(i=0;i++)
{
if(fread(&s[i],sizeof(struct worker),1,fp)!=1)
{
if(feof(fp))
{
break;
}
else
{
printf("ERRor!");
}
}
else
{
printf("\n\t输出参会人员的信息:");
printf("\n\n\t\t序号\t姓名\t性别\t年龄\t房间号");
printf("\n\t---------------------------------------------------");
printf("\n\n\t\t%-8s%-8s%-8s%-8d%-8s",s[i].num,s[i].name,s[i].sex,s[i].age,s[i].rmnu);
printf("\n\t---------------------------------------------------");
sum++;
}
}
fclose(fp);
printf("\n\n返回首页(请按Enter键):");
getchar();
scanf("%c",&d);
system("cls");
fun(s);
}
运行结果:
图3(输出报到人员信息)
(4) 查找指定人员信息:
void fun3(struct worker *s)
{
char a[20],d;
int i,flag=0;
printf("\n\n\t请输入要查询参会人员的序号:");
scanf("%s",a);
for(i=0;i<5;i++)
{
if(!strcmp(s[i].num,a))
{
printf("\n\t此参会人员的信息:");
printf("\n\n\t\t序号\t姓名\t性别\t年龄\t房间号");
printf("\n\t---------------------------------------------------");
printf("\n\n\t\t%-8s%-8s%-8s%-8d%-8s\n",s[i].num,s[i].name,s[i].sex,s[i].age,s[i].rmnu);
printf("\n\t---------------------------------------------------");
flag=1;
}
}
if(!flag)
{
printf("\n\t\t查无此人!");
}
printf("\n\n返回首页(请按Enter键):");
getchar();
scanf("%c",&d);
system("cls");
fun(s);
}
运行结果:
四程序清单与执行结果
1. 头文件
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define t 6 //定义常数表示记录数
void fun(struct worker *s); //系统菜单
void fun1(struct worker *s); //录入人员信息
void fun2(struct worker *s); //输出人员信息
void fun3(struct worker *s); //查找指定人员信息
void fun4(struct worker *s); //删除指定人员信息
void fun5(struct worker *s); //保存并退出
struct worker
{
char num[50]; //序号
char name[50]; //姓名
char sex[50]; //性别
int age; //年龄
char rmnu[50]; //房间号
}worker[t];
int sum=0; //定义常数表示总数
2. 主函数源程序代码与运行结果
主函数源程序代码:
void main()
{
struct worker s[t]; //定义结构体数组
fun(s); //调用系统菜单
}
运行结果:
五.调试与测试
所谓程序调试是对程序的查错和排错。对此程序我们进行了以下步骤:
(1)人工检查,即静态检查。此过程我们对于写好的程序进行了排查,并且进行了注释。
(2)上机调试。通过上机调试发现的错误为动态检查,这时发现了许多错误和警告,我们根据提示逐一改正。
(3)运行程序。这一步骤我们逐一检查每个菜单是否运行正常与正确,在这个过程中我们出现了许多格式不正确,我们细心的进行修改。
总之,在我们对程序进行了细心的调试和测试之后,我们的程序正常运行了,但是其中还是有很多不足的地方。比如我们的修改成绩这一向就是不完善的,要是程序里出现了不同序号但存储数据这个很难应该还有一些问题,在以后我们会进行改善。
六、结语
在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难。但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了,更发现自己对C语言这门学科的兴趣也提高了。也学到了许多以前不懂的知识。使我们对这门课程有了更深一步的理解,对我们以后的学习有了重要的作用。其中,老师对我们的帮助也是其到了极大的作用,以后我们还将对此进行深入了解进一步一升。
希望我们以后能越做越好,做出更多实用的程序。
参会人员名单
本表一式多份,参加会议单位各存一份。
题目4会议记录管理系统内容及要求定义会议信息类classConference会议信息包括会议编号会议名称部门名称会议地点会议日期会…
理工大学课程设计题目会议记录管理系统院系计算机科学与技术学院网络工程系班级网络班学号080402姓名同组成员指导教师成绩20年0月…
滨江学院Java程序设计实习报告题目会议记录管理系统专业计算机系年级班级12级软件工程1班学号20xx2305047学生姓名何俊杰…
沈阳理工大学课程设计专用纸Noi沈阳理工大学课程设计专用纸No1沈阳理工大学课程设计专用纸No222类的设计说明定义类为struc…
includeltiostreamhgtincludeltfstreamhgtincludeltstdlibhgtincludeltstringhgt…
最好用的无纸化会议管理系统你知道千亿以上的大公司一年要开多少视频或电话会议吗说出来一定会让你大吃一惊据不完全统计平安集团每年召开大…
视频会议管理系统一系统设计原则Android手机视频会议系统功能涵盖会议控制音视频传输录像播放以及会议终端几个方面总体实现会议多媒…
沈阳理工大学课程设计专用纸Noi沈阳理工大学课程设计专用纸No1沈阳理工大学课程设计专用纸No222类的设计说明定义类为struc…
万科房地产的会议管理系统20xx0824213051标签分类地产精髓召集人参会人员议程会议管理系统万科房地产东京房产会议是人们为了…
会议管理系统需求规格说明书目录1引言111目的112背景113参考资料114术语12任务概述121目标122用户的特点123假定和…