ページ 11

構造体で入力された文字列の先頭を大文字にする

Posted: 2012年1月07日(土) 11:03
by sa
構造体に入力した文字列を大文字にする方法を教えてください



コード:

#include<stdio.h>

typedef struct{

    char moziretu[40];
}PE;
void nyuuryoku(PE *p);
int main(void)
{
	  int i;
	  PE a[990];
	  nyuuryoku(a);
	  return 0;
	 }


void nyuuryoku(PE *p)
{
	
	int b;
	for(b=0;2>b;b++)
	{

		printf("文字列を入力\n");
		scanf("%s",(p+b)->moziretu);
        }
}


このプログラムです

Re: 構造体で入力された文字列の先頭を大文字にする

Posted: 2012年1月07日(土) 11:27
by beatle
構造体などという話をするまえに,ある一文字を大文字にする方法はご存知でしょうか?

コード:

#include <stdio.h>
#include <ctype.h>
int main(void)
{
    char c = 'a';
    if (islower(c))
    {
        /* cを大文字にする */
    }
    printf("\c\n", c);
    return 0;
}

Re: 構造体で入力された文字列の先頭を大文字にする

Posted: 2012年1月07日(土) 11:39
by sa
ありがとうございます

それは知ってました。
でも出来れば関数を使わないで行いたいです

関数を使ってやる方法も今の段階ではよくわからないですけど

Re: 構造体で入力された文字列の先頭を大文字にする

Posted: 2012年1月07日(土) 11:48
by box
sa さんが書きました: でも出来れば関数を使わないで行いたいです
main関数だけで実装したい、ということですか?もしそういうことでしたら、
行ないたいことをすべてmain関数に押し込むだけのことです。

ところで、タイトルと本文とが一致していないです。質問者さんが本当に行ないたいことは、
・文字列の先頭を大文字にする
・文字列を大文字にする
のどちらなんでしょうか。

Re: 構造体で入力された文字列の先頭を大文字にする

Posted: 2012年1月07日(土) 11:51
by sa
nyuuryoku関数の中で行いたいですね


最初の文字を大文字にしたいです

Re: 構造体で入力された文字列の先頭を大文字にする

Posted: 2012年1月07日(土) 12:19
by non
ASCIIだとすると、
char str[]="abcd";
なら
str[0]=str[0]-('a'-'A');
とすればいいです。

Re: 構造体で入力された文字列の先頭を大文字にする

Posted: 2012年1月07日(土) 13:34
by sa
ありがとうございます
おかげさまで解決できました