版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 学习并分别使用标准C的文件操作函数和Linux的系统调用创建一个对学生基本信息进行操作(插入、修改和删除)的C程序,学生基本信息以结构体的形式存储在文件 #include<stdio.h>#include<unistd.h>#include<string.h>#include<stdlib.h>#include<time.h>struct stu_info char stu_num12; char name10; &
2、#160; char sex;/*0为女生,1为男生*/ char mobile_phone12;struct stu_info student;unsigned int number;struct stu_info stu100;FILE *in;FILE *out;int len;void inputstu();void updatestu();void deletestu();void displaystu();void commanddisp() printf("-n&
3、quot;); printf("|-学生基本信息管理-|n"); printf("|-1.基本信息插入.-2.基本信息修改-|n"); printf("|-3.基本信息删除.-4.基本信息显示-|n"); printf("|-r.初始化(第一次使用时用!慎用)-q.退出-|n");
4、0; printf("|-请输入你的选择:-|n"); printf("-n");void main() commanddisp(); char ch; while(1) do
5、; ch=getchar(); while(ch='n'); if(ch='q')return; switch(ch)
6、60; case '1': inputstu(); break;
7、 case '2': updatestu(); break; case '3':
8、0; deletestu(); break; case '4': displaystu();
9、 break; case 'r': printf("ninit student tablen");
10、; if(out=fopen("c.doc","w")=NULL) return; number=0; fwrite(&number,sizeof(unsi
11、gned int),1,out); fflush(out); fclose(out); break;
12、60; default: break; printf("please enter any key to continue");
13、0; getchar(); getchar(); system("clear"); commanddisp(); void inputstu() printf(
14、"n-请输入学生信息-n"); char p='y' while(p='y'|p='Y') memset(&student,0,sizeof(student); print
15、f("学号:"); scanf("%s",student.stu_num); printf("姓名:"); scanf("%s",); &
16、#160; printf("性别0是女,1是男:"); do student.sex=getchar(); while(student.sex='n'); &
17、#160; printf("手机号:"); scanf("%s",student.mobile_phone); len=sizeof(struct stu_info);
18、60; if(out=fopen("c.doc","r+")=NULL) return; fread(&number,sizeof(unsigned int),1,out); number+; fseek(out,0L,SEEK_SET);
19、 fwrite(&number,sizeof(unsigned int),1,out); fflush(out); fseek(out,0L,SEEK_END); fwrite(&student,len,1,out);
20、60; fflush(out); fclose(out); printf("是否继续输入YNn"); fflush(stdin);
21、60; do p=getchar(); while(p='n'); void updatestu() printf("n-学生信息修改-n"); print
22、f("请输入修改学生的学号:"); memset(&student,0,sizeof(student); scanf("%s",student.stu_num); printf("姓名:"); scanf("%s",); printf("
23、性别0是女,1是男:"); do student.sex=getchar(); while(student.sex='n'); printf("手机号:"); scanf("%s&q
24、uot;,student.mobile_phone); len=sizeof(struct stu_info); in=fopen("c.doc","r+"); fread(&number,sizeof(unsigned int),1,in); unsigned int j; long kk;
25、60; for(j=0;j<number;j+) fread(&stu0,len,1,in); if(strcmp(student.stu_num,stu0.stu_num)=0)
26、60; kk=len; fseek(in,-kk,SEEK_CUR); fwrite(&student,len,1,in);
27、 break; fflush(in); fclose(in); if(j=number)printf("没有这条记录n");void deletestu()
28、 printf("n-学生信息删除-n"); in=fopen("c.doc","r"); fread(&number,sizeof(unsigned int),1,in); memset(stu,0,sizeof(stu); len=sizeof(struct stu_info);
29、60; fread(stu,len,number,in); unsigned int i; char f; while(1) printf("请输入删除学生的学号:");
30、; char stu_num12; memset(stu_num,0,sizeof(stu_num); fflush(stdin); scanf("%s",stu_num);
31、; for(i=0;i<number;i+) if(strcmp(stu_num,stui.stu_num)=0)break; if(i=number) printf("没有
32、这条记录n"); else number-; for(;i<
33、number;i+) strcpy(stui.stu_num,stui+1.stu_num);
34、 strcpy(,stui+1.name); stui.sex=stui+1.sex;
35、160; strcpy(stui.mobile_phone,stui+1.mobile_phone); printf("是否继续删除YNn");
36、 fflush(stdin); do f=getchar(); while(f='n'); if(f!='y'&&f!='Y')break; fclose(in); ou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林芝地区察隅县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 北海市铁山港区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 凉山彝族自治州冕宁县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 唐山市滦县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 抚州市乐安县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 大理白族自治州云龙县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 楚雄彝族自治州武定县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 马鞍山市花山区2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 拉萨市尼木县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 门店营销策划方案
- 光明电力笔试题型及答案
- 项目槽轮的工艺设计与制造
- 2025光伏电站光伏组件并网验收测试标准光伏组件安装质量检查标准
- 2025年河南省中考一模英语试题(原卷版+解析版)
- 《数字经济园区建设运营规范》
- 2023年新高考全国II卷【语文+数学+英语】真题及答案解析
- 2025中国信科集团·武汉光迅科技股份限公司春招易考易错模拟试题(共500题)试卷后附参考答案
- 江铜集团招聘笔试冲刺题2025
- 电气工作票技术规范(发电、变电部分)2024整合版
- 物联网技术在维护服务中的应用-洞察分析
- 时钟造型设计(教案)-美术四年级下册
评论
0/150
提交评论