C语言课程设计实验报告.docx

上传人:b****6 文档编号:3018443 上传时间:2022-11-17 格式:DOCX 页数:23 大小:20.57KB
下载 相关 举报
C语言课程设计实验报告.docx_第1页
第1页 / 共23页
C语言课程设计实验报告.docx_第2页
第2页 / 共23页
C语言课程设计实验报告.docx_第3页
第3页 / 共23页
C语言课程设计实验报告.docx_第4页
第4页 / 共23页
C语言课程设计实验报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言课程设计实验报告.docx

《C语言课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《C语言课程设计实验报告.docx(23页珍藏版)》请在冰豆网上搜索。

C语言课程设计实验报告.docx

C语言课程设计实验报告

C语言课程设计实验报告

 

一、实验目的:

1.更深入的理解和掌握该课程中的基本概念,程序设计的思想、技术和方法。

2.训练学生综合运用所学知识独立完成课题以及撰写课程设计报告的能力。

3.提高查询资料文献,从中获得新知识的能力。

4.培养实践动手能力,利用理论去解决实际问题的能力。

二、功能需求:

(1).系统具有:

数据录入、添加、修改、删除、查询(可按学号、姓名、成绩进行查询)、排序等功能。

(2).有关信息可保存在文件中,且可从文件中读出,删改。

三、总体设计:

此程序根据不同的功能设计几个模块,写成相应的函数,然后利用函数的调用来实现。

模块

(1):

登记由老师从键盘输入成绩并存于文件中

模块

(2):

删除从文件中删除已存的学生信息

模块(3):

浏览查看已输入的学生的成绩

模块(4):

查找可通过三种不同的方式查询成绩

模块(5):

排序对已输入的成绩进行排序

模块(6):

导出从文件中导出已输入的数据

四、数据结构设计:

(1)结构体数组:

存储学生个人信息

structstudent

{intnumber;

charname[20];

intgrade;

intgaoshu;

intyingyu;

intjisuanji;

intsum;}

(2)intshuliang(统计录入的总人数)rs(统计录入的人数),i,k(循环变量)xx(学号)choice(需要删除的学生的学号)

(3)数组:

biaozhi[20](记录用的选择)yy[20](记录学生的姓名)shanchuinfo[10](判定是否删除学生的全部信息还是部分信息)

(4)文件FILE*rs

五、整体程序:

intnumber;

ch#includede

arname[20];

intgaoshu

intsum;;

intgrade;

voidmenu();

intyingyu;

intwuli;

#inclnclu#i#include

ude

#defineN1000

typedefstructstudent

{

}STUDENT;

STUDENTstudent[N];

intshuliang=0;

voidfhzjm()

{

charbiaozhi[20];

printf("\n");

printf("还需要操作么?

如果需要操作请输入:

yes,否则请输入:

no\n");

scanf("%s",biaozhi);

if(strcmp(biaozhi,"yes")==0)

{

menu();

}

elseif(strcmp(biaozhi,"no")==0)

exit(0);

else

{

printf("请输入正确的字符,谢谢!

\n");

fhzjm();

}

}

voidDengJi()

{

intrs;

inti,k=1;

system("CLS");

printf("请输入需要输入几个学生信息:

");

scanf("%d",&rs);

for(i=shuliang;i

{

printf("请输入第%d个学生的学号:

",k);

scanf("%d",&student[i].number);

printf("请输入学生的姓名:

");

scanf("%s",student[i].name);

printf("请输入学生3门课的成绩:

");

printf("请输入第1门课的成绩:

");

scanf("%d",&student[i].gaoshu);

printf("请输入第2门课的成绩:

");

scanf("%d",&student[i].yingyu);

printf("请输入第3门课的成绩:

");

scanf("%d",&student[i].wuli);

}

shuliang=shuliang+rs;

fhzjm();

}

voidShanChu()

{

charshanchuinfo[10];

system("CLS");

printf("删除全部学生信息请输入\"all\",删除指定学号的学生信息请输入\"one\"\n");

scanf("%s",shanchuinfo);

if(strcmp(shanchuinfo,"all")==0)

{

intj;

printf("你删除的学生信息如下:

\n");

printf("-----------学号-------------姓名-------------高数--------------英语--------------物理\t\n");

for(j=0;j

printf("----%d-------%s-------%d-------%d-------%d-------%d\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].wuli);

shuliang=0;

printf("删除成功\n\n");

}

elseif(strcmp(shanchuinfo,"one")==0)

{

structstudent*p=NULL;

intchoice;

inti,j,k=0;

printf("请输入你要删除的人的学号:

");

scanf("%d",&choice);

for(i=0;i

{

if(choice==student[i].number)

{

k=1;j=i;break;

}

}

if(k)

{

if(shuliang==1)

{

p=&student[0];

free(p);

shuliang=0;

}

else

{

for(i=j;i

{

student[i]=student[i+1];

}

shuliang=shuliang-1;

}

printf("删除成功\n\n");

}

else

{

printf("输入数据错误!

\n");

}

}

fhzjm();

}

voidLiuLan()

{

inti;

system("CLS");

if(shuliang==0)

{

printf("系统里面没有任何学生的信息!

\n");

}

else

{

for(i=0;i

{

printf("第%d个学生的学号为:

%d\n",i+1,student[i].number);

printf("第%d个学生的姓名为:

%s\n",i+1,student[i].name);

printf("第%d个学生的第一门课的成绩为:

%d\n",i+1,student[i].gaoshu);

printf("第%d个学生的第二门课的成绩为:

%d\n",i+1,student[i].yingyu);

printf("第%d个学生的第三门课的成绩为:

%d\n",i+1,student[i].wuli);

student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].wuli;

printf("第%d个学生的总成绩为:

%d\n",i+1,student[i].sum);

}

}

fhzjm();

}

voidChaZhao()

{

intxx;

charchoice,yy[20];

inti,j,k=0;

system("CLS");

if(shuliang==0)

{

printf("系统里面没有任何学生的信息!

\n");

fhzjm();

}

printf("三种查找方式:

学号,姓名,成绩\n");

printf("如果按学号查找请输1,如果按姓名查找请输2,如果按成绩查找请输3\n");

printf("请输入您查找的方式:

");

scanf("%s",&choice);

if(choice=='1')

{

printf("请输入需要查找学生的学号:

");

scanf("%d",&xx);

printf("您所查找的学生的信息为:

\n");

printf("----学号----姓名----高数成绩----英语成绩----物理成绩----\t\n");

for(i=0;i

{

if(xx==student[i].number)

{

j=i;k=1;

printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].wuli);

}

}

if(k==0)

printf("输入信息有误:

\n");

 

}

elseif(choice=='2')

{

printf("请输入需要查找学生的姓名:

\n");

scanf("%s",yy);

printf("您所查找的学生的信息为:

\n");

printf("----学号----姓名----高数成绩----英语成绩----物理成绩----\t\n");

for(i=0;i

{

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

{

j=i;k=1;

printf("----%d-------%s-------%d-------%d-------%d------\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].wuli,a);

}

}

if(k==0)

printf("输入信息有误:

\n");

 

}

elseif(choice=='3')

{

printf("请输入需要查找学生的成绩:

\n");

scanf("%d",&xx);

printf("您所查找的学生的信息为:

\n");

printf("----学号----姓名----高数----英语----物理----\t\n");

for(i=0;i

{

if(xx==student[i].grade)

{

j=i;k=1;

printf("----%d-------%s-------%d-------%d-------%d-------\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].wuli,a);

}

}

if(k==0)

printf("输入信息有误:

\n");

}

fhzjm();

pingjunfen();

}

voidPaiXu()

{

structstudent*p1[N],**p2,*

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

当前位置:首页 > 成人教育 > 自考

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

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