#include <stdio.h>
#include <string.h>
typedef struct Pessoa{
char nome[150];
struct Datanasc{
int dia;
int mes;
int ano;
} datanasc;
char genero;
char pref;
} pessoa;
typedef struct Aresta{
int *pont;
int *pont2;
int peso;
} aresta;
void leitura(struct Pessoa c1){
printf("Entrei sua vagabunda\n");
int diaatual,mesatual,anoatual;
int numeroalunos;
int i;
scanf("%d/%d/%d",&diaatual,&mesatual,&anoatual);
scanf(" %d",&numeroalunos);
for(i=0;i<numeroalunos;i++){
scanf(" %[^\n]s", pessoa[i].nome);
scanf(" %d/%d/%d", &pessoa[i].datanasc.dia,&pessoa[i].datanasc.mes,&pessoa[i].datanasc.ano);
scanf(" %c %c", &pessoa.genero[i],&pessoa.pref[i]);
}
for(i=0;i<numeroalunos;i++){
printf(" %[^\n]s", pessoa[i].nome);
printf(" %d/%d/%d", pessoa[i].dia,pessoa[i].mes,pessoa[i].ano);
printf(" %c %c", pessoa[i].genero,pessoa[i].pref);
}
return;
}
int main(){
pessoa c1;
leitura(c1);
return 0;
}
私のコードには何が問題なのですか? "pessoa"の前の29,30,31,35,36,37の予想される式の行にエラーがあります 私の構造に問題があります。おそらくそれは私が持っているものに関連していますCの構造体とポインタ
と29.30.31行を数えます.....? –
あなたは 'malloc()'に慣れていますか?もしそうなら、これを使って 'numeroalunos'に基づいて' pessoa'の配列を作成する必要があります。次に、その変数を使用して 'scanf'入力と' printf'を最後のforループに格納することができます。 –
申し訳ありませんが、スタックの番号が表示されませんでした。 – Kingdessacaralha