C语言课程设计报1Word下载.docx

上传人:b****2 文档编号:5195243 上传时间:2023-05-04 格式:DOCX 页数:15 大小:87.01KB
下载 相关 举报
C语言课程设计报1Word下载.docx_第1页
第1页 / 共15页
C语言课程设计报1Word下载.docx_第2页
第2页 / 共15页
C语言课程设计报1Word下载.docx_第3页
第3页 / 共15页
C语言课程设计报1Word下载.docx_第4页
第4页 / 共15页
C语言课程设计报1Word下载.docx_第5页
第5页 / 共15页
C语言课程设计报1Word下载.docx_第6页
第6页 / 共15页
C语言课程设计报1Word下载.docx_第7页
第7页 / 共15页
C语言课程设计报1Word下载.docx_第8页
第8页 / 共15页
C语言课程设计报1Word下载.docx_第9页
第9页 / 共15页
C语言课程设计报1Word下载.docx_第10页
第10页 / 共15页
C语言课程设计报1Word下载.docx_第11页
第11页 / 共15页
C语言课程设计报1Word下载.docx_第12页
第12页 / 共15页
C语言课程设计报1Word下载.docx_第13页
第13页 / 共15页
C语言课程设计报1Word下载.docx_第14页
第14页 / 共15页
C语言课程设计报1Word下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课程设计报1Word下载.docx

《C语言课程设计报1Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报1Word下载.docx(15页珍藏版)》请在冰点文库上搜索。

C语言课程设计报1Word下载.docx

stdio.h>

#include<

string.h>

stdlib.h>

conio.h>

windows.h>

/*颜色设置*/

 

structinfo/*学生信息*/

{

charnum[16];

/*学号*/

charname[15];

/*姓名*/

charsex[20];

/*性别*/

charbirthday[20];

/*出生年月*/

charhoppy[20];

/*爱好*/

charduty[15];

/*职务*/

charaddr[30];

/*地址*/

charphone[15];

/*电话*/

chargrade[20];

/*操行分*/

};

voidmenu()/*主管登录界面*//*菜单选择函数*/

{/*n记录所选菜单项*/

system("

cls"

);

/*清屏*/

puts("

\t\t\t\t\t\t\t\t\t\t************************************************************************\n"

\t\t学生信息管理系统"

\t\t*********************请选择*******************\n"

\t\t\t\t1.信息输入"

\t\t\t\t2.信息显示"

\t\t\t\t3.信息查询"

\t\t\t\t4.信息修改"

\t\t\t\t5.信息删除"

\t\t\t\t6.菜单\n"

\t\t**********************************************\n"

}

voidappend()/*学生信息输入函数*/

structinfoinfo;

/*定义结构体类型info为structinfo型*/

FILE*fp;

charch;

if((fp=fopen("

inform.txt"

"

wb"

))==NULL)/*"

ab"

为信息追加标识;

此意为需要写入的文件夹为空或内存已满的情况会返回一个空*/

{

printf("

\t无法打开文件\a"

getch();

/*相当于scanf,接收字符用*/

exit

(1);

/*直接关闭窗口,即跳出执行框*/

}

do

//

\t学号:

"

gets(info.num);

getchar();

\t姓名:

gets(info.name);

getchar();

\t性别[男/女]:

gets(info.sex);

\t出生日期:

gets(info.birthday);

\t爱好:

gets(info.hoppy);

\t职务:

gets(info.duty);

\t操行分:

gets(info.grade);

\t地址:

gets(info.addr);

\t电话:

gets(info.phone);

fwrite(&

info,sizeof(info),1,fp);

\t是否继续?

(Y/N):

[]\b\b\a"

ch=getchar();

/*接收空格*/

while(ch=='

Y'

||ch=='

y'

/*注意有一个;

号,此意为若输入Y则返回继续执行一次‘否则执行下一步*/

fclose(fp);

voidprint1()/*显示函数*/

%-8s%-10s%-8s%-12s%-15s%-8s%-15s%-15s%-10s\n"

学号"

姓名"

性别"

出生年月"

年级"

职务"

操行分"

地址"

电话号码"

voidprint2(structinfoinfo)

%-8s%-10s"

info.num,info.name);

%-8s"

info.sex);

printf("

%-4s"

info.birthday)

%-8s%-15s"

info.duty,info.grade);

%-15s%-10s\n"

info.addr,info.phone);

voiddisplay()/*学生信息显示函数*/

inttotal=0;

/*人数统计*/

rb"

))==NULL)

\t无法打开文件!

while(fread(&

info,sizeof(info),1,fp)==1)/*正确返回1,错误返回-1*/

total++;

if(total==1)

print1();

print2(info);

if((total!

=0)&

&

(total%5==0))/*界面优化0条记录或超过5条记录才执行下一步*/

\n\n\t按任意键继续......"

\n\n"

voidsearch()/*信息查询函数*/

FILE*fp;

intflag;

/*flag为1按编号查询,flagg为2按姓名查询*/

/*记录符合条件的记录的个数*/

charch[10];

charf;

))==NULL)/*"

为只读*/

\t不能打开文件!

rewind(fp);

/*注意:

rewind不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。

而文件指针是指向整个文件,如果不重新赋值文件指针不会改变*/

\n\n请选择查询方式(1:

按学号查询2:

按姓名查询):

[]\b\b"

while

(1)

scanf("

%d"

&

flag);

if(flag<

1||flag>

2)/*flag为1按编号查询,flagg为2按姓名查询*/

输入错误,请重新输入(1:

else

break;

if(flag==1)/*按编号查询*/

charxuehao[16];

请输入你要查询的学号:

gets(xuehao);

total=0;

/*符合条件的记录数*/

info,sizeof(info),1,fp)==1)

if(strcmp(xuehao,info.num)==0)

else/*按姓名进行查询*/

请输入你要查询的姓名:

gets(ch);

if(strcmp(ch,info.name)==0)

是否继续查找?

f=getchar();

while(f=='

||f=='

voidmodify()/*信修改函数*/

FILE*fp1,*fp2;

if((fp1=fopen("

为只写*/

\t无法打开文件!

if((fp2=fopen("

temp.txt"

请输入你想要修改的学号:

flag=0;

info,sizeof(info),1,fp1)==1)

\n\n请输入新的信息:

\n"

\t性别(男/女):

\t生日:

\t爱好:

\t电话号码:

flag=1;

info,sizeof(info),1,fp2);

fclose(fp1);

fclose(fp2);

if(flag==1)

信息修改成功!

remove("

/*自动移除原文件*/

rename("

/*将新文件名称命名为原文件名*/

抱歉,未查询到相关记录!

是否继续修改?

voidDelete()/*信息删除函数*/

\t无法创建文件!

请输入需要删除的学号:

/*移除*/

/*重命名*/

\n删除成功!

\n继续删除?

[Y]\n任意键退出!

intmain()

menu();

chart;

t=getchar();

switch(t)

case'

1'

:

append();

break;

//输入函数

2'

display();

//显示函数

3'

search();

//查询函数

4'

modify();

//修改函数

5'

Delete();

//删除函数

6'

//菜单

return0;

心得体会:

其实写代码要有耐心,有的知识点可能我们不熟悉,那是因为我们没有经常练习,用得多了,自然也就会了,没有什么特殊的。

要勤加联系自己没掌握的,要让自己变得强大。

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2