C语言课程设计学生选修课程系统设计.docx

上传人:b****1 文档编号:14183498 上传时间:2023-06-21 格式:DOCX 页数:17 大小:422.07KB
下载 相关 举报
C语言课程设计学生选修课程系统设计.docx_第1页
第1页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第2页
第2页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第3页
第3页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第4页
第4页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第5页
第5页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第6页
第6页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第7页
第7页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第8页
第8页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第9页
第9页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第10页
第10页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第11页
第11页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第12页
第12页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第13页
第13页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第14页
第14页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第15页
第15页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第16页
第16页 / 共17页
C语言课程设计学生选修课程系统设计.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课程设计学生选修课程系统设计.docx

《C语言课程设计学生选修课程系统设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生选修课程系统设计.docx(17页珍藏版)》请在冰点文库上搜索。

C语言课程设计学生选修课程系统设计.docx

C语言课程设计学生选修课程系统设计

学生选修课系统设计

一、设计目的

当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。

计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

本系统就是为了管理好学生选课信息而设计的。

数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。

基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。

二、题目说明

假定有n门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。

试设计一选修课程系统,使之能提供一下功能:

(1)系统以菜单方式工作;

(2)课程信息和学生信息的录入功能(课程信息有文件保存)----输入;

(3)课程信息浏览功能----输出;

(4)查询功能(至少一种查询方式)---算法;

(5)按学分查询;

(6)某门课程学生选修情况(可选项)。

[提示]

数据结构可用结构体,包括课程和选秀两个结构体,其中课程结构体包括课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期。

选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况.。

三、数据结构设计

本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构体这种数据结构。

typedefstructsubjects

{

intnum;

管理员身份登录\n");

puts("\t\t\t\t2.以学生身份登录\n");

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

puts("\n\n\t\t*******************************************\n");

printf("Chioseyournumber(1-3):

[]\b\b");

scanf("%d",&n);

switch(n)

{

case1:

Mangers();break;

case2:

Students();break;

case3:

w=0;break;

default:

;

}

}

while(w==1);

return0;

}

(二)管理员功能模块

管理员的功能一共有四个功能:

浏览,查询,添加,删除课程,运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用:

 

[程序]

voidMangers()

{

intn,w=1,flag=0,i=3;

chars[8];

charpassword[7]="1";

do

{

printf("\n\nEnterpassword:

");

scanf("%s",s);

if(!

strcmp(s,password))deldel

del

n");

choose();

}

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

while(!

feof(fp))

{

ptr=(SUB*)malloc(sizeof(SUB));

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&ptr->num,ptr->name,ptr->kind,&ptr->stime,&ptr->ttime,&ptr->etime,&ptr->score,&ptr->term);

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

}

system("pause");

}

(六)查询模块

查询模块主要用于管理员功能中的“查询课程”和学生功能模块中的“查询所有课程”,查询模块共分为三个查询方法:

按课程名称查找,按课程性质查找和按学分查找switch语句中,每一个case语句就是一中查询方法:

 

[程序]

voidsearch()

洁明了的程序菜单。

程序主要采用了六组层次不同的菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。

2.人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。

程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地进行程序的操作。

3.智能化的模块设计。

程序的智能化主要体现在减少了许多人工操作。

如功能模块操作结束后,均会返回主菜单进行下一模板的运行,并提示是否再进行类似的操作,这样给用户带来了操作的方便,大大提高了学生选课的效率。

本程序达到了C语言课程设计题目的所有要求。

即本程序

(1)系统一菜单方式工作

(2)课程信息和学生选课信息录入功能(课程信息用文件保存输入(3)课程信息浏览功能——输出(4)查询功能(至少一种查询方式)——算法(5)按学分查询(6)某门课程学生选修情况(可选项)的功能要求。

与此同时,程序各模块开发设计依据了程序的具体实际的使用情景,而有所改进,使其更具有实用性。

【程序的缺点】

主要表现在以下四点:

1.程序虽然经过多次精简,但仅仅是形式上、小范围的精简,仍

未得到本质上的精简,即未找到更加简单、更加高效、更加合理、更小占用的资源的算法。

2.程序仍然存在不合理的地方,例如程序某些部分输入错误会导致程序中止或转向其他功能模块,即程序建议用户注意提示,进行合理的准确的输入,这样更有利于管理工作。

3.程序功能仍然不够完善。

例如信息表达方式不丰富,比较单一,缺少图片、音乐等元化表达方式。

附录(源程序代码)

#include""

#include""

#include""

#include""

voidprin1();

voidchoose();

typedefstructsubjects

{

intnum;n");

choose();

}

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

while(!

feof(fp))

{

ptr=(SUB*)malloc(sizeof(SUB));

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&ptr->num,ptr->name,ptr->kind,&ptr->stime,&ptr->ttime,&ptr->etime,&ptr->score,&ptr->term);

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

}

system("pause");

}

void*myInsert(SUB*subj)管理员身份登录(password1)\n");

puts("\t\t\t\t2.以学生身份登录\n");

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

puts("\n\n\t\t************************************************\n");

printf("Chioseyournumber(1-3):

[]\b\b");

scanf("%d",&n);

switch(n)

{

case1:

Mangers();break;

case2:

Students();break;

case3:

w=0;break;

default:

;

}

}

while(w==1);

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2