C语言专业课程设计作业Word文档下载推荐.docx
《C语言专业课程设计作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言专业课程设计作业Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
![C语言专业课程设计作业Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-12/1/019b30e4-c28e-4bd1-b0fc-96985e06c143/019b30e4-c28e-4bd1-b0fc-96985e06c1431.gif)
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<
stdio.h>
conio.h>
stdlib.h>
string.h>
#include"
information.h"
int
classinfor();
void
aboutsys();
name();
char
newword[10];
main()
{
choice;
do{
system("
cls"
);
printf("
*************************************************************\n\n"
*******************湖南工学院课表管理系统********************\n\n"
\t\t1.激活学号\n\n"
\t\t2.学生登录\n\n"
\t\t3.关于我们\n\n"
\t\t0.退出系统\n\n"
choice=getch();
switch(choice){
case'
1'
:
pause"
break;
2'
if(classinfor()==1){
readclassfile();
classinformation();
}
3'
0'
exit(0);
}while(choice!
='
return
0;
name()
请输入您的学号:
"
scanf("
%s"
newname);
请输入您的密码:
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)
注册成功!
请问是否继续登录?
(y?
n):
if(choice=='
y'
||choice=='
Y'
)
else
对不起,信息有误,请重新输入!
classinfor()
//char
username[1];
password[10];
i;
count=0;
banlance;
user;
pass;
for(i=0;
i<
3;
i++){
您好!
现在开始登录"
\n请输入学号:
\n请输入密码:
password);
user=strcmp(newname,newname);
pass=strcmp(newword,password);
if(user==0
&
pass==0){
count++;
banlance=3-count;
\n对不起,您的信息有误,您还有%d次机会"
banlance);
if(i>
=3)
\n对不起,您的次数用完,系统将自动退出"
aboutsys()
********************************************************\n\n"
\t主办单位:
湖南工学院\n\n"
\t协办单位:
源辰科技\n\n"
updatainformation()
i,j;
names[20];
4;
i++)
for(j=0;
j<
6;
j++)
a[i][j]="
;
请输入要修改星期几的课(阿拉伯数字输入):
%d"
&
j);
请输入要修改星期%d的第几节课(阿拉伯数字输入):
j);
i);
请输入修改为:
names);
请问是否确认修改?
a[i-1][j]=names;
queryinformation();
4测试或调试
图4.1激活学号
图4.2学生登录
图4.3修改课表
测试数据:
注册学号:
1001
密码:
1
登录学号:
修改课表:
2,3
修改课程:
PE
测试结果:
登录功能:
正常
显示功能:
查询功能:
修改添加:
添加功能:
删除功能:
结论:
修改后数据的保存有一点小问题,测试出后改正。
5小结
5.1本问题解决方法及程序实现小结
程序虽然很小很简单,但是具体实现时还是遇到了很多问题,比如何将字符数据促存入二维数组中,或者是如何调用函数这种小问题。
一点点的小错误,有时候仅仅只是概念上的模糊,或者是一知识点的错误,程序就不能运行,在与同学商量讨论后再自己改正错误的,我体会到了平时C语言课上没有的乐趣。
只有真正自己动手是才能发现自己还存在很多的不足。
自己的C语言还需要进一步的巩固与运用。
在这次课程设计里,我们体会到了与以前没有过的团队协作与程序的模块化,一起努力编写,每个人实现程序中的一小步。
最后,一起组成了一个完整的程序。
5.2尚未解决的问题以及下一步工作思路
程序还存在很多问题,比如没有用文件来存储信息,用二维数组存储的数据太少。
程序可增添完善的地方还有很多,比如,可以增加上课的教室地点,教室姓名,一起上课的同学。
下一步工作思路:
继续完善增添,将界面变得美观化。
6参考文献
[1]《XX百科》
[2]c语言程序设计第二版北京:
清华大学出版社