C语言课程设计代码Word文档下载推荐.docx

上传人:b****6 文档编号:20599495 上传时间:2023-01-24 格式:DOCX 页数:29 大小:156.99KB
下载 相关 举报
C语言课程设计代码Word文档下载推荐.docx_第1页
第1页 / 共29页
C语言课程设计代码Word文档下载推荐.docx_第2页
第2页 / 共29页
C语言课程设计代码Word文档下载推荐.docx_第3页
第3页 / 共29页
C语言课程设计代码Word文档下载推荐.docx_第4页
第4页 / 共29页
C语言课程设计代码Word文档下载推荐.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C语言课程设计代码Word文档下载推荐.docx

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

C语言课程设计代码Word文档下载推荐.docx

包括课程设计过程中的学习体会与收获,出现的问题和解决的方法,没有完成的部分及原因,对C语言和本次课程设计的认识以及自己的建议等容。

3.提交光盘(每班统一制作1光盘,每人一个文件夹,文件夹名为“学号”)。

每人的光盘文件夹含:

(1)任务书;

(2)源程序文件和可执行程序文件;

(3)测试用例和编译运行结果;

(4)课程设计报告电子文档。

3、课程设计应完成的工作

1.进行需求分析,将系统划分为多个模块;

2.为每个模块设计算法及流程;

3.编写代码实现各模块功能;

4.运行调试程序;

5.撰写课程设计报告。

4、应收集的资料及主要参考文献

[1]谭浩强,《C程序设计(第三版)》,清华大学,2005

[2]谭浩强,《C程序设计题解与上机指导(第三版)》,清华大学,2005

教材第11章“结构体”部分及有关习题。

1.设计题目:

学生信息管理系统

2.设计容:

3.系统功能需求分析:

系统所具备功能:

1.建立学生信息文件,并可进行:

(1)学生学号、、年龄、性别、出生年月、地址、邮编、、E-mail等信息的输入。

(2)对指定学生信息进行修改,删除。

(3)对指定(按学号或)学生进行信息查询。

(4)按学号顺序显示所有学生信息。

(5)保存信息。

1.总体设计

主要功能模块:

(1)开始界面选择,初始菜单,二级菜单。

(选择结构)

(2)数据文件的打开与关闭。

(fopen,fclose,save等)

(3)学生信息输入。

(结构体,结构体数组指针,信息校正,数据保存)

(3)信息修改、删除。

(数据的读写,fread,fwrite,链表等)

(4)学生信息查询。

(结构体,循环结构,选择结构)

2.详细设计

(1)界面

初始菜单界面

*********欢迎使用学生信息管理系统********

请选择:

1.学生信息添加

2.修改或删除学生信息

3.学生信息查询

4.退出

二级菜单

********学生信息的更改*******

1.学生信息的删除

2.学生信息的修改

0.返回主菜单

请选择(0-2)

********学生信息删除********

1.按编号删除

2.按删除

********学生信息查询********

1.按学号进行信息查询

2.按进行信息查询

三级菜单

********修改学生信息********

1.修改学号

2.修改年龄

3.修改性别

4.修改出生年月

5.修改地址

6.修改

7.修改email

8.修改邮编

0.返回上级菜单

(2)数据结构设计

structstudent

{

intnum;

charname[20];

intage;

charsex[5];

charbirthday[10];

charadr[20];

charmailbox[10];

chartel[10];

charemail[20];

}student[N],student2[N];

(3)函数模块设计

Save函数

intsave(intsum)

FILE*fp;

inti;

if((fp=fopen("

student.txt"

"

wt"

))==NULL)

{

printf("

读文件错误!

\n"

);

return0;

}

for(i=0;

i<

sum;

i++)

if(fwrite(&

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

=1)

写文件错误!

fclose(fp);

returni;

}

用于学生信息的存储。

函数输入――intinput()

列出所需输入的数据类型,并且调用Save函数,生成新的信息文件。

文件读取――intload_file()

在程序开头时即调用,检查是否已经存在信息文件,并告知用户文件信息。

按照编号查询信息――intsearch_by_num()

在二级菜单中发挥作用,以学号为标准进行信息查询。

for(i=0;

if(num==student[i].num&

&

student[i].num!

=0)

PRINT;

%s%d%d%s%s%s%s%s%s"

student[i].name,student[i].num,student[i].age,student[i].birthday,student[i].adr,student[i].mailbox,student[i].tel,student[i].email);

按进行查询――intsearch_by_name()

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

学生%s的信息"

student[i].name);

PRINT;

%s%d%d%s%s%s%s%s%s"

以和学号为标准,进行学生信息排列

printf("

学生信息按学号删除

intdelete_by_num()

intdelete_num=0,i,f=0;

\n\n请输入您要删除学生的学号:

"

scanf("

%d"

delete_num);

if(student[i].num==delete_num)

student[i].num=0;

该学生信息已删除!

学生信息按删除

intdelete_by_name()

chardelete_name[20],i,f=0;

\n\n请输入要删除学生的:

scanf("

%s"

&

delete_name);

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

{tudent[i].num=0;

%s的信息已删除!

学生信息修改,通过switch语句对需要指定的信息进行修改。

打开程序检测是否已存在学生信息文件:

初始菜单:

学生信息添加菜单:

二级菜单:

源代码:

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

#include<

stdio.h>

string.h>

stdlib.h>

#defineN100

#definePRINTprintf("

学号年龄出生年月地址邮编E-mail\n"

intsum=0;

/*保存信息*/

voidclear()

getchar();

system("

cls"

intinput()

inti,j,flag=1;

clear();

添加学生信息,当输入学号为0时,将结束操作。

输入例子:

学号:

1\n"

:

ZhangFei\n"

年龄:

18\n"

性别:

M\n"

出生年月:

19891007\n"

地址:

Tianhe\n"

邮编:

510000\n"

12345678\n"

E-mail:

123163.\n"

for(i=1;

N;

第%d个学生"

i);

student[i].num);

if(student[i].num==0)break;

for(j=0;

j<

j++)

if(student[j].num==student[i].num)

学号重复,请重新输入学号:

flag=0;

break;

};

if(flag==0)break;

student[i].age);

student[i].sex);

student[i].birthday);

student[i].adr);

student[i].mailbox);

student[i].tel);

student[i].email);

flag=1;

if(flag==1)

你所输入的学生信息已添加成功!

按回车键返回主菜单!

getchar();

sum=i;

save(sum);

returni;

/*读取信息*/

intload_file()

inti=0;

rt"

尚未发现已经保存的学生信息!

while(feof(fp)!

fread(&

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

if(student[i].num==0)

else

i++;

sum++;

已有学生信息\n"

if(student[i].num!

按回车键返回主菜单!

return(i);

/*输出信息*/

intoutput_message()

\n\n----------------------------学生信息表--------------------------\n"

/*按编号查询*/

intsearch_by_num()

inti,j=0;

请输入要查询学生的编号:

num);

编号为%d的学生信息"

student[i].num);

elsej++;

if(j==sum)

编号为%d的学生不存在!

"

num);

\n该生信息不存在!

/*按查询*/

intsearch_by_name()

请输入要查询学生的:

name);

该学生不存在!

按回车键返回上级菜单!

/*学生信息查询模块*/

inquire_message()

intchoice;

do

\n\n\n*****学生信息查询*****\n\n"

1.按学号查询;

\n\n\n"

2.按查询;

0.返回主菜单;

请选择(0-2):

choice);

switch(choice)

case1:

search_by_num();

break;

case2:

search_by_name();

case0:

}while(choice!

=0);

return1;

}

/*两种排序方式*/

/*按编号排序*/

sort_by_num()

{inti;

sort_by_name()

/*排序模块*/

sort_message()

\n\n\n*****学生信息排序*****\n\n"

1.按学号进行信息查询\n\n"

2.按进行信息查询\n\n"

0.返回主菜单\n\n"

sort_by_num();

sort_by_name();

voidrange()

inti,j=0,k=0;

student2[j]=student[i];

j++;

elsek++;

sum-=k;

if(k!

{

student[i]=student2[i];

/*按编号删除*/

f=1;

range();

if(f==0)

\n\n******经查并无该

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

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

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

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