c语言课程设计论文Word下载.docx

上传人:b****6 文档编号:20069245 上传时间:2023-01-16 格式:DOCX 页数:27 大小:154.14KB
下载 相关 举报
c语言课程设计论文Word下载.docx_第1页
第1页 / 共27页
c语言课程设计论文Word下载.docx_第2页
第2页 / 共27页
c语言课程设计论文Word下载.docx_第3页
第3页 / 共27页
c语言课程设计论文Word下载.docx_第4页
第4页 / 共27页
c语言课程设计论文Word下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

c语言课程设计论文Word下载.docx

《c语言课程设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计论文Word下载.docx(27页珍藏版)》请在冰豆网上搜索。

c语言课程设计论文Word下载.docx

charname[10];

//姓名

charnum[10];

//学号

charscore[10];

//成绩

}

if((fp1=fopen("

Ca1.txt"

"

w"

))==NULL)//文件名,使用文件方式

{printf("

信息写入失败"

);

exit(0);

charwjm[20];

//文件名

2.2函数设计

表1函数列表

序号

函数原型

功能说明

1

voidaddnew()

新增学生姓名,学号,成绩信息

2

voidaddold()

在原有基础上继续增加其他同学的信息

3

voidprintall()

显示所有已经存入学生的成绩等信息

4

voidsearch()

根据姓名或者学号查询学生分数

5

voidjgsearch()

根据成绩查询对应的同学

6

voiddel()

删除学生信息

7

voidmodify()

修改学生信息

8

system(“cls”);

清屏

2.3部分功能设计

1.删除学生的信息,输入学生的学号进行删除操作,如果没有此人,系统将会提示无此人,如果找到,系统将会确认你是否需要删除,流程图如1-2所示。

Yes

输出删除成功

结束

开始

输入学号

在文件里查找

输出文件无此人

确认删除

输入1

输入0

是否找到

No

图1-2删除学生信息流程图

2.输入学号进行查询对应同学的成绩,流程图如图1-3所示。

输入学号或姓名

在文件中查找

输出姓名,学号,成绩

输出文件无此人记录

图1-3查询功能流程图

3系统实现源程序

3.1主函数设计

voidmain()

intx;

system("

cls"

/*清屏*/

do

{

printf("

\n欢迎使用学生成绩信息管理系统\n\n\n\n\n"

1---------添加学生信息\n\n"

2---------显示所有学生成绩信息\n\n"

3---------学号或姓名查询\n\n"

4---------成绩查询\n\n"

5---------删除学生成绩信息\n\n"

6---------修改学生成绩信息\n\n"

0---------退出"

请您选择:

"

choice:

scanf("

%d"

&

x);

switch(x)

{

case1:

add();

break;

case2:

printall();

case3:

search();

case4:

jgsearch();

case5:

del();

case6:

modify();

case0:

default:

printf("

\n错误的选择,请重新选择:

gotochoice;

}

}

while(x!

=0);

printf("

\n\n欢迎再次使用学生成绩管理系统\n"

3.2添加学生信息

/*学生成绩信息管理系统*/

#include<

stdio.h>

stdlib.h>

string.h>

intc,j,t;

structstu/*定义结构体类型*/

student[100],

newstudent[100];

/*添加学生个人信息*/

voidaddnew()

{inta,b,k;

FILE*fp,*fp1,*fp2;

/*FILE类型指针变量的定义形式*/

for(a=0;

a<

200;

a++)

欢迎使用学生成绩管理系统\n\n\n"

录入学生信息\n\n"

输入学生姓名:

scanf("

%s"

student[a].name);

输入学生学号:

student[a].num);

输入学生成绩:

student[a].score);

输入‘1’继续,‘0’结束\n"

/*判断输入是否结束*/

b);

if(b==0)

c=a;

system("

break;

))==NULL)/*文件名,使用文件方式*/

if((fp2=fopen("

Ca2.txt"

))==NULL)

if((fp=fopen("

Ca3.txt"

j=sizeof(structstu);

=c;

{if(fwrite(&

student[a],j,1,fp)!

=1)

存入失败!

{if(strcmp(student[a].score,"

80"

)==0)

{fwrite(&

student[a],j,1,fp1);

else

student[a],j,1,fp2);

添加成功!

\n\n"

请输入'

0'

返回\n"

scanf("

k);

fclose(fp1);

fclose(fp2);

fclose(fp);

if(k==0)

system("

/*继续添加成员*/

inta,b,k,p,q;

charwjm[20];

FILE*fp;

j=sizeof(structstu);

欢迎使用学生成绩信息管理系统\n\n\n"

\n\n存储文件名有Ca1.txtCa2.txtCa3.txt\n\n"

请输入想继续添加的文件名:

wjm);

for(a=0;

newstudent[a].name);

newstudent[a].num);

newstudent[a].score);

//判断输入是否结束

if(b==0)

c=a;

system("

break;

}

if((fp=fopen(wjm,"

r"

文件打开失败!

exit(0);

a=0;

while(!

feof(fp))

{fread(&

student[a],j,1,fp);

a++;

fclose(fp);

t=a-1;

for(q=0,p=t;

q<

=c,p<

=t+c;

q++,p++)

strcpy(student[p].name,newstudent[q].name);

strcpy(student[p].num,newstudent[q].num);

strcpy(student[p].score,newstudent[q].score);

{if(fwrite(&

if(k==0)

voidadd()

{intx;

添加学生信息\n\n"

1重新添加信息\n"

2继续添加信息\n"

0返回\n\n\n"

请选择:

switch(x)

case1:

addnew();

case2:

addold();

case0:

default:

/*显示所有学生的成绩*/

voidprintall()

inta,b;

FILE*fp,*fp1,*fp2;

全部已录入学生信息\n\n"

%-10s%-20s%-50s\n"

姓名"

学号"

成绩"

if((fp=fopen("

))==NULL)

{printf("

\n打开失败"

exit(0);

if((fp1=fopen("

if((fp2=fopen("

{if(fread(&

student[a],j,1,fp)==1)

student[a].name,student[a].num,student[a].score);

feof(fp1))

student[a],j,1,fp1)==1)

feof(fp2))

student[a],j,1,fp2)==1)

fclose(fp1);

fclose(fp2);

返回上级请输入‘0’!

\n:

if(b==0)

3.3姓名学号查询

intk,b,a;

charcx[20];

查找已录入学生成绩信息\n\n"

k=0;

if((fp=fopen("

))==NULL)

printf("

\n打开失败!

exit(0);

请输入学号或姓名:

\n"

cx);

if((cx[0]<

'

)||(cx[0]>

9'

))

{a=0;

while(!

{fread(&

if(strcmp(student[a].name,cx)==0)

\n\n已查到,该记录为:

k=1;

a++;

if('

<

=cx[0]<

='

if(strcmp(student[a].num,cx)==0)

if(!

k)

\n文件中无此人的记录。

fclose(fp);

\n输入“1”继续查找,“0”结束\n"

while(b!

3.4成绩查询

{intb,a;

charcx[20];

FILE*fp;

do

查找学生成绩信息\n\n"

请输入学生成绩:

fread(&

if(strcmp(cx,student[a].score)==0)

{printf("

while(b!

3.5删除学生成绩信息

intm=0,k=0,b,a,q,p;

charxh[20],wjm[20];

删除学生成绩信息\n\n"

\n请输入学号:

xh);

\n请输入欲删除的文件名:

if((fp=fopen(wjm,"

\n文件打开失败!

a=0;

fread(&

//将文件内容输入到数组中

a++;

t=a-1;

for(a=0;

=t;

if(strcmp(xh,student[a].num)==0)

{k=1;

}

if(a==t)

printf("

\n\n文件中无此人的记录。

if(k==1)

%-10s%-20s%-50s"

\n确实要删除记录,请按1;

不删除记录,请按0:

scanf("

m);

if(m)

{

for(p=a,q=a+1;

p<

t,q<

{

strcpy(student[p].name,student[q].name);

strcpy(student[p].num,student[q].num);

strcpy(student[p].score,student[q].score);

}

t;

fwrite(&

if(m)

\n删除成功!

\n输入“1”继续,“0”结束\n"

3.6修改学生成绩信息

intk=0,b,a;

修改学生成绩信息\n\n"

\n请输入欲修改文件名:

r+"

k=1;

break;

if

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

当前位置:首页 > 总结汇报

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

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