-1
車で構造体を実現する際に問題が発生しました。車庫に各車の数を出力する必要がありますので、出力は次のようになります。 Audi 3 Ford 1 ポルシェ1 私はユニークな要素の数を積み重ねています。文字列の配列を作成し、構造体を通過し、uが最後に到達するたびに新しい要素を追加する必要があることを知っています要素が文字列の配列に見つかりませんでした。Cの構造体の配列内のユニークな要素を数えます
#include <stdio.h>
#include <Windows.h>
#include <time.h>
typedef struct Auto{
char Model [16];
char Number [8];
char Color [10];
char Name [16];
};
int main() {
int i, j, counter = 0;
char EnteredModel[16] = { "Audi" };
struct Auto MyAuto[5] = { { "Audi", "x007x", "blue", "Alexander" },
{ "Ford", "x777x", "red", "Andrey" },
{ "Porsche","a000b", "white", "Oleg"},
{ "Audi", "x007x", "blue", "Sergey"},
{ "Audi", "f666f", "black", "Daniel"} };
//printf("Enter the number of the interested model: ");
//scanf("%s", &EnteredModel);
for (i = 0; i < 5; i++) {
if (i == 0) {
printf("#####################################################\n");
printf("#Model #Number #Color #Name #\n");
printf("#####################################################\n");
}
if (strcmp(MyAuto[i].Model, EnteredModel)) {
printf("%-17s%-9s%-11s%-17s\n", MyAuto[i].Model, MyAuto[i].Number, MyAuto[i].Color, MyAuto[i].Name);
}
}
for (j = 0; j < 5; j++) {
for (i = 0; i < 5; i++) {
if (strcmp(MyAuto[i].Model, MyAuto[j].Model) == 0) {
counter++;
}
}
printf("%s = %d\n", MyAuto[j].Model, counter);
counter = 0;
}
printf("\n");
system("pause");
return 0;
}
に変更されたことを確認しますが、 'typedef'を除去することができる、それがここには目的を持っていません。 –
'if(strcmp(MyAuto [i] .Model、EnteredModel)== 0){':あなたはゼロに対してテストを忘れてしまった。あなたの質問はまだ非常に不明です。 –
私にはあなたの求めるものが不明です。投稿されたコードにどのような問題がありますか? – 4386427