题目:学生信息管理系统
院系:信息科技学院
专业:电子信息工程
姓名:殷浩
学号: 1152100135
指导教师:杨呈永
日期: 2012年6月26日
桂林电子科技大学信息科技学院实训报告
学生信息管理系统
本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C 语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。
一、问题定义
根据实训要求,创建学生信息管理系统,假设系统中包含学生的学号、姓名、年龄、性别、出生年月、地址、电话、E-mail等信息。设计的学生信息管理系统,需能提供以下功能:①系统以菜单方式工作。②学生信息录入功能---输入。③学生信息浏览功能---输出。④查询功能。⑤修改信息功能。⑥按学号删除学生信息功能。程序的运行效果如下图所示。
二.系统设计
1.总体设计
采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,以下为程序的功能模块设计。
2.详细设计
学生信息管理系统
#include
#include
#include
#define BUFLEN 100 /* 缓冲区最大字符数*/
#define LEN 15 /* 学号和姓名最大字符数,实际请更改*/
#define N 100 /* 最大学生人数,实际请更改*/
struct record /*结构体*/
{
char code[LEN+1]; /* 学号*/
char name[LEN+1]; /* 姓名*/
int age; /* 年龄*/
char sex[3]; /* 性别*/
char time[LEN+1]; /* 出生年月*/
char add[30]; /* 家庭地址*/
char tel[LEN+1]; /* 电话号码*/
char mail[30]; /* 电子邮件地址*/
}stu[N];
int k=1,n,m; /* 定义全局变量*/
void readfile();/* 函数声明*/
void seek();
void modify();
void insert();
void del();
void display();
void save();
void menu();
int main()
{
while(k)
menu();
system("pause");
return 0;
}
void help()
{printf("\n 尊敬的用户:您好!");
printf("\n
============================================================\
n | |"); printf("\n | 欢迎进入帮助系统! |\n | |"); printf("\n | ★★★★★★★★|\n | |");
printf("\n | 1.进入系统后,先刷新学生信息,再查询!|\n | |");
printf("\n | 2.请按照菜单提示进入数字代号! |\n | |"); printf("\n | 3.增加学生信息后,请切记保存! |\n | |");
printf("\n | 4.谢谢您的使用! |\n | |");
printf("\n
============================================================\ n ");
}
void readfile()/* 建立信息*/
{
char *p="student.txt";
FILE *fp;
int i=0;
if ((fp=fopen("student.txt","r"))==NULL)
{
printf("Open file %s error! Strike any key to exit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
{
i++;
i=i;
}
fclose(fp);
n=i;
printf("刷新完毕!\n");
}
void seek() /*查找*/
{
int i,item,flag;
char s1[21]; /* 以姓名和学号最长长度+1为准*/
printf("------------------\n");
printf("-----1.按学号查询-----\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
scanf("%d",&item);
flag=0;
switch(item)
{
case 1:
printf("请输入要查询的学生的学号:\n");
scanf("%s",s1);
for(i=0;i if(strcmp(stu[i].code,s1)==0) { flag=1; printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n"); printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); } if(flag==0) printf("该学号不存在!\n"); break; case 2: printf("请输入要查询的学生的姓名:\n"); scanf("%s",s1); for(i=0;i if(strcmp(stu[i].name,s1)==0) { flag=1; printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n"); printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); } if(flag==0) printf("该姓名不存在!\n"); break; case 3:return; default:printf("请在1-3之间选择\n"); } } } void modify() /*修改信息*/ { int i,item,num; char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准*/ printf("请输入要要修改的学生的学号:\n"); scanf("%s",s1); for(i=0;i if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/ num=i; printf("------------------\n"); printf("1.修改姓名\n"); printf("2.修改年龄\n"); printf("3.修改性别\n"); printf("4.修改出生年月\n"); printf("5.修改地址\n"); printf("6.修改电话号码\n"); printf("7.修改E-mail地址\n"); printf("8.退出本菜单\n"); printf("------------------\n"); while(1) { printf("请选择子菜单编号:"); scanf("%d",&item); switch(item) { case 1: printf("请输入新的姓名:\n"); scanf("%s",s2); strcpy(stu[num].name,s2); break; case 2: printf("请输入新的年龄:\n"); scanf("%d",&stu[num].age);break; case 3: printf("请输入新的性别:\n"); scanf("%s",sex1); strcpy(stu[num].sex,sex1); break; case 4: printf("请输入新的出生年月:\n"); scanf("%s",s2); strcpy(stu[num].time,s2); break; case 5: printf("请输入新的地址:\n"); scanf("%s",s2); strcpy(stu[num].add,s2); break; case 6: printf("请输入新的电话号码:\n"); scanf("%s",s2); strcpy(stu[num].tel,s2); break; case 7: printf("请输入新的E-mail地址:\n"); scanf("%s",s2); strcpy(stu[num].mail,s2); break; case 8:return; default:printf("请在1-8之间选择\n"); } } } void sort()/*按学号排序*/ { int i,j,*p,*q,s; char temp[10]; for(i=0;i { for(j=n-1;j>i;j--) if(strcmp(stu[j-1].code,stu[j].code)>0) { strcpy(temp,stu[j-1].code); strcpy(stu[j-1].code,stu[j].code); strcpy(stu[j].code,temp); strcpy(temp,stu[j-1].name); strcpy(stu[j-1].name,stu[j].name); strcpy(stu[j].name,temp); strcpy(temp,stu[j-1].sex); strcpy(stu[j-1].sex,stu[j].sex); strcpy(stu[j].sex,temp); strcpy(temp,stu[j-1].time); strcpy(stu[j-1].time,stu[j].time); strcpy(stu[j].time,temp); strcpy(temp,stu[j-1].add); strcpy(stu[j-1].add,stu[j].add); strcpy(stu[j].add,temp); strcpy(temp,stu[j-1].tel); strcpy(stu[j-1].tel,stu[j].tel); strcpy(stu[j].tel,temp); strcpy(temp,stu[j-1].mail); strcpy(stu[j-1].mail,stu[j].mail); strcpy(stu[j].mail,temp); p=&stu[j-1].age; q=&stu[j].age; s=*q; *q=*p; *p=s; } } } void insert() /*插入函数*/ { int i=n,j,flag; printf("请输入待增加的学生数:\n"); scanf("%d",&m); do { flag=1; while(flag) { flag=0; printf("请输入第%d 个学生的学号:\n",i+1); scanf("%s",stu[i].code); for(j=0;j if(strcmp(stu[i].code,stu[j].code)==0) { printf("已有该学号,请检查后重新录入!\n"); flag=1; break; /*如有重复立即退出该层循环,提高判断速度*/ } } printf("请输入第%d 个学生的姓名:\n",i+1); scanf("%s",stu[i].name); printf("请输入第%d 个学生的年龄:\n",i+1); scanf("%d",&stu[i].age); printf("请输入第%d 个学生的性别:\n",i+1); scanf("%s",stu[i].sex); printf("请输入第%d 个学生的出生年月:(格式:年.月)\n",i+1); scanf("%s",stu[i].time); printf("请输入第%d 个学生的地址:\n",i+1); scanf("%s",stu[i].add); printf("请输入第%d 个学生的电话:\n",i+1); scanf("%s",stu[i].tel); printf("请输入第%d 个学生的E-mail:\n",i+1); scanf("%s",stu[i].mail); if(flag==0) { i=i; i++; } } while(i n+=m; printf("录入完毕!\n\n"); sort(); } void del() { int i,j,flag=0; char s1[LEN+1]; printf("请输入要删除学生的学号:\n"); scanf("%s",s1); for(i=0;i if(strcmp(stu[i].code,s1)==0) { flag=1; for(j=i;j stu[j]=stu[j+1]; } if(flag==0) printf("该学号不存在!\n"); if(flag==1) { printf("删除成功,显示结果请选择菜单6\n"); n--; } } void display() { int i; printf("所有学生的信息为:\n"); printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("--------------------------------------------------------------------\n"); for(i=0;i { printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); } } void save() { int i; FILE *fp; fp=fopen("student.txt","w"); /*写入*/ for(i=0;i { fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); } fclose(fp); printf("保存成功,请刷新后按6查看\n"); } void menu()/* 界面*/ { int num; system("COLOR 5f"); printf("\n\n-----★----------桂林电子科技大学信息科技学院学生信息管理系统----------★-------\n"); printf("======================================================== ========================\n"); printf(" ==============系统功能菜单==============\n"); printf(" =======友情提醒:查询前请刷新系统!======\n"); printf(" ========================================\n"); printf(" |======================================|\n"); printf(" | 0.系统帮助说明 1.刷新学生信息|\n"); printf(" |--------------------------------------|\n"); printf(" | 2.查询学生信息 3.修改学生信息|\n"); printf(" |--------------------------------------|\n"); printf(" | 4.增加学生信息 5.按学号删信息|\n"); printf(" |--------------------------------------|\n"); printf(" | 6.显示当前信息7.保存当前信息|\n"); printf(" |--------------------------------------|\n"); printf(" | 8.退出系统|\n"); printf(" |======================================|\n"); printf(" ========================================\n"); printf("请选择菜单编号: "); scanf("%d",&num); switch(num) { case 0:help();break; case 1:readfile();break; case 2:seek();break; case 3:modify();break; case 4:insert();break; case 5:del();break; case 6:display();break; case 7:save();break; case 8:k=0;break; default:printf("请在0-8之间选择\n"); } } 三.程序测试 1.帮助菜单测试 2.查询菜单测试 3.更新信息菜单测试 ①修改学生信息 ②增加学生信息 ③删除学生信息 4.查看菜单测试 5.刷新系统测试 6.退出系统测试 四.心得体会 ①归纳总结 在编写学生信息管理系统的过程中,运用到了函数、指针、文件等知识点,在编程的过程中也遇到了很多疑惑的问题,但是通过不断的运行,不断的改错以及宿舍舍友、老师的精心点播和本人查阅书籍上网查资料等途径已讲疑难杂症完全清楚,现如今已按要求用菜单的方式分别对学生管理系统中学生的信息进行输入、查询、删除、添加、修改、浏览并自动保存到文本文档中并使之分别由不同的函数完成。 总体来说此次编程还是受益匪浅,能够使本人对以往的知识点掌握的更加牢固,并且真真切切的体会到了变成给人类带来的方便与愉悦! ②不足之处 关于这次的程序,也有挺多不足的地方。首先,我觉得程序还不够完善,有些地方甚至有点乱;其次,有些地方好像功能有点重复了,操作比较麻烦;最后,就是该程序界面不够美观大方。 五.参考资料 【1】C语言设计谭浩强清华大学出版社。 【2】数据结构管致锦徐慧陈德欲主编清华大学出版社。【3】网上相关资料。 C语言程序设计 实训报告 题目:红外避障机器人 院(系):信息工程系 专业:通信工程 学生姓名:韦嘉宝 学号: 24 指导教师:朱震周斌王旬全刘辉 2016 年10月8 日 目录 摘要 (1) 设计要求 (2) 设计步骤 (3) 代码编写 (4) 心得体会 (5) 参考文献 (6) 许多机器人使用雷达(RADAR)或者声纳(SONAR)来探测物体而不需要同物体接触。本文的方法是使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现在红外线发射器和接收器已经很普及并且价格很便宜。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能小车。 机器人使用红外线二极管LED 作为前灯,如图6-1 所示。红外线二极管发射红外光线,如果机器人前面有障碍物,红外线从物体反射回来,相当于机器人眼睛的红外检测(接收)器,检测到反射回的红外光线,并发出信号来表明检测到从物体反射回红外线。机器人的大脑——单片机A T89S52 基于这个传感器的输入控制伺服电机。红外线(IR)接收/检测器有内置的光滤波器,除了需要检测的980 nm 波长的红外线外,它几乎不允许其他光通过。红外检测器还有一个电子滤波器,它只允许大约38.5 kHz 的电信号通过。换句话说,检测器只寻找每秒闪烁38500 次的红外光。这就防止了普通光源像太阳光和室内光对IR 的干涉。太阳光是直流干涉(0Hz)源,而室内光依赖于所在区域的主电源,闪烁频率接近100 Hz 或120 Hz。由于120 Hz 在电子滤波器的38.5 kHz 通带频率之外,它完全被IR 探测器忽略。 本任务将搭建并测试红外线发射和检测器对。本讲需要用到的新部件如下: 元件清单 (1)红外检测器,2 个。 (2)IR LED(带套筒),2 个。 (3)470? 电阻,2 个。 (4)连接线,若干。 二、设计要求 (1)小车能够完成前进、后退、左转、右转等动作。 (2)机器人能够读出传感器电平变化,并作相应的动作变化。 (3)利用机器人所装配的两个探测器,探测和避开障碍物。 三、设计步骤 实 验 报 告 二级学院:信息与工程学院 系别:计算机科学与技术系 专业:信息管理与信息系统 课程名称:高级语言程序设计 班级:姓名: 实验名称: 电话订餐信息处理 实验目的: 题目要求: 一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?首先,需要准备一张大小适当的白纸,等待顾客的电话。李红最先打进了电话,她预约第2天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红 12点 5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是: 李红 12点 5人 刘娜 11点 2人 汪涵 11点20分 3人 孙杰 10点30分 5人 赵君 13点20分 6人 孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修改。刘娜来用餐以后,可以将其信息从纸上划去 编写程序处理电话订餐的情况 实验步骤: 首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。完成后,对程序进行调试,确定所编写的程序是否能够运行。 实验内容: #include<> #include<> #define max 30 struct guest { intnum; char name[40]; char time[20]; int sum; }guestlink[max]; void insert(int *p); void inquire(int); void change(int); void dele(int *p); void show(int); void main() { inti; int count=0; do {0 printf("1.......插入\n"); printf("2.......查询\n"); printf("3.......修改\n"); printf("4.......删除\n"); printf("5.......显示\n"); printf("6.......退出\n"); scanf("%d",&i); switch(i) { case 1: insert(&count);break; case 2: inquire(count);break; case 3: change(count);break; case 4: dele(&count);break; case 5: show(count);break; case 6:break; default:printf("输入错误!");break; } }while(i!=6); } C语言实践心得体会 在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面: 1、加深对课堂讲授内容的理解 课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。 通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去"掩盖"程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。 2、熟悉程序开发环境、学习计算机系统的操作方法 一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。 3、学习上机调试程序 篇一:《C语言上机实验心得》 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后 输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。 报告编号:YT-FS-4244-21 C语言程序设计实验报告 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity C语言程序设计实验报告(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和 witch语句格式及使用方法,掌握if语句中的嵌套关 系和匹配原则,利用if语句和switch语句实现分支 选择结构。 2、熟练掌握while语句、do…while语句和for 语句格式及使用方法,掌握三种循环控制语句的循环 过程以及循环结构的嵌套,利用循环语句实现循环结 构。 3、掌握简单、常用的算法,并在编程过程中体验 各种算法的编程技巧。进一步学习调试程序,掌握语 法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数 */ { int t,i; 设计报告 一,实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过 实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知 识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上 机实习可以帮助我们更好地理解这种结构式的 中级语言以及其各式各样的数据类型和高效率 的运算程序,为我们进一步学习C++打下坚实基 础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其 他人容易犯的错误,从而在今后的学习中更加谨 慎,达到事半功倍的效果;通过询问老师,也让 我们养成了不耻下问的好习惯,这将很有利于以 后的学习。 闲乐-一个人闲。不如大家一块儿乐https://www.doczj.com/doc/343431342.html, 二,总体设计: 1,学生成绩排名 1,流程图: <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>C语言实训报告
c语言实践报告
c语言实训心得
c语言实验报告总结
C语言程序设计实验报告(完整版)
C语言实习报告