C语言课程设计Word文档格式.docx
- 文档编号:22369615
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:18
- 大小:17.80KB
C语言课程设计Word文档格式.docx
《C语言课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
5.删除和修改个人信息
选择此项功能后,系统将会自动在屏幕上显示按学号录入原来同学的个人信息,输入后进行修改,并且录入到你所指定的文本文件中。
6.退出系统,结束任务
四.调试与测试
在VisualC++6.0环境下输入代码并进行调试和正确运行
五.源程序清单和执行结果
#include<
stdio.h>
string.h>
stdlib.h>
#defineLENsizeof(structStudent)
structStudent
{
charnum[21];
charname[256];
charaddress[562];
structStudent*next;
};
intn;
//n为全局变量,本文件模块中各函数均可使用它
structStudent*creat()//定义函数。
此函数返回一个指向链表头的指针
structStudent*head;
structStudent*p1,*p2;
n=0;
p1=p2=(structStudent*)malloc(LEN);
printf("
请依次输入学生的信息,输入学号为零时退出。
\n"
);
请输入学生的学号:
gets(p1->
num);
请输入学生的姓名:
name);
请输入学生的地址:
address);
head=NULL;
while(p1->
num[0]!
='
0'
)//当学号是0时,退出
{
n=n+1;
if(n==1)
head=p1;
else
p2->
next=p1;
p2=p1;
p1=(structStudent*)malloc(LEN);
//开辟动态存储区,把起始地址付给p1
printf("
gets(p1->
//输入其他学生的学号和成绩
printf("
}
p2->
next=NULL;
system("
cls"
return(head);
}
voidprint_save(structStudenthead)
FILE*fp;
structStudent*p;
fp=fopen("
D:
\\stduent.txt"
"
ab+"
//打开文件
if(fp==NULL)
文件无法打开\n"
exit(0);
\n现在,有%d条记录,分别是:
n);
p=&
head;
if(&
head!
=NULL)
do
{
printf("
\n学号:
"
puts(p->
\n姓名:
\n地址:
fseek(fp,0,2);
if(fwrite(p,sizeof(structStudent),1,fp)!
=1)
文件无法写入\n"
p=p->
next;
}while(p!
=NULL);
fclose(fp);
//关闭文件
getchar();
system("
structStudent*pt;
//定义一个Student类型的指针
charcomp[3];
//comp为保存输入的变量
intmain()//一个调用这个creat函数的main函数c
voidShowView();
//界面显示
voidname_surch();
//按姓名查找
voidnum_surch();
//按学号查找
voidNativePlace_surch();
//按籍贯查找
voidDelete_shiyan();
//删除学生信息
voidmodification_shiyan();
//修改学生信息
voidfileout(structStudent*p);
//文件输出
voidprint_save(structStudenthead);
while
(1)
ShowView();
if(strnicmp(comp,"
1"
3)==0)//strnicmp比较两个字符串的函数
pt=creat();
//函数返回链表第一个结点的地址
}
elseif(strnicmp(comp,"
6"
3)==0)
print_save(*pt);
3"
3)==0)//输出文件内容
fileout(pt);
2"
name_surch();
7"
num_surch();
9"
{
//modification();
modification_shiyan();
4"
//Delete();
Delete_shiyan();
5"
showSzechwan_No();
8"
NativePlace_surch();
0"
break;
输入错误!
!
return0;
voidfileout(structStudent*p)
现在有%d条记录,分别是:
rb"
//0x00429af0
rewind(fp);
while(!
feof(fp))
fread(p,sizeof(structStudent),1,fp);
//从文件中读取一块数据
%-15s"
p->
puts("
fclose(fp);
getchar();
voidShowView()//主菜单
*******************************************************************************\n"
**********************欢迎进入学生籍贯信息记录簿*******************************\n"
****1、cin添加*****\n"
****2、namesurch按名字搜索*****\n"
****3、fileout显示文件中的信息*****\n"
****4、delete删除学生信息*****\n"
****5、showSzechwan_No分别显示四川和非四川籍学生并非别存盘*****\n"
****6、save保存当前信息*****\n"
****7、numsurch按学号搜索*****\n"
****8、nativeplace安籍贯查询*****\n"
****9、modif修改学生信息*****\n"
****0、break退出*****\n"
********************请输入您的选择¥¥:
gets(comp);
//清屏
voidname_surch()
charsurch[256];
请输入要查询的人的名字:
gets(surch);
r"
不能打开文件\n"
//指向文件的开始
feof(fp))//查找
Studenta;
while(!
fread(&
a,sizeof(Student),1,fp);
//从p指向的文件读入一组数据
if(!
strcmp(a.name,surch))
{
printf("
%s,%s,%s\n"
a.num,a.name,a.address);
break;
}
if(!
{return;
查无此人·
·
voidnum_surch()
FILE*fp;
请输入要查询的人的学号:
gets(surch);
//0x0042aab8
ERROR"
strcmp(a.num,surch))
voidNativePlace_surch()//按籍贯查询
请输入要查询的人的籍贯:
文件打不开\n"
a,sizeof(structStudent),1,fp);
strcmp(a.address,surch))//相当于strcmp(a.address,surch)==0
voidDelete_shiyan()//删除学生信息
FILE*fptemp;
请输入要删除的人的学号:
fptemp=fopen("
\\temp.txt"
wb"
Studenta;
mark:
fread(&
//从p指向的文件读入一组数据fp=0x0042aab8
if(0==strcmp(a.num,surch))
charp;
如果以上信息与你要删除的人的信息对应,请输入(y/n):
scanf("
%c"
&
p);
if('
Y'
==p||'
y'
==p)
gotomark;
if(strcmp(a.num,surch)!
=0)
fwrite(&
a,sizeof(structStudent),1,fptemp);
fclose(fptemp);
FILE*aa;
FILE*bb;
aa=fopen("
bb=fopen("
feof(bb))
fread(&
a,sizeof(structStudent),1,bb);
fwrite(&
a,sizeof(structStudent),1,aa);
voidmodification_shiyan()//修改学生信息
structStudenta;
请输入要修改的人的学号:
fptemp=fopen("
如果以上信息与你要修改的人的信息对应,请输入(y/n):
请输入要修改成的信息(学号、姓名、籍贯):
getchar();
学号:
gets(a.num);
姓名:
gets(a.name);
地址:
gets(a.address);
FILE*pp;
bb=fopen("
pp=fopen("
feof(pp))
a,sizeof(structStudent),1,pp);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)