嵌入式软件实训报告

  • 格式:docx
  • 大小:32.19 KB
  • 文档页数:13

目录第一部分:实训概述1.1:实训目的1.2:实训题目1.3:实训要求第二部分:学生管理界面2.1:模块设计2.2:数据结构设计2.3:设计内容第三部分:课程设计总结3.1:个人总结3.2:结束语附录第一部分:实训概述1.1:实训目的1、巩固和强化学生的程序设计基本知识和基本技能,尤其是C语言的基本数据类型、构造类型、函数、指针、文件等等方面的基本知识和技能。

2、培养和训练学生综合利用所学基本知识和基本技能进行小型应用程序开发的技能。

3、培养学生适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。

1.2实训题目:学生成绩管理系统本系统主要功能包括:1:输入功能:输入学生的学号、姓名、班级、基础课、专业课、选修课、平均成绩。

2:修改:能对学生的成绩进行修改。

3:查询:根据学生的学号,姓名,班级来查询成绩,不及格科目。

4:排序:根据学生的平均成绩进行排序。

5:统计:能统计学生成绩的总分及平均分。

1.3实训要求:通过本次实训,学生应达到以下几个方面的要求:1、素质要求以积极认真的态度对待本次实训,遵章守纪,团队协作。

善于发现问题,分析问题,解决问题,努力培养自己的独立工作能力。

2、知识要求熟练账务C语言的集成开发环境的使用,以及C语言的数据类型、语法、基本结构等。

熟练掌握C语句的功能、用法以及函数的调用使用和头文件的使用等。

3、能力要求学生应具有一定的项目分析能力、任务分解能力、组织实施能力以及理论练习实际应用的能力。

学生应具有一定的查阅教材、各类相关资料及工具书的能力,进而养成自我学习的习惯。

通过本次实训使学生基本能够把握C语言的精髓,并能够熟练使用C语言编写简单的程序和通过实际的分析、理论练习实际能够编制出现实生活或模拟现实生活中简单的、常见的系统。

第二部分:学生管理界面2.1:模块设计如下图菜单:2.2数据机构设计数据结构char ID[20] /*学号*/; char Name[20] /*姓名*/; float Mark1 /*成绩1*/; float Mark2 /*成绩2*/; float Mark3 /*成绩3*/; float Average /*平均成绩*/;2.3设计内容:#include<stdio.h>#include<stdlib.h>#include<string.h>#include "conio.h" Struct student{char num[10];char name[20];char sex[5];float grade[3];float v;float sum;}stu[50];int k=0;void input();void display();void lookandchange(); void average();void paixu();void save();void main(){Int a;do{printf(“\n\n **************************\n”);printf(“”);printf(“\t\welcome enter the student management system”);printf(“\t”);printf(“\n *********************\n”); printf(“”);printf(“\t 1.Access student information”);printf(“\t\t\t\t\n”);printf(“”); printf(“\t 2.Display student information”);printf(“\t\t\t\t\n”)printf(“”);printf(“\t 3.LookandChangestudent information”);printf(“\t\t\t\n”);printf(“”); printf(“\t 4.By sum Sort student information and output”);printf(“\t\t\n”);printf(“”);printf(“\t 5.Save the student information”);printf(“”);printf(“ 6. exit ”);printf(“\t\t\t\t\n”)printf(“ **************************\n”);printf(“Enter you change:”);scanf(“%d”,&a);switch(a){case1:printf(“\n”);input();break;case2:printf(“\n”);display();break;case3:printf(“\n”);lookandchange();break;case4:printf(“\n”);paixu();break;case5:printf(“\n”);save();break;case6:printf(“\n”);exit(0);break;default:printf(“\n The choice is between 1 to 6.\n”);}}while(a!=0);}第三部分:课程设计总结3.1:个人总结通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。

C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。

比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。

还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。

通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。

其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。

自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,在上课的时候老师就讲,学习C语言最重要的是学习C 语言的逻辑思维,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用C语言,但是拥有扎实的C语言基础是对工作很有用的。

当初在初步接触C语言的时候,看着一堆“奇形怪状”的符号,觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态!感谢学校安排这次实训和老师的耐心讲解,让我学到了很多知识,在实训过程中,同学之间的相互探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之间的感情。

这次实训还让我明白了一些道理,无论做什么都应该做好充分的准备,以端正的态度来对待,耐心的解决其中的难点,自己实在解决不了的地方应该及时虚心的向老师或其他同学请教,然后及时总结经验和教训。

同时还让我明白了小组间团结与合作的重要。

希望以后还会有更多类似的实训课程,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础。

3.2:结束语在本次实训中,我们小组紧密相连,积极合作,一步步的完成了整个C语言实训的制作,大家为这个程序都付出了自己的汗水。

每天在老师的带领下我们克服了一个个难题。

由于大家的付出和老师的帮助,使这个任务得以圆满。

在此谢谢大家的热心帮助,也感谢老师的耐心解答和教诲。

附录#include <stdio.h>#include <stdlib.h>#define STU_NUM 10 /*宏定义学生的数量*/struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/{char stu_id[20]; /*学生学号;*/float score[3]; /*三门课成绩;*/float total; /*总成绩;*/float aver; /*平均成绩;*/};/*排序用一个函数来实现*/void SortScore(student *stu,int n){student stud;for(int i = 0; i < n-1; i++)for(int j = i+1 ; j < n; j++){if(stu[i].total < stu[j].total){stud = stu[i];stu[i] = stu[j];stu[j] = stud;}}}int main( ){student stu[STU_NUM]; /*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。

*//*输入这十个学生的相关信息*/for(int i = 0; i<STU_NUM; i++){printf("请输入第%d个学生的学号:",i+1);scanf("%s",&stu[i].stu_id);printf("输入第%d个学生的数学成绩:",i+1);scanf("%f",&stu[i].score[0]);printf("输入第%d个学生的英语成绩:",i+1);scanf("%f",&stu[i].score[1]);printf("输入第%d个学生的计算机成绩:",i+1);scanf("%f",&stu[i].score[2]);stu[i].total =stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; stu[i].aver = stu[i].total/3;}printf("\n");SortScore(stu,STU_NUM);/*调用排序函数*//*输出排序后的各学生的成绩*/for(i = 0 ; i < STU_NUM; i++){printf("序号: %d\t",i);printf("学号:%s\t",stu[i].stu_id);printf("数学:%f\t",stu[i].score[0]);printf("英语:%f\t",stu[i].score[1]);printf("计算机:%f\t",stu[i].score[2]);printf("平均成绩:%f\t",stu[i].aver);printf("总分:%f\t",stu[i].total);printf("\n\n");}return 0;}注:(源程序中主要标识符含义说明)#define STU_NUM 10 /*宏定义学生的数量*/struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/{char stu_id[20]; /*学生学号;*/float score[3]; /*三门课成绩;*/float total; /*总成绩;*/float aver; /*平均成绩;*/}。