Поколение случайных молитв

Мой вопрос сейчас: Как я могу обращать первый характер каждой из цепей символов первой договоренности указателей, 'article', в прописную букву?, для того, чтобы, в момент показывания молитв, произведенных случайным образом, он был начат заглавной буквой.

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

/* Function prototypes. */
void generateSentences(const char *article_gen[], const char *noun_gen[], const char *verb_gen[], const char *preposition_gen[]);


int main()
{
    const char *article[5] = {"the", "a", "one", "some", "any"};
    const char *noun[5] = {"boy", "girl", "dog", "town", "car"};
    const char *verb[5] = {"drove", "jumped", "ran", "waled", "skipped"};
    const char *preposition[5] = {"to", "from", "over", "under", "on"}; 

    srand(time(0));

    generateSentences(article,noun,verb,preposition);

    getch();
    return 0;
}

void generateSentences(const char *article_gen[], const char *noun_gen[], const char *verb_gen[], const char *preposition_gen[])
{
    int cant;
    int sub_article1;
    int sub_article2;
    int sub_noun1;
    int sub_noun2;
    int sub_verb;
    int sub_preposition;

    for(cant = 1; cant <= 20; cant++)
    {
        sub_article1 = rand()%5;
        sub_article2 = rand()%5;
        sub_noun1 = rand()%5;
        sub_noun2 = rand()%5;
        sub_verb = rand()%5;
        sub_preposition = rand()%5;

        printf("\n%s %s %s %s %s %s.\n", article_gen[sub_article1], noun_gen[sub_noun1], verb_gen[sub_verb], preposition_gen[sub_preposition], article_gen[sub_article2], noun_gen[sub_noun2]);
    }
}
0
задан 21.04.2017, 19:27
0 ответов

Попытайся с этой альтернативой

void generateSentences(const char *article_gen[], const char *noun_gen[], const char *verb_gen[], const char *preposition_gen[])
{
    int cant;
    int sub_article1;
    int sub_article2;
    int sub_noun1;
    int sub_noun2;
    int sub_verb;
    int sub_preposition;
    char currentArticle[255];

    for(cant = 1; cant <= 20; cant++)
    {
        sub_article1 = rand()%5;
        sub_article2 = rand()%5;
        sub_noun1 = rand()%5;
        sub_noun2 = rand()%5;
        sub_verb = rand()%5;
        sub_preposition = rand()%5;

        //copio el contenido a una variable temporal
        strcpy(currentArticle,article_gen[sub_article1]);
        //de minisculas a mayusculas
        currentArticle[0]-=' ';

        printf("\n%s %s %s %s %s %s.\n", currentArticle, noun_gen[sub_noun1], verb_gen[sub_verb], preposition_gen[sub_preposition], article_gen[sub_article2], noun_gen[sub_noun2]);
    }
}

Я себе верю в переменную так называемый currentArticle, в который я скопирую статью, что повторяя в этом моменте и я буду изменять это, чтобы перемещать Ваш первый букву строчной буквы в прописную букву уменьшая 32 в десятичном или Ваш эквивалент, который является местом в мишени.

Другая форма состоит в том, чтобы использовать функцию toUpper http://www.cplusplus.com/reference/cctype/toupper/

1
ответ дан 03.12.2019, 17:47