C语言课程设计学生信息管理系统设计报告Word下载.docx

上传人:b****3 文档编号:18017935 上传时间:2022-12-12 格式:DOCX 页数:19 大小:279.54KB
下载 相关 举报
C语言课程设计学生信息管理系统设计报告Word下载.docx_第1页
第1页 / 共19页
C语言课程设计学生信息管理系统设计报告Word下载.docx_第2页
第2页 / 共19页
C语言课程设计学生信息管理系统设计报告Word下载.docx_第3页
第3页 / 共19页
C语言课程设计学生信息管理系统设计报告Word下载.docx_第4页
第4页 / 共19页
C语言课程设计学生信息管理系统设计报告Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言课程设计学生信息管理系统设计报告Word下载.docx

《C语言课程设计学生信息管理系统设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生信息管理系统设计报告Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

C语言课程设计学生信息管理系统设计报告Word下载.docx

对数据进行保存,用save函数向文件中写入数据实现该功能。

7、退出程序

五、调试方法以及测试过程中的问题及解决方法

调试方法:

逐条的对程序中的错误进行修改;

修改程序中的变量、声明新函数以及声明头文件对函数进行调试。

测试过程中遇到的问题:

1、删除学生信息功能不能实现。

问题描述:

在选择删除功能后不能把选择的学生信息删除,而总是删除其他学生的信息。

解决办法:

出现这个问题肯定是数据覆盖的时候出现了错误,也就是循环出现了错误。

检查循环程序后发现,循环体内数据交换出现了错误,没有定义结构体变量。

重新定义结构体变量后问题解决了。

2、显示结果时候出错

每一个功能在现实结果现实的信息部完整,部分信息部能现实或被覆盖。

现实出错也就是printf语句中的结构没有排列好所导致的。

检查所有的Printf语句后发现所有的printf语句中少输出了以个语文成绩,且它们不能完全对齐。

在增加了“语文”,修改了转义字符以及空格后,问题解决了。

3、在查询信息的时候出错

在输入不在文件中保存的姓名、学号时,没有信息提示。

出现此问题说明if语句后少了一条else语句,加上该语句后,显示的结果正确了。

4、打开文件出错

当显示保存成功后关闭程序。

重新打开程序选择打开文件后,文件不能正常打开,或打开文件后没有显示结果。

查看文件文件中有数据,说明文件在保存的是后没有出错。

再仔细观察运行结果后,发现该函数在执行到循环输出的时候把该循环跳了过去没有执行。

出现此问题是因为循环的终止条件改变了。

将openl函数该为有返回值函数之后,重新定义了一个see函数来调用openl函数,并在see函数中用循环输出已经打开的文件中的数据。

重新定义一个函数后保存的文件可以成功的打开。

5、在排序后没有保存文件

在order函数后边加上了

printf("

是否保存?

(yorn)"

);

getchar();

scanf("

%c"

&

a);

if(a=='

y'

save();

else

printf("

退出"

语句后可以选择是否保存排序后的文件。

六、设计心得

通过一个星期的课程设计,我更深刻的了解了C语言中每个函数的含义,领会了算法是C语言的灵魂这句话的真谛。

一个好的算法可以使程序简洁,运行速度更快。

同时也对C语言中的循环,函数的调用有了更深的理解。

虽然这次的课程设计,老师已经给出了程序让我们改错。

看起来比较容易,但是要让程序实现要求的几个功能却不是很容易。

而且要看懂每一个函数也不是十分的容易。

在修改程序的过程中也收获了很多以前忽略的东西。

在修改的过程中巩固了基础,认识了自已以前常犯得错误,也发现了自己的不足之处。

在程序编写中,我认识编写一个系统不仅仅要有良好的用户界面,良好的程序编写风格也是相当重要的。

只有良好的种程序编写风格,程序代码的可读性才会好,开发的复杂度才能大大减少,检查错误、修改代码时才会更加容易下手。

通过实际操作,学会C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。

深刻体会到了团队协作的重要性。

七、程序代码

#include"

stdio.h"

conio.h"

string.h"

stdlib.h"

voidlook();

/*声明查看函数*/

voidsave();

/*声明保存函数*/

voidsearch_name();

/*声明按姓名查看函数*/

voidsearch_number();

/*声明按学号查看函数*/

voidorder();

/*声明排序函数*/

voiddel();

/*声明删除函数*/

intopenl();

/*声明打开函数*/

voidwelcome();

/*声明我的个人信息函数*/

voidtype();

/*声明输入函数*/

voidsee();

/*声明打开并查看文件函数*/

structstudent/*定义学生信息的结构体类型*/

{

charnum[15];

/*学号*/

charname[20];

/*姓名*/

charsex[4];

/*性别*/

intenglish;

/*英语成绩*/

intmath;

/*数学成绩*/

intchinese;

/*语文成绩*/

floataver;

/*平均成绩*/

floatsum;

/*总成绩*/

}stu[100];

intn;

/*声明一个全局变量*/

voidmain()/*主函数即用户的操作界面*/

{

system("

color1E"

/*设计文本颜色*/

intb,flag=0;

/*声明局部变量*/

while

(1)/*循环输出以下信息*/

{

printf("

\n\t\t\t欢迎来到学生成绩管理系统!

\n"

\n\t\t\t\t郗绿阳制作\n"

\t\t\t-------------------------------\n"

\t\t\t1.键入学生的信息\n\n"

/*键入学生的信息*/

\t\t\t2.查看录入的学生信息\n\n"

/*查看录入的学生信息*/

\t\t\t3.按姓名查看学生的信息\n\n"

/*按姓名查看学生的信息*/

\t\t\t4.按学号查看学生的信息\n\n"

/*按学号查看学生的信息*/

\t\t\t5.按平均成绩排序\n\n"

/*排序*/

\t\t\t6.删除学生信息\n\n"

/*删除学生信息*/

\t\t\t7.保存学生信息\n\n"

/*保存*/

\t\t\t8.打开文件\n\n"

/*打开文件*/

\t\t\t9.我的个人信息\n\n"

/*我的个人信息*/

\t\t\t0.退出\n\n"

/*退出*/

\t\t\t请输入你的选择:

"

scanf("

%d"

b);

switch(b)

{

case1:

type();

break;

/*调用键入学生信息函数*/

case2:

look();

/*调用查看函数*/

case3:

search_name();

/*调用姓名查看函数*/

case4:

search_number();

/*调用学号查看函数*/

case5:

order();

/*调用排序函数*/

case6:

del();

/*调用删除函数*/

case7:

save();

/*调用保存函数*/

case8:

see();

/*调用打开文件函数*/

case9:

welcome();

/*调用我的个人信息函数*/

case0:

flag=1;

/*退出SWITCH语句*/

default:

错误!

}

if(flag)break;

/*如果选择0就退出循环*/

}

}

voidwelcome()/*我的个人信息函数*/

system("

CLS"

\n\n\t\t------------个人信息------------"

/*在屏幕上输出一下信息*/

\n\n\n\n\t\t姓名:

郗绿阳"

\t\t\tSex:

男\n"

\t\t年龄:

20\n"

\n\t\t\t--------学习经历--------\n\n\n"

\t\t小学:

北大小学\n\n"

\t\t初中:

禹州市神垕一中\n\n"

\t\tS高中:

禹州五高\n\n"

\t\t大学:

洛阳理工学院\n\n"

\n\n\t\t按任意键返回欢迎屏幕!

getch();

/*按任意键返回主函数*/

voidtype()/*定义键入学生信息函数*/

inti;

/*定义局部变量*/

\t\t输出你想输入的学生信息个数:

scanf("

n);

for(i=0;

i<

n;

i++)/*输入每个学生的信息*/

\n\t\t\t----------------\n"

\t\t\t学号:

%s"

stu[i].num);

/*输入学号*/

\t\t\t姓名:

stu[i].name);

/*输入姓名*/

\t\t\t性别:

%S"

stu[i].sex);

/*输入性别*/

\t\t\t英语:

stu[i].english);

/*输入英语成绩*/

\t\t\t数学:

stu[i].math);

/*输入数学成绩*/

\t\t\t语文:

stu[i].chinese);

/*输入语文成绩*/

stu[i].aver=((float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese)/3;

/*计算平均成绩*/

stu[i].sum=(float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese;

/*计算总成绩*/

\t\t\t平均成绩=%4.1f\n"

stu[i].aver);

/*输出平均成绩*/

\t\t\t总成绩=%4.1f\n"

stu[i].sum);

/*输出总成绩*/

\n\n\t\t\t按任意键返回菜单!

!

voidsave()/*建立保存文件函数*/

FILE*fp;

/*定义文件型指针*/

if((fp=fopen("

student.txt"

"

wb"

))==NULL)/*打开输出文件*/

不能打开文件!

return;

/*终止程序*/

i++)/*向student文件中写入信息*/

if(fwrite(&

stu[i],sizeof(structstudent),1,fp)!

=1)

printf("

文件写入错误\n"

fclose(fp);

/*关闭文件*/

\n\n\n\n\t\t\t学生信息保存成功!

\n\n\n\n\t\t\t按任意键返回菜单!

voidlook()/*定义查看函数*/

//n=openl();

/*调用openl函数*/

\t学号\t姓名\t性别\t英语\t数学\t语文\t平均成绩\t总成绩\n"

i++)/*输出所有的学生信息*/

%10s\t%s\t%2s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n"

stu[i].num,stu[i].name,

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

\n\n\n\t\t\t按任意键返回菜单"

voidsearch_name()/*按姓名查看函数*/

/*声明字符数组*/

\t\t\t请输入学生姓名:

name);

i++)

if(strcmp(stu[i].name,name)==0)/*将输入的姓名与结构体中的姓名进行比较*/

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

voidsearch_number()/*定义按学号查看函数*/

charnumber[15];

\t\t\t请输入学号:

number);

if(strcmp(stu[i].num,number)==0)/*将输入的学号与结构体中的学号进行比较*/

voidorder()/*定义排序函数*/

inti,j;

chara;

structstudenttemp;

/*声明结构体变量*/

i++)/*对数据进行排序*/

for(j=i+1;

j<

j++)

if(stu[i].sum<

stu[j].sum)

temp=stu[i];

stu[i]=stu[j];

stu[j]=temp;

getchar();

if(a=='

)/*是否保存排序后的文件*/

save();

else

voiddel()/*定义删除学生信息函数*/

\t\t\t输入学生名字:

if(strcmp(stu[i].name,name)==0)

getch();

真的删除?

getchar();

scanf("

if(a=='

)/*是否删除该信息*/

{

for(;

stu[i]=stu[i+1];

n=n-1;

printf("

你已经删除信息"

}

else

getch();

intopenl()/*定义打开文件函数*/

system("

FILE*fp;

rb"

))==NULL)

Cannotopenfile.\n"

exit(0);

feof(fp);

fread(&

stu[i],sizeof(structstudent),1,fp);

return(i-1);

voidsee()/*打开并查看文件*/

n=openl();

文件打开成功!

按任意键查看!

八、运行结果

 

菜单屏幕

输入学生信息

查看学生信息

按姓名查询

按学号查询

按平均成绩排序

删除学生信息

保存文件

打开文件

我的个人信息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1