资源简介
c语言课程设计,学生选课管理系统,编译环境DevC++
1. 本次课设小组已达到课程目的。主要熟悉C语言中结构体、指针、文件的使用。加深对C语言基础知识的理解和掌握,并规范编程习惯,进一步增强C语言编程实践能力,锻炼思维逻辑和解决综合性实际问题的能力,
2. 加深对C语言的理解,为接下来的学习打下坚实的基础。
3. 对于想大作业这样的工作量,一个人是很难以去完成的,通过这次大作业,充分的锻练了我们的合作能力,以及在编程的过程中要考虑的程序的适用性,而不是像平时作业一样任凭自己发挥。
代码片段和文件信息
#include
#include
#include
#include
struct subject{//课程信息
int number;//课程编码
char name[20];//课程名称
char teacher[20];//教师姓名
int point;//课程学分
char place[20];//教室地点
};
struct system{//用户账号信息
long count;
long password;
};
struct student{//账号数据
int count;//账号
char name[20];//姓名
char selectclass[20];//选课1
char selectclass2[20];//选课2
};
void subjects()//显示学科数据
{
FILE *fp;
struct subject st1[128];
int ilen;
fp=fopen(“课程数据.txt““rb“);
if (fp==NULL)
{
printf(“can‘t open file\n“);
exit(0);
}
for(i=0;!feof(fp);i++)
fread(st1sizeof(struct subject)1fp);
rewind(fp);
len=i-1;
printf(“序号: 课程 老师 学分 地点\n“);
fread(st1sizeof(struct subject)lenfp);
for(i=0;i printf(“%d : %s %s %d %s \n“st1[i].numberst1[i].namest1[i].teacherst1[i].pointst1[i].place);
fclose(fp);
}
long login()//用户登入
{
FILE *fp;
struct system user[128];
int i;
long count;
long password;
int sele;
printf(“-----------欢迎使用学生选课管理系统-----------\n“);
printf(“\n“);
fp=fopen(“用户信息.txt““r“);
if (fp==NULL)
{
printf(“can‘t open file\n“);
exit(0);
}
for(i=0;i<4;i++)
{
fscanf(fp“%d %d “&user[i].count&user[i].password);
}
printf(“请输入账号(提示:账号形式为100**数据类型为整形):“);
do//账号输入
{
scanf(“%d“&count);
for(i=0;i<4;i++)
{
if(user[i].count==count)
break;
}
if(i==4)
printf(“账号输入错误,请重新输入:“);
}while(i==4);
printf(“请输入密码(数据类型为整形):“);
do//密码输入
{
scanf(“%d“&password);
if(password==user[i].password)
break;
printf(“密码输入错误,请重新输入:“);
}while(password!=user[i].password);
return count;
}
/////////////////////////////////////////////////////////////////学生功能代码
void choose1()//第一次选课
{
int seleilent=0;
FILE *fp;
struct subject st1[128];
void loadclass1( int number);
fp=fopen(“课程数据.txt““rb“);
if (fp==NULL)
{
printf(“can‘t open file\n“);
exit(0);
}
for(i=0;!feof(fp);i++)
fread(st1sizeof(struct subject)1fp);
rewind(fp);
len=i-1;
fread(st1sizeof(struct subject)lenfp);
printf(“--------------一次选课-----------------\n“);
printf(“课程如下\n“);
subjects();
printf(“如果你想选择课程,请输入前面的序号:“);
do
{
scanf(“%d“&sele);
for(i=0;i {
if(sele==st1[i].number)
{
loadclass1(sele);
t=9;
}
}
if(t==9)
break;
printf(“输入错误,请重新输入:“);
}while(t!=9);
}
void choose2()//第二次选课
{
int seleilent=0;
FILE *fp;
struct subject st1[128];
void loadclass2( int number);
fp=fopen(“课程数据.txt““r“);
if (fp==NULL)
{
printf(“can‘t open file\n“);
exit(0);
}
for(i=0;!feof(fp);i++)
fread(st1sizeof(struct subject)1fp);
rewind(fp);
len=i-1;
fread(st1sizeof(struct subject)lenfp);
printf(“课程如下\n“);
subjects();
printf(“如果你想选择课程,请输入前面的序号:“);
do
{
scanf(“%d“&sele);
for(i=0;i {
if(sele==st1[i].number)
{
loadclass2(sele);
- 上一篇:C语言实现的校园导航系统
- 下一篇:线性表的基础训练 顺序表
相关资源
- C语言实现的校园导航系统
- s盒的C语言实现,S盒.cpp文件
- C语言实现的文字加密与解密小程序(
- rs编解码.c rs纠错码
- 物流管理系统V4.8
- 纯C语言实现https的post和get不依赖任何
- 红外避障小车程序C语言源码.rar
- C语言的小型通用数据库.rar
- C语言实现宾果消消乐
- 51单片机DIY制作:旋转LED数字显示电子
- C语言基于哈希表实现通讯录
- socket多人聊天程序C语言版(一)
- c语言 根据坐标 截取yuv420p 区域 保存
- 算法精解 的源代码
- 基于C语言的流水灯设计
- c语言图形动画课程设计奔跑的小人
- 电力系统潮流计算C语言程序
- 二叉树的插入C语言
- C语言仿真的aloha算法
- AVR单片机C语言程序设计精粹程序
- 银行家算法源程序包含C语言+C++两种代
- C语言拔高训练含代码
- 数据结构C语言版_迪杰斯特拉算法
- Linux下C语言编写服务端、客户端程序
- linux系统下C语言实现带有图形界面的
- 微机接口课设 Proteus 8086 汽车控制系统
- C语言32个关键字九种控制语句34种运算
- C语言试题库共650题,含答案
- c语言 条形码识别
- 链队列严蔚敏 C语言版 链队列表示与
评论
共有 条评论