C语言学生成绩管理系统课程设计报告(3)

2019-02-15 11:46

{ }

FILE *fp;

struct student *head=NULL,*p1=NULL,*p2=NULL;

if ((fp=fopen (\学生成绩管理系统.txt\{ printf (\读取时,文件打开失败!\\n\ return NULL; }

head=p1=(struct student *)malloc (sizeof (struct student )); while (fp != NULL) { if (fread(p1,sizeof (struct student ),1,fp) != 1) break; p1 -> next = (struct student *)malloc (sizeof (struct student )); p2= p1; p1= p1 -> next; }

p2->next = NULL; fclose (fp); return head;

五.测试数据及运行结果

1. 正常测试数据和运行结果

1.按总分排序

2.删除某个学生信息

3. 查找学生信息

2. 异常测试数据及运行

1. 删除信息出现异常

2.修改学生信息出现异常

六.调试情况,设计技巧及体会

1、对自己设计进行评价

1) 不够细心,开始的时候出现很多错误 2) 没有写登录函数

3) 写的过于简短,且大部分都是书上照抄的

2 .调试上得到的体会:在最后的调试过程中,发现有时候系统报错,指出了错误所在的具体位置,可是检查的时候发现该位置并未出错,这样的错误首先要查找前后几行,如果还未检查出错误,那就很有可能在该函数的首部或是主函数的调用语句中出现错误。发现该部分并未出现语法错误,即编译不报错,程序运行后,有时候会出现意想不到的结果,会在想不到的地方跳出程序,甚至不知道程序的什么地方就跳出了,用在不同的地方加不必要的printf语句!以检查是否运行到printf语句。

3.设计上得到的体会:在初步设计时要明确要使用的数据结构和类型,明确设计的基本思想,清楚所写程序的逻辑结构和执行顺序,在调试时才能在出现问题时及时的找到问题的所在.在完成了初步的设计并调试完成后,要进一步优化程序的结构,使程序更简洁,执行效率更高.

总之,第一次完成比较正式的程序,在开始的时候遇到了不少问题,包括怎么排序,怎么添加,怎么查找,怎么删除等一系列问题,但我并没有慌张,而是由一个问题入手,最后

将它们一一攻破,顺利而又艰难的完成了这次任务;通过这次实习,我的编程能力得到了很大的提高,算法思路也比以前清晰多了,基本上掌握了C语言的课程内容,虽然只有为期

两周的实习,但是我的C语言还是得到了进一步的提高。不过要想使自己的水平提高,还有待练习。虽然实习结束了,但是以后在工作中可能会经常使用,这次的实习的确是一个很好的锻炼机会,它一定会使我受益终身的!

七.参考文献

《C语言程序设计》 (第二版), 《数据结构(C语言)》 清华大学出版社

八.附录:

源代码(电子版)

#include #include #include struct student { char num[9]; char name[9]; int scorem; int scoree; int scorec; int sum; struct student *next; };

struct student *creat(struct student *p)//创建链表 { struct student *p1 = NULL; p1 = (struct student*)malloc(sizeof (struct student)); p -> next = p1; p1 -> next = NULL; printf(\请输入要添加的学生的信息\\n\ printf(\学号:\ scanf(\ printf(\姓名: \ scanf(\ printf(\数学成绩:\ printf(\英语成绩:\ printf(\成绩:\ scanf(\ p1 -> sum = 0;

p1 -> sum = p1 -> scorem + p1 -> scorec + p1 -> scoree; printf(\总分:%d\ return p1; }

void save1(struct student *p)//将链表从内存保存到文件中 { FILE *fp; if ((fp = fopen(\学生成绩管理系统.txt\ printf(\创建失败!\\n\ while(p != NULL) { fwrite(p,sizeof(struct student),1,fp); p = p -> next; } fclose(fp); printf(\保存成功!\\n\}

void save2(struct student *p)//将以变动的链表信息存入到文件中 { FILE *fp; if ((fp = fopen(\学生成绩管理系统.txt\ printf(\创建失败!\\n\ while(p != NULL) { fwrite(p,sizeof(struct student),1,fp); p = p -> next; } fclose(fp); }

struct student *read()//把文件中的数据读到链表中 { FILE *fp; struct student *head=NULL,*p1=NULL,*p2=NULL; if ((fp=fopen (\学生成绩管理系统.txt\ { printf (\读取时,文件打开失败!\\n\ return NULL; } head=p1=(struct student *)malloc (sizeof (struct student )); while (fp != NULL) { if (fread(p1,sizeof (struct student ),1,fp) != 1) break; p1 -> next = (struct student *)malloc (sizeof (struct student )); p2= p1; p1= p1 -> next; } p2->next = NULL;


C语言学生成绩管理系统课程设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:四年级品德与社会下册 让家乡环境更美好教案 未来版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: