![]() ![]() |
|
C教程-----指针、结构、联合和枚举(2) | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:00:31 文章录入:杜斌 责任编辑:杜斌 | |
|
|
结构是一个新的数据类型, 因此结构变量也可以象其它类型的变量一样赋值、 运算, 不同的是结构变量以成员作为基本变量。 结构成员的表示方式为: 结构变量.成员名 如果将"结构变量.成员名"看成一个整体, 则这个整体的数据类型与结构中 该成员的数据类型相同, 这样就可象前面所讲的变量那样使用。 下面这个例子定义了一个结构变量, 其中每个成员都从键盘接收数据, 然后 对结构中的浮点数求和, 并显示运算结果, 同时将数据以文本方式存入一个名为 wage.dat的磁盘文件中。请注意这个例子中不同结构成员的访问。 例3: #include main() { struct{ /*定义一个结构变量*/ char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; }a; FILE *fp; float wage; char c=’Y’; fp=fopen("wage.dat", "w"); /*创建一个文件只写*/ while(c==’Y’||c==’y’) /*判断是否继续循环*/ { printf(" Name:"); scanf("%s", a.name); /*输入姓名*/ printf("Age:"); scanf("%d", &a.wage); /*输入年龄*/ printf("Sex:"); scanf("%d", a.sex); printf("Dept:"); scanf("%s", a.depart); printf("Wage1:"); scanf("%f", &a.wage1); /*输入工资*/ printf("Wage2:"); scanf("%f", &a.wage2); printf("Wage3:"); scanf("%f", &a.wage3); printf("Wage4:"); scanf("%f", &a.wage4); printf("Wage5:"); scanf("%f", &a.wage5); wage=a.wage1+a.wage2+a.wage3+a.wage4+a.wage5; printf("The sum of wage is %6.2f ", wage);/*显示结果*/ fprintf(fp, "sM%4s0s.2f ", /*结果写入文件*/ a.name, a.age, a.sex, a.depart, wage); while(1) { printf("Continue?"); c=getche(); if(c==’Y’||c==’y’||c==’N’||c==’n’) break; } } fclose(fp); } |
|
![]() ![]() |