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

0 下载量 2 浏览量 更新于2024-06-23 收藏 232KB DOC 举报
"C语言课程设计说明书---学生选修课管理" 本次课程设计是针对C语言的学习者,旨在提升学生对C语言的理解和应用能力。设计的主题是“学生选修课管理系统”,它要求学生能够利用C语言编程技术,构建一个能够处理学生选课和课程信息的软件。 教学要求主要包括以下几个方面: 1. 加深学生对C语言基础知识的理解,例如变量、数据类型、控制结构等。 2. 提高学生的C语言编程技巧,包括语法、逻辑控制和错误调试。 3. 学习通过C语言进行简单的软件设计,理解程序的结构和流程。 4. 培养书写程序设计文档的能力,学习如何清晰地表达程序的设计思路和实现方法。 5. 强化用C语言解决实际问题的能力,例如处理数据输入输出、文件操作等。 设计资料和参数设定了一个包含n门课程的系统,每门课程有特定的属性,如课程编号、名称、性质、学时分配等。学生需根据一定的规则(如最低学分要求)选择课程。系统应具备课程信息录入、浏览和查询功能,查询方式可以是按学分或课程名称进行。 设计要求包括: 1. 分析需求,确定系统的功能模块,可以使用数组或链表数据结构来实现。 2. 编写详细的设计说明,包括功能分析和模块流程图,以展示程序的工作原理。 3. 实现程序代码,确保代码规范、易读,有适当的注释,每个学生至少编写3个函数,代码量不少于500行(不包括注释和花括号)。 4. 设计的软件应用户友好,易于操作。 5. 完成设计后提交课程设计报告,报告内容需按照规定的模板排版。 课程设计的进度安排为五天,依次是选择题目、编程、调试、撰写报告和提交报告。评估标准涉及平时的上机表现、软件的可运行性以及报告质量,雷同的报告将被视为不及格。 建议参考的资料可能包括C语言教程、编程实践指南以及软件设计理论书籍,帮助学生更好地完成此次课程设计任务。通过这个项目,学生不仅能在实践中巩固C语言技能,还能体验到软件开发的全过程,从而提高综合能力。
2023-05-31 上传
《高级语言程序设计》 题 目:学生选修课管理系统 目录 1. ..........................................题目说明 2. .....................................数据结构设计 3. .....................................系统大纲 4. .....................................模块设计 5. .....................................程序代码 6. .....................................运行结果 7. .....................................小结 学生选修课管理系统 假定有n门课程,,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或 上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课.试设计 一选修课程系统,使之能提供一下功能: 1) 系统以菜单方式工作; 2) 课程信息和学生信息的录入功能(课程信息有文件保 存)----输入; 3) 课程信息浏览功能----输出; 4) 查询功能(至少一种查询方式)---算法; 5) 按学分查询; 6) 某门课程学生选修情况(可选项). 二:数据结构设计 本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找,添加,删除,课程 的选修,追加选修的课程.课程信息采用结构体这种数据结构. 三:系统大纲 四:模块设计 (一) 主函数,头文件及结构体声明 主函数设计地比较简洁,只是提供一个主菜单,switch语句将整个程序分为两个大的功 能模块 [程序] #include "stdio.h" #include "string.h" #include "stdlib.h" #include"malloc.h" typedef struct subjects //课程结构体 { int num; //课程编号 char name[20]; //课程名称 char kind[10]; //课程性质 int stime; //总学时 int ttime; //授课学时 int etime; //实验或上机学时 int score; //学分 int term; //开课学期 struct subjects *next; }SUB; SUB *head=NULL; int main() { int n,w=1; do { system("cls"); puts("\n\n\t\t*****************MENU******************\n\n"); puts("\t\t\t\t1.以管理员身份登录\n"); puts("\t\t\t\t2.以学生身份登录\n"); puts("\t\t\t\t3.退出"); puts("\n\n\t\t*******************************************\n"); printf("Chiose your number(1-3):[ ]\b\b"); scanf("%d",&n); switch(n) { case 1:Mangers() ;break; case 2:Students();break; case 3:w=0;break; default:; } } while(w==1); return 0; } (二) 管理员功能模块 管理员的功能一共有四个功能:浏览,查询,添加,删除课程.运用字符串处理函数处理 密码的问题,用一个switch语句实现函数的调用. [程序] void Mangers() //管理员登录菜单 { int n,w=1,flag=0,i=3; char s[8]; char password[7]="123456"; do { printf("\n\nEnter password:"); scanf("%s",s); if(!strcmp(s,password)) //进行密码匹配验证 { flag=1; break; } else { printf("\n\nError! You only have %d times! Enter again:\n",i- 1); i--; } } while(i>0); if(!flag) { printf("you have Enter 3 times!"); //输入密码超过了3次!! exit(0); //自动退出 } do { system("cls"); puts("\n\n\t\t**************管理员菜单******************