私のプログラムは、ユーザー入力のサイズに合わせて動的に配列を割り当てます。 (ユーザー入力が「5」の場合、私のprog
配列のサイズは5です)。この配列の各要素には構造体が含まれている必要があります(構造体には名前と10種類のテストのポイントが含まれています)。最後に、私はこのように、これらの構造体を出力したいと思います:ダイナミック配列の要素をユーザー入力から構造体で埋める方法は?
a
1 2 3 4 5 6 7 8 9 10
b
4 5 3 2 3 7 8 9 11 12
私の問題は、私はこれを達成する方法がわからないということです。
a
1 2 3 4 5 .... 10
b
1 2 3 4 5 .....10
が、私はこれで時間を過ごし、私は完全に失われていますように感じる:私は達成することができた唯一のものは、下記のプログラム(私は最後に入力したデータがすべてを変える)と、これです。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct programming{
char name[30];
int partpoints[10];
};
int main(){
struct programming *prog;
int j,i,N;
printf("Please enter the total number of students: \n");
scanf("%d", &N);
prog=(struct programming*) malloc (N * sizeof(struct programming));
for(i=0;i<N;i++){
printf("Please enter the name of the student: \n");
scanf("%s",(prog+i)->name);
for(j=0;j<10;j++){
scanf("%d", (prog+j)->partpoints+j); //PROBLEM!!!!
}
}
printf("Name of students and their points: \n");
for(i=0;i<N;i++){
printf("%s\n", (prog+i)->name);
for(j=0;j<10;j++){
printf("%d\t",(prog+j)->partpoints[j]); //PROBLEM!!!!
}
putchar('\n');
}
return 0;
}
構造番号を注文したいのですか? –
あなたは「N」へのユーザー入力を要求しません –
あなたは学生番号をスキャンしませんでしたN !!!!!! –