C语言课程设计报告选课管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计题目:学生选课管理系统

语言程序设计课程设计任务书

实验目的:

本次课程设计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体和文件等相关内容的综合应用,使同学们能进一步熟悉掌握C语言的基本语法,进一步提升自己的编程能力并逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学习打下良好的基础。

实验要求:

1. 每人一题,独立完成;设计要求有界面菜单。

2. 此次课程设计在规定的时间必须在实验室完成,不得以任何理由在其他地点进行;

3.每个人需按照选题规则确定好自己的题目(注意不是多人完成一题,每人独立完成一题),不得以任何理由选择其他的题目,当然在完成自己的题目之后根据个人兴趣可以继续选做其他的题目;

4.每人必须撰写课程设计报告(格式附后)。并上交程序代码电子稿(每位同学先建立一个文件夹,取名规则为“学号+姓名”,文件夹里存放上交电子内容,每班取一文件夹名,取名规则为班级号,内放该班同学上交内容,每班学习委员统一收齐后拷贝给指导老师)。

5.课程设计的成绩由两部分组成:考勤(30%)+程序检查成绩(40%)+报告检查成绩(30%)

实现思路:

该程序的主要功能包括:

•学生选课信息的添加(学生选课信息包括学生学号、课程名称、学分)•学生选课信息的删除

•学生选课信息查询(查询每个学生的选课信息,每个学生选课的总学分,选具体某门课程(课程名输入)的学生名单))

个人信息用结构体定义,解决的方案可以用结构体数组,或是链表作为临时数据处理,用文件来存储数据。注意数据定义的数据类型,用函数实现相应的功能,然后在主程序中调用,程序运行的时候用菜单选择功能,比如:添加个人信息―――按数字键1

修改个人信息―――按数字键2

……….

在次函数中用户通过输入选项进入不同的函数模块。当每次运行一个模块后,又进行选择。

实验正文:

#include

#include

#include

#define M 20

#define N 100

int x; //x为供选课程数

/*****主主菜单函数开始*****/

void menu()

{int n,w;

void enter_linformation();

void browse_linformation();

void enter_sinformation();

void search_num();

void search_score();

void l_choice_num();

do

{

puts("\t\t*******************MENU******************\n\n"); puts("\t\t\t\t 1.课程信息录入");

puts("\t\t\t\t 2.学生选课信息录入");

puts("\t\t\t\t 3.课程信息浏览");

puts("\t\t\t\t 4.按课程号查询");

puts("\t\t\t\t 5.按学分查询");

puts("\t\t\t\t 6.某门课程学生选修情况");

puts("\t\t\t\t 7.退出");

puts("\n\n\t\t*****************************************\n"); printf("Choice your number(1-7):[ ]\b\b");

scanf("%d",&n);

if(n<1||n>7)

{

w=1;

getchar();

}

else w=0;

}

while(w==1);

switch(n)

{

case 1:enter_linformation();break;//课程信息录入

case 2:enter_sinformation();break;//学生选课信息录入

case 3:browse_linformation();break;//课程信息浏览

case 4:search_num();break;//按课程号查询

case 5:search_score();break;//按学分查询

case 6:l_choice_num();//某门课程学生选修情况

case 7:exit(0);//退出

}

}

void main()

{

menu();

}

/*****主函数结束*****/

struct lesson

{

int num; //课程编号

char name[20]; //课程名称

char kind[10]; //课程性质

int stime; //总学时

int ttime; //授课学时

int etime; //实验或上机学时

int score; //学分

int term; //开课学期

int choice_num; //选修该课的学生人数

}les[M]; //les[M]中每个数组元素对应一条课程信息

struct student

{

int number; //学号

int num[20]; //课程编号

}stu[N]; //stu[n]中每个数组元素对应一条学生选课信息

void printf_face()//公共函数1:显示数据结构项目函数

{

printf("\n\tnumber name kind stime etime ttime score term\n");

}

void printf_one(int i) //公共函数2:显示一个课程信息记录

{printf("\n\t%d %s %s %d %d %d %d %d\n ",les[i].num,les[i].name,les[i].kind,les[i].stime,

les[i].ttime,les[i].etime,les[i].score,les[i].term);

}

//课程信息录入模块

void l_input(int i) //输入一个记录到函数

{

scanf("%d",&les[i].num);

scanf("%s",&les[i].name);

scanf("%s",&les[i].kind);

scanf("%d",&les[i].stime);

scanf("%d",&les[i].ttime);

相关文档
最新文档