Как связать определенную строку в одном массиве со второй строкой в ​​другом массиве? - PullRequest
0 голосов
/ 05 февраля 2019

Сейчас я в полной растерянности.

Я пытался заставить свою программу работать бесчисленное количество раз, но она просто не хочет.

Быстрый обзор:

В настоящее время я программирую небольшую словарную викторину, которая дает пользователю случайный английский термин, и пользователь должен ответить с правильным немецким термином.После завершения теста будет отображено количество правильных / ложных ответов.

И английские, и немецкие термины хранятся в двумерных массивах, и я не могу, как мне кажется, понять, какубедитесь, что правильный немецкий термин зафиксирован на соответствующем английском слове.

Вот код:

#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <time.h>
#include <ctype.h>
#include <string.h>
#include <windows.h>


char eng[15][400]={"House","Lunatic","Nondescript","Ubiquity","Barley","Cardiac Arrest","Foreclosure",
"Thunderstorm","The answer to life, the universe and everything","Singularity"};
char ger[15][200]={"Haus","Irrer","nichtssagend","Allgegenwart","Gerste","Herzstillstand","Zwangsvollstreckung",
"Gewitter","42","Besonderheit"};
int i,corr=0,wrong=0,rnd, counter=0;
int choice[5];
int inArray;
char D[40];

int main(){

    srand(time(NULL));

    for(int i=0;i<5;i++) choice[i]=-1;

    while(counter < 5){
        rnd = rand()%10;
        inArray = 0;

        for(int i=0; i<5; i++){
            if(choice[i] == rnd){
                inArray = 1;
            }
        }
        if(!inArray){
            printf("\nQuestion number %d : %s\nPlease enter your answer: ", counter, eng[rnd]);
            gets(D);

            if(D==ger[rnd]){
                corr++;
            }
            else{
                wrong++;
            }
            choice[counter] = rnd;
            counter++;  
        }
    }
    Sleep(1000);
    printf("\n\n\n# of correct answers: %d\n# of false answers: %d",corr,wrong);


return 0;
getchar();
}

Приложение: Мой счетчик для числа ответов правильный / неправильный, кажется, сломана есть какие-нибудь идеи на этот счет?

1 Ответ

0 голосов
/ 05 февраля 2019

Вы можете попробовать со структурой:

#include "stdio.h"

struct word {
    char *eng;
    char *ger;
};

struct word voc[] = {
    {"House", "Haus"},
    {"Lunatic", "Irrer"}
    //etc...
};

int main() {
    printf("%s %s\n", voc[1].eng, voc[1].ger);
    return 0;
}

// Lunatic Irrer

(использовать символьный указатель для статической строки)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...