结构体应用学生成绩录入

#include<stdio.h>
#include
<conio.h>
#include
<string.h>
struct stud_type
{
    
char name[20];
    
long num;
    
char sex;
}
;

void print(struct stud_type *p)
{
    
int i;
    
for(i=0;i<3;i++)
        printf(
"%-20s%8ld%c\n",(p+i)->name,(p+i)->num,(p+i)->sex);
    
//printf("%-20s%8ld%c\n",(*(p+i)).name,(*(p+i))->num,(*(p+i))->sex);

}


void main()
{
    
struct stud_type student[3],*p;
    
int i;
    
for(i=0,p=student;i<3;p++,i++)
    
{
        printf(
"Input student[%d] name:",i);
        scanf(
"%s",p->name);
        printf(
"Input student[%d] num:",i);
        scanf(
"%ld",&p->num);
        printf(
"Input student[%d] sex:",i);
        scanf(
" %c",&p->sex);        /*%c前要加入空格,否则在输入时会出错!回车符会当作字符处理*/
    }

    print(student);
    getch();
}





#include<stdio.h>
#include
<conio.h>
#include
<string.h>

struct stud_type
{
    
char name[20];
    
int num;
    
char sex;
}
;

void print(struct stud_type *p)
{
    
int i;
    
for(i=0;i<3;i++)
        printf(
"%-10s%-5d%c\n",(p+i)->name,(p+i)->num,(p+i)->sex);
    
//printf("%-20s%8ld%c\n",(*(p+i)).name,(*(p+i))->num,(*(p+i))->sex);

}


void input(struct stud_type *p)
{
    
int i;
    
for(i=0;i<3;i++)
    
{
        printf(
"Input student[%d] name:",i);
        scanf(
"%s",(p+i)->name);
        printf(
"Input student[%d] num:",i);
        scanf(
"%ld",&(p+i)->num);
        printf(
"Input student[%d] sex:",i);
        scanf(
" %c",&(p+i)->sex);        /*%c前要加入空格,否则在输入时会出错!回车符会当作字符处理*/
    }

}


void main()
{
    
struct stud_type student[3];

  input(student);
    print(student);
    getch();
}




原文地址:https://www.cnblogs.com/qixin622/p/626144.html