匿名用户

1级

2010-01-23 回答

/********************

程序功能:

输入学生信息,存盘,

并能按名字找对应的学生,找到则

输出,否则输出无此人

********************/

#include

#include

/*定义学生人数*/

#define N 3

/*名字和性别长度*/

#define NO 20

/****结构体存信息更多的信息随便加****/

typedef struct student

{

char sname[NO];

char ssex[NO];

int snumber;

}stu;

/**输出找到信息**/

void display(stu ss)

{

printf("information of student:\nname:\tsex:\tnumber:\n");

printf("%s %s %d\n", ss.sname, ss.ssex, ss.snumber);

}

/***************

处理输入的字符,原因很多(主要是数组和指针的转

换带来的问题,这是比较底层的东西),如果少了这个

就会出错,怪就怪系统函数做得不太好。

有些东西还是得自己出马写的

****************/

void do_Char(char *ch)

{

int i;

for (i = 0; i < NO; i++)

{

if (0 != ch[i] && '\0' != ch[i]);

else break;

}

if (NO == i)

{

i--;

}

ch[i] = '\0';

}

/****************************

读取信息,即初始化存入文件*** gets(chname);

**************************/

void getInformation(stu s[])

{

FILE *pf = NULL;

char chname[NO];

char chsex[NO];

int number;

int i;

if (NULL == (pf = fopen("studenInformatio.txt", "wb")))

{

printf("fopen error !");

exit(0);

}

for (i = 0; i < N; i++)

{

printf("input the name:\tsex:\tnumber:\n");

gets(chname);

do_Char(chname);

gets(chsex);

do_Char(chsex);

scanf("%d", &number);

strcpy(s[i].sname, chname);

strcpy(s[i].ssex, chsex);

s[i].snumber = number;

fwrite(&s[i], sizeof(stu), 1, pf);

display(s[i]);

/********************

清空绶存的,这也是系统函数的原因,如果少了这个

就会把上次输入的回车作为下次还要输入的内容,这个也

是没办法的,不信你自己改下,会令人想不通的东西出现在你面前

***********************/

flushall();

}

fclose(pf);

}

/****按名字查找****/

void find()

{

FILE *pf = NULL;

char chname[N];

stu s[N];

int i;

if (NULL == (pf = fopen("studenInformation.txt", "rb")))

{

printf("fopen error !");

exit(0);

}

for (i = 0; i < N; i++)

{

fread(&s[i], sizeof(stu), 1, pf);

}

for (i = 0; i < N; i++)

display(s[i]);

printf("input the name of you will find:\n");

scanf("%s", chname);

for (i = 0; i < N; i++)

{

if (0 == strcmp(s[i].sname, chname))

{

display(s[i]);

break;

}

}

if (N == i)

{

printf("not find this struden.\n");

}

fclose(pf);

}

/***驱动程序***/

void main()

{

stu st[N];

getInformation(st);

find();

getch();

}

已通过上机,这里说下,不要相信库函数总是最好的.

希望你也有同感,如果要我举例那又会是几百字以上的东西了.

你多做几个大一点的(500行左右)程序就知道了.

上千行你会发现更多你没见过书上从来没有的东西.

c语言输出参数是out,关于C语言中的输出输入流相关推荐

  1. Linux c语言 creat参数,C++_使用C语言操作文件的基本函数整理,C语言creat()函数:创建文件函 - phpStudy...

    使用C语言操作文件的基本函数整理 C语言creat()函数:创建文件函数 头文件: #include #include #include 定义函数: int creat(const char * pa ...

  2. matlab如何输出一个函数的图像,在matlab中如何输出一个函数的图像

    点击查看在matlab中如何输出一个函数的图像具体信息 答:A. imread imread函数用于读入各种图像文件,其一般的用法为 [X,MAP]=imread('filename','fmt')其 ...

  3. 在命令提示符输出c语言代码_您可以在Windows命令提示符中更改输出缓冲区的大小吗?...

    在命令提示符输出c语言代码 If you are someone who loves using the Windows Command Prompt, you may have found your ...

  4. mysql 输出参数赋值_【Mysql 调用存储过程,输出参数的坑】

    UIViewContentMode各类型效果 UIViewContentMode   typedef enum {    UIViewContentModeScaleToFill,    UIView ...

  5. c语言让参数等于空字符串,C语言模拟实现字符串操作函数

    前言 在编写程序过程中,我们经常使用到一些字符串函数,例如求字符串长度,拷贝字符串--,这些函数都在C标准库中存在,我们可以直接使用.但我们还需要掌握这些函数的实现方法,今天来看看一些常用的字符串操作 ...

  6. MATLAB 输入和输出参数

    MATLAB是一种高级技术计算软件,广泛应用于各种工程和科学领域.在MATLAB中,输入和输出参数是非常重要的概念.本文将介绍MATLAB中输入和输出参数的基本概念和用法. 输入参数 在MATLAB中 ...

  7. C语言可变参数函数_初探

    一.什么是可变参数函数 C语言允许定义参数数量可变的函数,这称为可变参数函数(variadic function).这种函数需要固定数量的强制参数,后面是数量可变的可选参数. 其中,强制参数必须至少一 ...

  8. java 输出参数_Java方法输出参数

    在写Java代码的时候,自定义方法的时候,都会牵扯到参数问题,方法参数包括输出参数和输入参数. 下面主要说说输出参数: 1.没有输出参数的时候就直接把输出参数写成void就可以. 2.当输出参数只有一 ...

  9. JS常用的输出内容的方式详解(5种输出方式)

    1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.doc ...

最新文章

  1. Blender全流程制作真实感3D产品学习教程
  2. idel 智能提示_intellij idea设置代码自动提示快捷键的详细方法.
  3. 精通python-助你精通python,这些学习资源请收好
  4. 【错误记录】Android 模拟器安装应用报错 ( INSTALL_FAILED_INSUFFICIENT_STORAGE )
  5. 【转载】OI生涯结束……在逸夫楼那些的日子里
  6. 正则化与L0、L1、L2范数略解
  7. Python实训day03pm【列表生成式、非文本文件的读写与复制、文本文件读写练习】
  8. linux 串口最高速率,Uart 16c950 linux速度高于B4000000(4Mbps)
  9. 苹果首款自研芯片Mac成本可能上升 因设计改变
  10. pspice和matlab,PSpice和MATLAB综合电路仿真与分析(原书第2版)
  11. 读书笔记:《超越需求 敏捷思维模式下的分析》
  12. java-map(世界杯)
  13. java中合并不同子目录下的txt文件(CHM转换成txt的过程)
  14. 在我心目中的霸气海贼王——路飞 不一样的路飞
  15. 《学习之道》第二章专注思维和发散思维
  16. 为你的树莓派安装xbox手柄驱动~
  17. layer出现Uncaught ReferenceError: layer is not defined错误
  18. 马云被约谈 传递了什么信号?
  19. 【区域赛总结】2015ACM-ICPC北京区域赛
  20. BAPI创建CLASS和CHARACTERISTICS

热门文章

  1. 7.Eclipse中创建新Maven项目
  2. 9.Boost之正则regex
  3. 内存中原码,反码,补码,查看数值范围,,或,异或,取反,左右移位操作
  4. 基于注解的Spring MVC(所需jar包,web.xml配置,Spring文件配置,@Controller,@RequestMapping,@RequestParam,model填参,EL取值)
  5. 处理数字_2_计算某列的平均值
  6. Kettle使用_14 文件操作复制移动删除结合JS
  7. dedecmsmip_织梦MIP文章内容页图片适配百度MIP规范
  8. tf.pad函数功能介绍
  9. matlab创建二叉树(二维数据)
  10. 2018-2019 网络对抗技术 20165231 Exp5 MSF基础应用