C语言课程设计作业.docx
- 文档编号:9565805
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:11
- 大小:46.98KB
C语言课程设计作业.docx
《C语言课程设计作业.docx》由会员分享,可在线阅读,更多相关《C语言课程设计作业.docx(11页珍藏版)》请在冰豆网上搜索。
C语言课程设计作业
C语言课程设计
学生课表管理系统
学院:
计算机与信息科学学院
学生姓名:
指导教师:
专业:
软件工程
班级:
软件1401
完成时间:
1问题要求及问题描述2
1.1概述2
1.2题目要求2
1.3问题描述2
1.4主要功能2
1.5我的任务2
2解决问题的主要思路以及方法3
2.1关键问题3
2.2拟采用解决问题的方法3
2.3主要算法以及处理流程图3
3程序实现5
3.1程序实现时应考虑的问题5
3.2主要源代码及说明5
4测试或调试10
5小结13
5.1本问题解决方法及程序实现小结13
5.2尚未解决的问题以及下一步工作思路13
6参考文献14
1问题要求及问题描述
1.1概述
由于科技的迅速发展,将人们带入了一个信息化时代。
计算机越来越贴近人们的生活,而纸质的课表不便于保存,也容易损坏,并且不能及时更改。
为了使课表更加人性化,我们制作了学生课表系统。
即使人们在外出时也可以随时查看课表。
1.2题目要求
制作一个便于携带与查看的学生课表系统
1.3问题描述
此系统应该能允许学生用学号进行注册,注册之后可以顺利地登录,然后查看课表,所看的课表与学号是对应的,不同的学号对应一个不同的课表。
可根据需要对已有的课表进行增添删除与修改。
1.4主要功能
(1)登录权限:
用户注册并登录成功才可查看课表,加大系统的安全性。
(2)显示信息:
显示对应班级的学生课表。
(3)修改信息:
学生可修改对应的课程。
(4)添加信息:
学生可添加自己的课程。
(5)删除信息:
学生可将错添或已修完课程删除。
(6)退出系统:
课表查看完成后,可以退出系统。
1.5我的任务
我的任务为完成学生登录与修改信息部分。
2解决问题的主要思路以及方法
2.1关键问题
1.如何对修改数据进行保存,使用数组还是文件。
2.如何将代码分装并连接,实现模块化程序设计。
2.2拟采用解决问题的方法
1.利用二维数组将数据保存,使用时再取出。
2.利用函数的思想,将程序划分为几个小模块。
2.3主要算法以及处理流程图
主要算法:
for循环对数据进行遍历。
if语句实现程序的条件循环。
流程图如下:
N
Y
图1.4流程图
3程序实现
3.1程序实现时应考虑的问题
程序较多使用循环结构,循环嵌套容易出错导致程序达不到预期效果。
代码较多,应多给予注释,增加程序的可读性,便于后期程序的测试与调试。
3.2主要源代码及说明
软件主要功能部分代码:
#include
#include
#include
#include
#include"information.h"
int classinfor();
void aboutsys();
int name();
char newword[10];
int main()
{
char choice;
do{
system("cls");
printf("*************************************************************\n\n");
printf("*******************湖南工学院课表管理系统********************\n\n");
printf("\t\t1.激活学号\n\n");
printf("\t\t2.学生登录\n\n");
printf("\t\t3.关于我们\n\n");
printf("\t\t0.退出系统\n\n");
printf("*************************************************************\n\n");
printf("*************************************************************\n\n");
choice=getch();
switch(choice){
case'1':
name();
system("pause");
break;
case'2':
if(classinfor()==1){
readclassfile();
classinformation();
}
system("pause");
break;
case'3':
aboutsys();
system("pause");
break;
case'0':
exit(0);
break;
}
}while(choice!
='0');
return 0;
}
int name()
{
char choice;
printf("请输入您的学号:
");
scanf("%s",newname);
printf("请输入您的密码:
");
scanf("%s",newword);
if(strcmp(newname,b)==0 || strcmp(newname,c)==0||strcmp(newname,d)==0||strcmp(newname,e)==0||strcmp(newname,f)==0||strcmp(newname,g)==0)
{
printf("注册成功!
请问是否继续登录?
(y?
n):
");
choice=getch();
if(choice=='y'||choice=='Y')
{
classinfor();
}
}
else
{
printf("对不起,信息有误,请重新输入!
");
}
return 0;
}
int classinfor()
{
//char username[1];
char password[10];
int i;
int count=0;
int banlance;
int user;
int pass;
system("cls");
for(i=0;i<3;i++){
printf("您好!
现在开始登录");
printf("\n请输入学号:
");
scanf("%s",newname);
printf("\n请输入密码:
");
scanf("%s",password);
user=strcmp(newname,newname);
pass=strcmp(newword,password);
if(user==0 && pass==0){
classinformation();
}
count++;
banlance=3-count;
printf("\n对不起,您的信息有误,您还有%d次机会",banlance);
if(i>=3)
{
printf("\n对不起,您的次数用完,系统将自动退出");
exit(0);
}
}
return 0;
}
void aboutsys()
{
system("cls");
printf("********************************************************\n\n");
printf("\t主办单位:
湖南工学院\n\n");
printf("\t协办单位:
源辰科技\n\n");
printf("********************************************************\n\n");
}
int updatainformation()
{
int i,j;
char names[20];
char choice;
for(i=0;i<4;i++)
for(j=0;j<6;j++)
a[i][j]=" ";
printf("请输入要修改星期几的课(阿拉伯数字输入):
");
scanf("%d",&j);
printf("请输入要修改星期%d的第几节课(阿拉伯数字输入):
",j);
scanf("%d",&i);
printf("请输入修改为:
");
scanf("%s",names);
printf("请问是否确认修改?
(y?
n):
");
choice=getch();
if(choice=='y'||choice=='Y')
{
a[i-1][j]=names;
queryinformation();
}
return 0;
}
4测试或调试
图4.1激活学号
图4.2学生登录
图4.3修改课表
测试数据:
注册学号:
1001
密码:
1
登录学号:
1001
密码:
1
修改课表:
2,3
修改课程:
PE
测试结果:
登录功能:
正常
显示功能:
正常
查询功能:
正常
修改添加:
正常
添加功能:
正常
删除功能:
正常
结论:
修改后数据的保存有一点小问题,测试出后改正。
5小结
5.1本问题解决方法及程序实现小结
程序虽然很小很简单,但是具体实现时还是遇到了很多问题,比如何将字符数据促存入二维数组中,或者是如何调用函数这种小问题。
一点点的小错误,有时候仅仅只是概念上的模糊,或者是一知识点的错误,程序就不能运行,在与同学商量讨论后再自己改正错误的,我体会到了平时C语言课上没有的乐趣。
只有真正自己动手是才能发现自己还存在很多的不足。
自己的C语言还需要进一步的巩固与运用。
在这次课程设计里,我们体会到了与以前没有过的团队协作与程序的模块化,一起努力编写,每个人实现程序中的一小步。
最后,一起组成了一个完整的程序。
5.2尚未解决的问题以及下一步工作思路
程序还存在很多问题,比如没有用文件来存储信息,用二维数组存储的数据太少。
程序可增添完善的地方还有很多,比如,可以增加上课的教室地点,教室姓名,一起上课的同学。
下一步工作思路:
继续完善增添,将界面变得美观化。
6参考文献
[1]《XX百科》
[2]c语言程序设计第二版北京:
清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)