背单词小程序和选课系统课设报告

合集下载

C语言背单词课程设计报告计划

C语言背单词课程设计报告计划

通讯工程 C 语言加强训练实验报告学号:4110918姓名:诸葛逍遥提交日期:2012年 7月 4日成绩:评语:教师署名:东北大学分校计算机与通讯工程学院题目:背单词1.概括该系统是帮助单词背诵单词的软件,要求用户能够选择背诵的词库,并能够编写自己的词库,系统能够给出中文,让单词输入其英文意思,也可输出英文让单词输入中文意思。

并判断词义能否正确。

如不正确给出提示并要求用户从头输入。

如正确给予鼓舞。

还应有词语预览功能。

基本功能:1)词库的保护2)课程预览3)显示中文用户输入英文的背诵方法4)显示英文用户输入中文的背诵方法5)背诵成绩的记录。

2.课程设计目的综合训练单词用C语言编程解决问题和办理问题的能力,稳固其对C语言课程容和知识的掌握。

3.对课程设计的基本要求1)尽量多的应用 C语言中所学到的知识和语句2)课程设计前应书写开题报告主要容包含(对题目的剖析和对该课程设计的纲要设计)3)课程设计后应交《课程设计报告》,和软件原代码及编译后的应用软件4)课程设计最后一次上机实验时检查题目的达成状况5)课程设计中一定用到的容为a 文件的存取b 构造体的使用 c 数组的使用 d 指针操作一、开题报告1.变量和构造体说明1)单词信息的构造体以下:typedef struct word//单词的构造体{char en[M_CHAR]; //英文形式char ch[M_CHAR]; //中文形式}word;2)寄存单词的信息的变量以下 :word s[M_NUM]; //单词数组int num;//单词个数2.纲要设计1)定义构造体数组用来寄存单词的信息2)单词信息寄存在 data.txt 中,文件格式以下:单词个数—长度为 4 个字节第1 个单词的信息----- 长度为sizeof(word)第 2 个单词的信息 ----- 长度为 sizeof(word)。

第 n 个单词的信息 ----- 长度为 sizeof(word)3)读文件 data.txt 的过程以下:翻开文件 data.txt 用 fopen 函数(以 mode指定的方式翻开名为 filename 的文件)先读取单词个数,而后逐一读取单词的信息,采纳fread函数(从fp所指定的文件中读取长度为size 的 n 个数据项,存到pt 所指向的存区)4)写文件 data.txt 的过程以下:先写入单词个数,而后逐一写入单词的信息,采纳fwrite 函数(把 ptr 所指向的 n*size个字节输出的fp所指向的文件中)5)删除单词和改正单词信息的时候,都需要先输入英文,从该英文找到单词的地点6)程序采纳菜单的形式显示,用户能够输当选择进行操作3.树型构造模块图功能模块图以下:学生背单词系统读添修删显背背查写取加改除示诵诵询入文单单单单((成文件词词词词中英绩件信信信信信至至信息息息息息英中息))4课程流程图5.操作说明1)本程序需要目录下存在“ data.txt ”文件2)系统的菜单以下3)增添单词信息的功能操作方法以下:5)改正单词信息的功能操作方法以下:6)显示单词信息功能操作方法以下:7)显示单词背诵(中至英)功能操作方法以下: 1、回答正确2、回答错误8)显示单词背诵(英至中)功能操作方法以下:9)成绩查问的功能操作方法以下:6.课程详尽代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#define M_CHAR 20 //最大字符#define M_NUM 100 //单词的最大个数int c=0,d=0;//统分变量typedef struct word// 单词的构造体{char en[M_CHAR]; //英文形式char ch[M_CHAR]; //中文形式}word;word s[M_NUM]; //单词数组int num;//单词个数void read_from_file()//从文件中读取单词的信息FILE *fp;int i=0;fp=fopen("data.txt","rb");// 以 rb (为读而翻开一个二进制文件)翻开 data.txt 文件 if(!fp){printf("翻开文件失败!\n");return ;}fread(&num,1,sizeof(num),fp); //先读取单词的个数for(i=0;i<num;i++)fread(&s[i],1,sizeof(word),fp); //读取每个单词的信息寄存到构造体fclose(fp);//封闭文件}void write_to_file()//向文件中输入单词的信息{FILE *fp;int i=0;fp=fopen("data.txt","wb+");//“ wb+”成立一个新文件,进行写操作,随后读和写能够由位置函数设置读和写的开端地点if(!fp){printf("翻开文件失败!\n");return ;}fwrite(&num,1,sizeof(num),fp); //先写入单词的个数for(i=0;i<num;i++)fwrite(&s[i],1,sizeof(word),fp); //写入每个单词的信息fclose(fp);//封闭文件}void add_infor()//增添单词信息{int a,i=num;printf("请输入单词的英文形式:");scanf("%s",s[i].en);printf("请输入单词的中文形式:");scanf("%s",s[i].ch);num++;printf("您输入的信息为:英文: %s \n中文: %s \n Enter 0持续输入; Enter 1返回主菜单 ",s[i].en,s[i].ch);}void del_infor()//删除单词信息{int i=0,j=0;char ch[M_CHAR]; //中文形式printf("请输入你要删除的单词中文形式:");scanf("%s",ch);for(i=0;i<num;i++)//先找到该中文形式对应的序号if(strcmp(s[i].ch,ch)==0)//strcmp(比较两个字符串str1和str2){for(j=i;j<num-1;j++)s[j]=s[j+1];num--; //数目减少1printf("删除成功 !\n Enter 1返回主菜单");return;}printf("没有这个单词 !");printf("Enter Enter 1返回主菜单");}void modify_infor()//改正单词信息{int i=0;char ch[M_CHAR]; //中文形式printf("请输入你要改正的单词中文形式:");scanf("%s",ch);for(i=0;i<num;i++)//先找到该中文形式对应的序号if(strcmp(s[i].ch,ch)==0){printf("请输入单词正确的英文形式:");scanf("%s",s[i].en);printf("请输入此单词正确的的中文形式:");scanf("%s",s[i].ch);printf("改正成功 !\n Enter 1返回主菜单");return;}printf("没有这个单词 !");printf("Enter Enter 1返回主菜单");}void show_infor(){int i=0;printf("单词:英文中文\n");for(i=0;i<num;i++)printf("%10s%10s\n",s[i].en,s[i].ch);printf("Enter Enter 1返回主菜单");}void search_infor()//查问单词{int i=0;char ch[M_CHAR]; //中文形式printf("请输入你要查问的单词中文形式:");scanf("%s",ch);for(i=0;i<num;i++)//先找到该中文形式对应的序号if(strcmp(s[i].ch,ch)==0){printf("英文形式中文形式\n");printf("%10s%12s\n",s[i].en,s[i].ch);return;}printf("没有这其中文形式!");printf("Enter Enter 1返回主菜单");}void ch_to_en_infor(){char b1[20];int z;int i;i = rand()%num;printf("【 %s】请输入英文单词:",s[i].ch);scanf("%s",b1);for(z=0;strcmp(b1,s[i].en)!=0;z=z){printf("输入错误!!请从头输入 :");scanf("%s",b1);c=c+1;}printf("\n恭贺你,回答正确,加10 分 !\n\n");d=d+1;printf("Enter 2持续输入; Enter 1返回主菜单",s[i].en,s[i].ch);}void en_to_ch_infor(){char b1[20];int z,x=41;int i;i = rand()%num;printf("【 %s】请输入中文意思:",s[i].en);scanf("%s",b1);for(z=0;strcmp(b1,s[i].no)!=0;z=z){printf("输入错误!!请从头输入 :");scanf("%s",b1);c=c+1;}printf("\n恭贺你,回答正确,加10 分 !\n\n");d=d+1;printf("\n Enter 3持续输入; Enter 1返回主菜单",s[i].en,s[i].no);}void chengji_infor(){printf("\n合计输入错误 :%d 次** 每次扣 10分 **\n",c);printf("合计输入正确 :%d 次** 每次加 10分 **\n",d);printf("你的总得分为 :%d 分\n\n",10*d-10*c);printf("Enter Enter 1返回主菜单 ");}void show_main_menu(){System( “color 2f” );System( “mode con cols=100 lines=40” );printf("\n");printf("★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n");printf("◎◎\n");printf("●帮你背单词●\n");printf("◎◎\n");printf("●●\n");printf("★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n");printf("◎◎\n");printf("●1、增添单词2、删除单词● \n"); printf("◎◎\n");printf("●3、改正单词4、显示单词● \n"); printf("◎◎\n");printf("●5、背诵 ( 中至英 )6、背诵 ( 英至中 )● \n"); printf("◎◎\n");printf("●7、查问成绩8、退出● \n"); printf("◎◎\n");printf("★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n"); /printf("◎◎\n");printf("●作者: 41109 班熊炫朱均安●\n");printf("◎马金坤汪婷静◎\n");printf("●●\n");printf("★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n"); // 用户界面printf("\n");printf("请选择您需要的操作序号(1-8) 按回车确认 :");}int main(){int a,choose=0;num=0;// 初始化单词个数为0read_from_file(); //读取文件show_main_menu();scanf("%d",&choose);printf("\n");while(choose!=8){switch(choose){case 1:add_infor();break;case 2:del_infor();break;case 3:modify_infor();break;case 4:show_infor();break;case 5:ch_to_en_infor();break;case 6:en_to_ch_infor();break;case 7:chengji_infor();break;}while (a<10000){scanf("%d",&a);if(a==0){write_to_file();add_infor();}if(a==1){printf("\n");write_to_file();main();printf("\n");}if(a==2){write_to_file();ch_to_en_infor();}if(a==3){write_to_fil_e();en_to_ch_infor();}if(a>3){break;}}write_to_file();//写入文件}printf("***************感谢使用单词背诵系统! 再会 !***************\n");getchar();return 1;}7.心得领会经过本次 C语言课程设计,加深了我对 C 语言的文件的存取、构造体的使用、数组的使用和指针操作的理解。

选课系统课设报告

选课系统课设报告

选课系统课设报告全文共四篇示例,供读者参考第一篇示例:选课系统课设报告一、引言随着教育领域的不断发展,高校教学管理系统也在不断完善,选课系统作为高校教学管理系统的一个重要组成部分,对学生和教师的教学生活起着至关重要的作用。

本报告将针对选课系统进行设计与开发,以提高选课效率、方便学生和教师的教学活动。

二、系统需求1. 学生端需求:(1)学生能够浏览课程信息,包括课程名称、授课老师、上课时间等;(2)学生能够进行选课操作,包括添加课程、删除课程等;(3)学生能够查看自己的选课情况,并进行调整;(4)学生能够进行退课操作,包括退选已选的课程;(5)学生能够查看课程成绩、考试信息等。

三、系统设计1. 系统架构设计:(1)选课系统采用B/S架构,即浏览器/服务器结构,学生和教师都可以通过浏览器访问系统;(2)系统后台采用MySQL数据库进行数据存储;(3)系统前台使用HTML、CSS、JavaScript进行开发。

2. 模块设计:(1)课程信息模块:包括课程的发布、浏览、修改和删除等功能;(2)选课模块:包括学生的选课和退课功能;(3)成绩管理模块:包括教师对学生成绩的录入和统计分析功能;(4)反馈模块:学生和教师可以在系统内进行交流和反馈。

3. 功能设计:(1)学生注册登录:学生需要先注册账号并登录系统才能进行选课操作;(2)选课流程优化:学生可以根据自己的兴趣和实际情况进行选课,并进行灵活调整;(3)成绩统计分析:教师可以根据系统提供的成绩统计功能,对学生成绩进行全面分析;(4)平台信息推送:系统可以根据学生和教师的需求,进行相关信息推送,如课程变更、考试安排等。

四、系统实现1. 系统开发工具:(1)后台开发:使用Spring Boot进行后台服务开发;(2)前端开发:使用Vue.js进行前端界面开发;(3)数据库管理:使用MySQL进行数据管理。

2. 系统测试:(1)功能测试:测试系统的各项功能是否正常运行;(2)兼容性测试:测试系统在不同浏览器和设备上的兼容性;(3)性能测试:测试系统的性能是否稳定;3. 系统部署:系统部署在高校的教学管理平台上,学生和教师可以通过互联网访问系统进行选课操作。

英语单词学习助手数据结构课设报告

英语单词学习助手数据结构课设报告

课程设计报告题目:英语单词学习助手课程名称:数据结构专业班级:计算机科学与技术1208班学号:U201215033姓名:江振武指导教师:祝建华报告日期:2014年10月29日计算机科学与技术学院任务书☐设计目的:掌握线性表、串、查找表等数据结构的物理存储结构与基本算法,通过解决较复杂的实际问题,提高学生对数据结构知识综合运用的技能与实践能力。

设计内容:以大学英语相关英语文章为语料素材,设计有效的数据结构及其存储结构表示英语单词表,并建立相应的倒排索引,帮助英语学习者在遇到生词时能方便找到生词的相应例句,熟悉其应用语境与地道的用法;设计有效的算法对语料进行清理与分句处理,实现基于索引的快速例句搜索程序。

☐设计要求:(1)输入某一个(或若干个)英语单词,要求返回相应的英语例句。

(2)根据单词与语句建立倒排索引,并且索引要求物化到外存,以文件形式保存,每次启动程序时不必重新建立索引,只需将索引文件导入内存。

(3)采用图形界面,便于输入单词,例句展现直观,界面布局合理。

设计提示:按三步进行:(1)准备英语语料。

寻找英语文章,可下载英语新闻,托福、GRE文章,或大学英语课文等。

(2)处理语料。

对语料进行清理、分句、索引、生成字典。

需要进行取词干的操作,分句可以直接根据标点符号处理。

(3)根据索引进行查询。

支持一个或多个查询,基于对词干的处理,当查go、going 等时也能够有返回。

由于查询的结果是语句,如果直接按照词与文章的关系建立索引,这样需要从文章中找句子,太多的串匹配操作可能导致查询较慢,所以要设计好索引的粒度。

一、问题描述与技术现状分析随着当前形势发展,英语现在随处可见,不管是在书籍还是各种网络上,我们都可以看到英语的踪影,但随之而来面临一个问题,许多英语单词对于初学者很陌生,因此英语单词助手对于他们来说有了莫大的帮助。

随着数据结构课程的结束,我们对C语言编程有了更加深入的了解。

然而通过课程设计,我们对数据结构知识有了更加深刻的理解,牢固掌握其应用方法,并合理灵活地解决一定实际问题,增强和提高综合分析问题与解决问题的能力。

背单词vb课程设计报告

背单词vb课程设计报告

背单词vb课程设计报告一、课程目标知识目标:1. 学生能掌握并运用本章节重点词汇,包括动词、名词、形容词等,累计不少于20个单词;2. 学生理解并掌握词汇在不同语境中的用法,能正确运用词汇完成句子和短文;3. 学生了解词汇的词性、词义、词根和词缀,提高词汇记忆和理解能力。

技能目标:1. 学生通过词汇学习,提升阅读理解能力和听力水平;2. 学生能运用所学词汇进行口头表达和书面写作;3. 学生学会使用有效的记忆策略,提高词汇学习效率。

情感态度价值观目标:1. 学生培养对英语学习的兴趣,增强自信心,积极主动地参与课堂活动;2. 学生在小组合作中学会尊重他人,培养团队协作精神和沟通能力;3. 学生通过词汇学习,拓展国际视野,了解跨文化交际的重要性。

课程性质:本课程为英语词汇教学,注重词汇的实际运用和语境理解,旨在提高学生的英语综合运用能力。

学生特点:六年级学生已具备一定的英语基础,对英语学习有较高的兴趣,但词汇量有限,需要通过有趣、实用的教学活动激发学习兴趣,提高词汇记忆和应用能力。

教学要求:教师需结合课本内容,设计生动有趣的教学活动,注重个体差异,引导学生主动参与,提高课堂教学效果。

同时,关注学生的学习过程,及时给予反馈,确保课程目标的实现。

通过本课程的学习,使学生达到预期学习成果,为后续英语学习打下坚实基础。

二、教学内容本章节教学内容围绕以下三个方面进行组织:1. 词汇学习:- 教材章节:选取课本中与动词相关的章节,如Chapter 5 "Actions and Adverbs";- 内容列举:包括20个动词及其名词、形容词形式,如:run, jump, sing, dance, happy, excited等;- 词汇拓展:介绍词汇的词根、词缀,帮助学生理解单词构成,提高词汇记忆能力。

2. 句子练习:- 教学内容:使用所学词汇完成句子练习,如填空、改写句子等;- 进度安排:按照课本进度,每周学习两个新词汇,并进行相应的句子练习。

背单词系统可行性研究报告

背单词系统可行性研究报告

背单词系统可行性研究报告一、项目背景随着全球化的发展,学习一门或多门外语已经成为现代社会中不可或缺的一部分。

对于很多学生和职场人士来说,背单词是外语学习中的重要环节。

然而,传统的背词方法存在一些问题,比如效率低、记忆不牢固等。

因此,开发一款能够提高背单词效率和质量的背单词系统已经成为迫切的需求。

二、研究目的本研究旨在探讨开发一款背单词系统的可行性。

通过分析市场需求、竞争对手、技术实施等方面,评估该项目的可行性,并提出相关建议。

三、市场需求分析1. 市场概况目前,市面上已经存在许多背单词软件,如扇贝、百词斩等。

这些软件的共同特点是使用了记忆曲线、间隔复习等先进的记忆原理,帮助用户高效而有效地记忆单词。

随着人们对外语学习的重视程度不断增加,背单词软件的市场需求也在不断扩大。

2. 市场问题然而,现有的背单词软件仍存在一些问题。

比如,某些软件内容质量不高、用户体验不佳等,影响了用户的使用体验。

因此,市场上有一定的用户群体仍在寻找一款更加高效、更加便捷的背单词系统。

四、竞争分析1. 竞争对手目前,背单词市场上的竞争对手主要有扇贝、百词斩等知名品牌。

这些竞争对手在技术、内容、用户群体等方面都具有一定的优势,给新项目的发展带来一定的挑战。

2. 竞争优势然而,相比于现有的背单词系统,新项目也有一些竞争优势。

比如,我们将通过引入人工智能技术,个性化推荐学习计划,提高用户粘性;提供优质的学习内容和服务,提升用户体验;建立完善的用户社区和知识分享平台,增加用户互动性。

五、技术实施分析1. 技术要求新项目将采用人工智能技术、大数据分析、云计算等技术,实现个性化学习计划、智能推荐单词、数据分析等功能。

此外,还需要建立完善的服务器、数据库等基础设施,确保系统的稳定和安全。

2. 技术难点新项目的技术难点主要集中在人工智能算法的设计和实施、数据库应用、用户界面设计等方面。

需要寻找专业团队或技术合作伙伴,共同攻克这些难点。

六、风险和挑战分析1. 技术风险人工智能技术在背单词系统中的应用具有一定的风险。

小程序课设报告

小程序课设报告

小程序课设报告近年来,微信小程序在移动应用开发领域逐渐成为主流。

小程序具有轻便、快捷、易用等特点,用户体验也得到了极大地提升,成为了商业领域中的热门应用。

因此,在大学课程中对微信小程序进行课设是非常有意义的。

二、课设目的本次课设的主要目的是让学生熟悉微信小程序的开发流程和规范,并能够独立完成小程序的设计、实现和发布。

同时,通过本次课设,学生还能够培养分析和解决问题的能力,提升综合实践能力和团队协作精神。

三、课设内容本次课设的主要内容包括以下几个方面:1. 课程介绍:介绍微信小程序的背景、特点和应用场景。

2. 小程序开发环境:介绍小程序开发工具和相关插件的安装和使用方法。

3. 小程序设计:分析小程序的需求,进行UI设计和交互设计。

4. 小程序实现:使用JavaScript语言和相关框架进行小程序的实现。

5. 小程序测试和优化:进行小程序的功能测试和性能优化。

6. 小程序发布:将小程序发布到微信公众平台上进行体验。

四、课设成果本次课设的主要成果是一款完整的微信小程序,具有以下特点:1. 界面美观:结合用户体验设计,使小程序的界面简洁、直观、美观。

2. 功能完善:满足小程序的设计需求,包括数据交互、用户管理、数据展示等功能。

3. 性能优化:对小程序的性能进行优化,使其能够更快、更稳定地运行。

4. 发布管理:能够将小程序发布到微信公众平台上,便于用户进行体验和使用。

五、总结通过本次小程序课设,学生不仅熟悉了微信小程序的开发流程和规范,还能够培养分析和解决问题的能力,提升了综合实践能力和团队协作精神。

未来,随着微信小程序的不断发展壮大,相信小程序开发将成为一种热门的职业选择。

单词簿课程设计报告

单词簿课程设计报告

单词簿课程设计报告一、课程目标本课程旨在通过单词簿课程设计,实现以下知识目标、技能目标和情感态度价值观目标:1. 知识目标:- 掌握本单元重点词汇和短语,并能正确拼写和运用;- 了解单词在句子中的作用,能运用所学词汇进行句子构建;- 扩大词汇量,为后续学习奠定基础。

2. 技能目标:- 提高学生的听说读写能力,尤其是词汇运用能力;- 培养学生通过上下文推断词义的能力;- 提高学生合作学习、自主探究的能力。

3. 情感态度价值观目标:- 激发学生对英语学习的兴趣,培养积极的学习态度;- 培养学生的团队协作精神,增强合作意识;- 培养学生热爱生活、关爱他人的情感。

课程性质:本课程以词汇教学为核心,结合实际语境,注重培养学生的语言运用能力。

学生特点:六年级学生具有一定的英语基础,好奇心强,善于模仿,但注意力容易分散。

教学要求:结合学生特点,采用生动有趣的教学方法,注重个体差异,激发学生的学习兴趣,提高教学效果。

1. 正确掌握本单元词汇和短语;2. 能够运用所学词汇进行简单句子构建;3. 提高听说读写能力,尤其是词汇运用能力;4. 增强合作意识和团队协作精神;5. 培养积极的学习态度,热爱英语学习。

二、教学内容本章节教学内容依据课程目标,结合教材章节进行选择和组织,确保内容的科学性和系统性。

以下是详细的教学大纲:1. 教材章节:Unit 2 "My Family"教学内容:- 词汇:father, mother, sister, brother, grandpa, grandma, family, house, happy, love等;- 短语:be called, live with, be happy with, take care of等;- 句型:This is my family./ I live with my family./ We are happy together./ I love my family.2. 教学内容安排与进度:- 第一课时:学习词汇和短语,进行单词卡片游戏,帮助学生记忆;- 第二课时:学习句型,通过角色扮演进行情景对话,培养学生的语言运用能力;- 第三课时:巩固词汇和句型,进行小组活动,让学生制作自己的家庭相册,并用所学词汇描述家庭成员;- 第四课时:复习本单元内容,进行听力练习和小测验,检验学生的学习成果。

选课系统课程设计报告(一)

选课系统课程设计报告(一)

选课系统课程设计报告(一)简述选课系统是一种重要的教育管理系统,它可以帮助学校完成学生选课、授课、成绩管理等多项任务。

本次课程设计报告旨在设计一个高效、安全、易用的选课系统。

功能要求选课系统应该具备以下功能:•学生选课•教师授课•成绩查询•课程管理•帐号管理•权限控制技术架构选课系统可以采用传统的C/S结构,也可以采用现代化的B/S结构。

采用C/S架构时,客户端和服务器之间通过网络通信,因此需要选择一种高效的网络通信协议;采用B/S架构时,后端采用一种流行的Web框架,前端采用一种现代的JavaScript框架。

数据库设计选课系统的数据库应该包括以下表:•学生表:记录学生的基本信息;•教师表:记录教师的基本信息;•课程表:记录课程的基本信息;•选课表:记录学生选课的信息;•成绩表:记录学生的成绩信息;•权限表:记录用户的权限信息。

安全措施选课系统需要采取一些安全措施,以保护学生和教师的安全。

例如:•防止SQL注入;•防止跨站脚本攻击;•使用HTTPS协议进行通信;•使用加密算法对用户密码进行加密。

总体设计选课系统的总体设计包括以下步骤:1.确定系统功能要求;2.确定系统技术架构;3.设计数据库结构;4.实现系统功能;5.优化系统性能;6.增加安全措施;7.完善用户手册和帮助文档。

结论选课系统是一种非常重要的教育管理系统,它可以帮助学校完成多项任务。

本次课程设计报告提出了一个高效、安全、易用的选课系统的设计方案,可以为选课系统的实际开发提供指导和借鉴。

实现步骤为了实现上述选课系统设计,可以按照以下步骤进行:1.分析需求,确定选课系统的功能及用户行为;2.制定选课系统的整体设计方案,包括技术架构、数据库设计等;3.实现选课系统的各项功能,例如学生选课、教师授课、成绩管理、帐号管理等;4.进行系统测试和优化,确保选课系统的稳定和高效运行;5.增加系统安全措施,例如防止SQL注入、防止跨站脚本攻击等;6.完善用户手册和帮助文档,方便用户了解使用选课系统的方法。

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

软件工程专业C++ 课程设计报告班级:软件姓名:学号:一.课程设计目的及要求1.设计目的1. 提高和加强计算机应用与软件开发能力,由初学者向专业的程序员过渡。

2. 培养独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势。

3. 学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。

2.设计要求(题目)(1)背单词小程序(2)学生选课系统二.课程设计的具体实现(1)背单词小程序1.总体设计本程序主要有以下功能:●添加新词●顺序测验和随即测验●记录没背过的词●查找单词的汉语或英语意思(输入中文查对应的英语意思,输入英文查对应汉语意思)2.详细设计具体实现包括十个模块和一个头文件。

分别是:First.cpp,Main.cpp,Menu.cpp,Part 1.cpp,Part 2.cpp,Part 3.cpp,Part 4.cpp,Part 5.cpp,Part 6.cpp,五大功能粗实现.cpp,HEAD.H。

Meun函数主要功能:用户进入系统首先执行的就是主函数,然后进入主菜单函数,它将显示主界面,并提示用户选择所需的功能。

其中改变了屏幕和字体的颜色来构造一种欢快的气氛来学习。

主功能:1.添加单词;2.进入检测;3.已背单词;4.未背单词;5.英汉互译;6.退出。

主要技术:if else if循环。

关键代码:if(i==1) //进入功能1 添加新词{system("cls"); //清屏Add_word();、、调用添词函数cin>>j;system("cls");if(j==1){Add();}else if(j==2){system("cls");Frame();}else //尽量避免在使用程序时因操作引起的失误{cout<<"认真一点!(╰_╯)#"<<endl;cout<<"回答问题决定您的方向:"<<endl;cout<<"您是否对我的程序满意:Y/N"<<endl;char ch;cin>>ch;if(ch=='Y'||ch=='y'){system("cls");Frame();}else{exit(0);}}}else if(i==2){system("cls");Test();cin>>j;if(j==1){Test_ByOrder();cout<<"任意键返回主目录!"<<endl; //实现可以返回主目录char ch;cin>>ch;if(ch=='b'||ch=='B'){system("cls");Frame();}else{system("cls");Frame();}}else if(j==2){Test_ByImmediately();cout<<"任意键返回主目录!"<<endl;char ch;cin>>ch;if(ch=='b'||ch=='B'){system("cls");Frame();}else{system("cls");Frame();}}else if(j==3)添加单词主要功能:用户在主界面选择功能1后即执行添加单词模块。

它将提示用户输入添加单词,之前可以显示已存在的单词,利用while循环实现不定量输入单词,最后保存到单词库。

主要使用技术:文件指针(FILE *fp) while判断循环关键代码:char ch='Q'; //用来判断是否继续输入单词if((fp=fopen("dictionary.txt","ab+"))==NULL){cout<<"文件无法打开!"<<endl;exit(0);}for(i=0;fread(&Word[i],sizeof(WoRD),1,fp)!=0;i++){cout<<Word[i].num<<" "<<Word[i].E_word<<endl;} //特别有成就感的地方! 把以前的单词输出来展示j=i;while(ch=='q'||ch=='Q') // while 循环支持不断向文件载入内容!{cout<<"目前单词库单词存储量为:"<<j<<endl;cout<<"请分别输入新增单词的编号、单词、中文翻译和背诵记录(tt/ff):"<<endl;j++;cin>>Word[j].num>>Word[j].E_word>>Word[j].C_word>>Word[j].TF;fwrite(&Word[j],sizeof(WoRD),1,fp);cout<<"添加成功!是否继续增添单词,继续则输入Q/q"<<endl;cin>>ch;}检测功能主要功能:用户在主界面选择功能2后即执行该模块。

在此模块中可以实现顺序检测和随机检测。

用户输入正确或错误都会给与提示!并且可以输入想要检测的单词数量,量力而行。

主要技术:文件的读出与写入,取随机数,if语句关键代码:if((fp=fopen("dictionary.txt","ab+"))==NULL){cout<<"文件无法打开!"<<endl;exit(0);}for(i=0;i<t;i++)fread(&Word[i],sizeof(WoRD),1,fp);cout<<"随即检测开始!:"<<endl;cout<<"请输入这次测试的单词量:"<<endl;int p;cin>>p;if(p>=t)for(i=0;i<t;i++){char word[10];int j;j=rand()%t; //产生随机数cout<<Word[j].C_word<<" "<<"___";cin>>word;if(strcmp(word,Word[j].E_word)==0){cout<<"回答正确!"<<endl;char tf[3]="tt";strcpy(Word[i].TF,tf); //将信息记录在案!}else{cout<<"回答错误!"<<endl;char tf[3]="ff";strcpy(Word[i].TF,tf);}}elsefor(i=0;i<p;i++){char word[10];int j;j=rand()%p; //产生随机数cout<<Word[j].C_word<<" "<<"___";cin>>word;if(strcmp(word,Word[j].E_word)==0){cout<<"回答正确!"<<endl;char tf[3]="tt";strcpy(Word[i].TF,tf);}else{cout<<"回答错误!"<<endl;char tf[3]="ff";strcpy(Word[i].TF,tf);}}已背过单词主要功能:用户在主界面选择功能3后即执行该模块,能够显示已背诵的单词。

主要技术:该模块只是调用和显示,主要用到了if函数和字符串处理和文件的读出技术。

关键代码:……if((fp=fopen("dictionary.txt","ab+"))==NULL) //打开文件并判断文件是否存在{cout<<"文件无法打开!"<<endl;exit(0);}for(i=0;i<t;i++)fread(&Word[i],sizeof(WoRD),1,fp); //将文件信息读出cout<<"已背过的单词:"<<endl;for(i=0;i<t;i++){char ch[5]="tt";char cf[5]="TT";if(strcmp(Word[i].TF,ch)==0||strcmp(Word[i].TF,cf)==0) //和英汉互译差不多的操作判断后输出{cout<<Word[i].E_word<<""<<Word[i].C_word<<endl;}}……未背单词主要功能:用户在主界面选择功能3后即执行该模块,能够显示尚未背诵的单词。

主要技术:该模块只是调用和显示,主要用到了if函数和字符串处理和文件的读出技术。

关键代码:if((fp=fopen("dictionary.txt","ab+"))==NULL){cout<<"文件无法打开!"<<endl;exit(0);}for(i=0;i<t;i++){fread(&Word[i],sizeof(WoRD),1,fp);}cout<<"未背过的单词:"<<endl;for(i=0;i<t;i++){char ch[5]="ff";char cf[5]="FF";if(strcmp(Word[i].TF,ch)==0||strcmp(Word[i].TF,cf)==0){cout<<Word[i].E_word<<""<<Word[i].C_word<<endl; }}英汉互译主要功能:用户在主界面选择功能5后即执行该模块,能够进行英汉互译功能。

相关文档
最新文档