主页 > 系统开发 > c语言解惑 谁写的好

c语言解惑 谁写的好

2022-04-10 22:28来源:m.sf1369.com作者:宇宇

我认为多点写程序是最好的,一方面可以往项目方向发展,另一方面可以考虑学算法(ACM会比较有趣),这两方面都有利于加深C语言的学习。

求C语言程序设计(学生学籍管理系统)的实验报告,

实验报告
实验人:** 学号:** 指导老师:**
院系:** 年级:** 班级:A**
实验地点: 实验日期:2008.06.18
----------------------------------------------------------------------------------------------------------------------
一. 实验所属课程名称:程序设计与C语言设计。
二. 实验名称:学员成绩管理系统。
三. 实验类型:操作性、综合性、设计性。
四. 实验软件:Microsoft Visual C++ 6.0。
五. 实验目的:培养我们综合运用理论知识来分析和解决实际问题的能力、严谨的科学态度、较强的程序编码能力和良好的程序设计习惯,最终实现由知识向智能的初步转化。
六. 实验内容、步骤:
(1).包含一个头文件,用于导入输入输出函数。
(2).定义一个结构( struct xueyuan ),保存每个学员的信息,包括学号( num )、姓名( name[15 ])、三门课成绩( c1、c2、c3 )、平均成绩( c )。
(3).使用结构数组保存所有学员的信息( struct xueyuan a[50] )。
(4).定义并实现单个学员信息的录入函数( struct xueyuan in() )。
(5).定义和实现main函数,调用单个学员信息输入函数( in() ),完成所有学员信息的录入。录入界面如图所示:

(6).定义一个display函数( void display (struct xuyuan a[],int t) )用来多次随时显示所有学员的信息。
(7).定于排序函数( void paixu(struct xueyuan a[],int t) ).实现按照学员平均成绩有大到小的排序功能(冒泡排序法)。
(8).在主函数中调用排序函数( paixu(a,t); ),并通过调用显示函数( display(a,t); ),显示排序前后的学员信息。如图:

(9).定于插入函数( void charu(struct xueyuan a[],int t) ),实现插入学员信息功能,要求插入后仍然保存成绩表有序(即在此函数中调用排序和显示函数)。
(10). 在主函数中调用插入函数(charu(a,t);)。如图:

(11).定于删除函数( void shanchu(struct xueyuan a[],int i,int t) ),实现删除学员信息功能,要求删除后仍保持成绩表有序。
(12)在主函数中调用删除函数(shanchu(a,i,t);),并通过调用显示函数( display(a,t); ),显示删除后的学员信息。如图:

七. 实验结果处理:通过以上步骤,编写出了一个能够实现学员成绩管理功能的程序。但通过自己对该程序不断检查和运行,发现该程序还有许多不足之处:
(1).在该程序的运行中,用户录入了第一个学员的信息后,在问用户是否继续输入时
,用户的输入可能不规范(即不是y或n),同样在问用户
是否插入和删除学员信息时该问题也同样存在。
解决该问题的关键代码如下:
printf(\n 是否继续?<y or n>);
fflush(stdin);
flag=getchar();
if(flag!='y' && flag!='n')
{
do
{
printf(对不起,你的输入有误,请重新输入:<y or n>);
fflush(stdin);
flag=getchar();
}while(flag!='y' && flag!='n');
}
(2).在用户继续输入或插入学员信息时,有可能会有重复输入的时候(即输如学号相同)。
解决该问题的关键代码如下:
printf(\n学号:);
scanf(%d,&b.num);
for(j=0;j<t;j++)//防止输入的学员的学号重复
{
if(b.num==a[j].num)
{
printf(对不起,您输入的学号重复,请重新输入:);
scanf(%d,&b.num);
j=-1;
}
}
八. 实验总结与心得体会:
从刚开始看完题目不知道从何入手到写完这个程序,我的感悟很多.................

相关推荐

请教ESB是如何实现系统集成的

系统开发 2024-01-18

如何成功实施管理信息系统?

系统开发 2023-12-28