#define _CRT_SECURE_NO_DEPRECATE
#include
#include
void main() {
struct Member
{
char ID[7];
char name[10];
char sex;
int age;
char rank;
union grade
{
char vip;
int gen;
}mem_grade;
int points;
}mem;
printf("请输入会员信息:\n");
printf("会员编号:");
scanf("%s", &mem.ID);
printf("会员姓名:");
scanf("%s", mem.name);
printf("会员性别:");
scanf("%c", &mem.sex);
getchar();
printf("会员年龄:");
scanf("%d", &mem.age);
getchar();
printf("会员等级:");
scanf("%c", &mem.rank);
getchar();
if (mem.rank == 'v') {
printf("VIP级别。\n");
scanf("%c", &mem.mem_grade.vip);
}
else if (mem.rank == 'g') {
printf("普通会员级别。\n");
scanf("%d", mem.mem_grade.gen);
}
printf("ID name sex age rank 级别\n");
printf("%s %s %c %d %c ", mem.ID, mem.sex, mem.sex, mem.age, mem.rank);
if (mem.rank == 'v') printf(" %c", mem.mem_grade.vip);
else printf(" %d", mem.mem_grade.gen);
system("pause");
}
把代码贴全了。
#include 后面是什么?
#include
#include
scanf("%s", &mem.ID);
改为:
scanf("%s", mem.ID); //ID是数组,不用再加&
scanf("%d", mem.mem_grade.gen);
改为:
scanf("%d", &mem.mem_grade.gen);
printf("%s %s %c %d %c ", mem.ID, mem.sex, mem.sex, mem.age, mem.rank);
改为:
printf("%s %s %c %d %c ", mem.ID, mem.name, mem.sex, mem.age, mem.rank);
#include <stdio.h>
#include <stdlib.h>
但是还是会出现异常
什么异常?贴出来看看。
#include "stdafx.h"
#include <stdlib.h>
void main()
{
struct Member
{
char ID[7];
char name[10];
char sex;
int age;
char rank;
union grade
{
char vip;
int gen;
}mem_grade;
int points;
}mem;
printf("请输入会员信息:\n");
printf("会员编号:");
scanf("%s",mem.ID);
printf("会员姓名:");
scanf("%s", mem.name);
printf("会员性别:");
scanf("%c", &mem.sex);
getchar();
printf("会员年龄:");
scanf("%d", &mem.age);
getchar();
printf("会员等级:");
scanf("%c", &mem.rank);
getchar();
if (mem.rank == 'v') {
printf("VIP级别。\n");
scanf("%c", &mem.mem_grade.vip);
}
else if (mem.rank == 'g') {
printf("普通会员级别。\n");
scanf("%d", &mem.mem_grade.gen);
}
printf("ID name sex age rank 级别\n");
printf("%s %s %c %d %c ", mem.ID, mem.name, mem.sex, mem.age, mem.rank);
if (mem.rank == 'v') printf(" %c", mem.mem_grade.vip);
else printf(" %d", mem.mem_grade.gen);
system("pause");
}