1.从文件操作角度分析:从键盘接收一个字符串然后显示是
#include<stdio.h>
int main()
{
char a[10];
scanf("%s",&a);
printf("%s \n",a);
}
运行后找右上角的“文件-新建-文件-选择c++ source File ”然后命名,名字后的扩展名为“.c”,然后确定,你的c源文件就创好了! #include“stdio.h” main() { 这里面就开始编程了,注意,所有的编程语句都必须是英语的! }
printf和scanf前面加f,成为fprint和fscanf,表示向文件输出和从文件输入,不是向屏幕输出和从键盘输入。
打开文件的语句是
fopen(文件位置,打开模式);
文件位置好理解,就是文件所在的位置,例如c://test.txt
打开模式有几种,
r(read): 读
w(write): 写
a(append): 追加
t(text): 文本文件,可省略不写
b(banary): 二进制文件
+: 读和写
一般是rt+,也可以写成r+,和w+,就是读和写,能保留原来的内容。
所以打开C盘下my目录中的文件c:\my\test.txt的语句是
fp=fopen("c://my/test.txt","r+");
注意文件夹符号同上面的不同。
基本的文件的读写语句。有文件的读写后,才能进行管理系统的开发,因为你的很多信息要存放到文件中才行,否则在程序中,关机后数据就没有了。
2.从结构化程序和函数角度分析:结构体首先要定义,因为每个程序用到的组合在一起的信息不一样,例如学生信息管理系统中,可能要将宿舍号码、姓名、性别、年龄、班级组合到一起,所以 第一行用struct告诉程序,下面是一个结构体,后面的stu是这个结构体的类型,类似整数用int表示,这个stu是你自己起的名字。
typedef stu
{ intnum;/*宿舍号码 */
char name[20];/*姓名*/
charsex[5];/*性别*/
intage;/*年龄*/
charsclass[20];/*班级*/
};
这个结构体中,包括了5个变量。
这样就有了一个新的变量类型,stu,这个变量类型是你自己定义的,同int,float是一样的。
如果定义一个整数变量a,你一定知道是
int a;
a=3;
那个定义一个你自己定义的stu类型的变量a,这样的形式,其中前面的struct告诉编译程序,这个stu是你自己定义的结构体类型,后面的a就是一个结构体变量了。
struct stu a;
但是赋值的时候,因为这个时候的a,代表了很多的信息,有num,name,sex,class,就是a中实际上是包括了很多的变量,那么怎么赋值呢?用点运算符”.”,就是a.num,a.name,a.sex,a.class,这个道理类似刚才提到的记录本每一页记录很多信息,这个a就代表1页纸,里面有很多信息栏,这一页纸的学号栏就用a.num表示,其他类似。如果有很多学生怎么办呢?那就多设置几个stu类型的变量,例如a1,a2,a3…就行放很多同学的信息,你一定想到,这不是一个好办法,因为信息都一样,有就是登记本每一页的格式都是一样的,这种方式适合用数组,
stu a[80];
这样,分别用a[0],a[1],a[2],…就可以存放至多到80个同学的信息了。
所以程序可以这样
#include<stdio.h>
struct stu
{ intnum; /*宿舍号码 */
char name[20];/*姓名*/
charsex[5];/*性别*/
intage;/*年龄*/
charsclass[20];/*班级*/
};
int main()
{
structstu a;
printf("依次输入宿舍号码,姓名,性别,年龄,班级,用回车分割,系统会显示输入的内容 \n");
scanf("%d%s%s%d%s",&a.num,&a.name,&a.sex,&a.age,&a.sclass);
printf("以下是刚才输入的信息保存到stu类型变量a中后的结果 \n");
printf("%d%s%s%d%s",&a.num,&a.name,&a.sex,&a.age,&a.sclass);
}
将不同的代码放到一起,用大括号括起来,然后给这段代码起个名字表示,类似咱们班级的名字,然后还要设置上参数,一遍使用这个函数的时候向里传递实际的值,类似一个加法的函数,完成两个数的相加,我们可以写成
myadd(int a, int b)
{
intc;
c=a+b;
re