C :: Aufgabe #17

2 Lösungen Lösungen öffentlich

Text abwechselnd in Groß- und Kleinschreibung

Anfänger - C von Dome - 29.12.2012 um 01:34 Uhr
Schreiben Sie ein Programm, welches einen eingegeben Text so manipuliert, das der Text abwechselnd in Groß- und Kleinschreibung auf den Bildschirm ausgegeben wird.

Konsolenausgabe:

Texteingabe: Beispieltext
Textausgabe: BeIsPiElTeXt

Lösungen:

vote_ok
von devnull (8870 Punkte) - 13.07.2013 um 19:34 Uhr
Quellcode ausblenden C-Code
/********************************************
 * gk.c       Wechsel gross/klein im Text
 *
 * OS     :   GNU/Linux
 * compile:   gcc -Wall -o gk gk.c
 *
 * devnull    13-07-2013                
 ********************************************/
#include <stdio.h>
#include <ctype.h>
#include <string.h>

#define BUF_LEN  1000

/* functions */
/* read input line from stdin */
int readln( char *line )
{
	int len;
	if (fgets(line, BUF_LEN, stdin) != NULL) {
		line[BUF_LEN]='\0';
		len=strlen(line);
		return len;
	}
	else
		return -1;
}

char* upper_lower( char *buf )
{
	char* p;
	int m;
	
	for (p=buf,m=1;*p;p++,m++)
		*p = (m%2) ? toupper(*p) : tolower(*p);
	return buf;
}

/* main */
int main()
{
    char buffer[BUF_LEN+1];

	printf("Texteingabe: ");
	if (readln(buffer) > 0)
		printf("Textausgabe: %s\n", upper_lower(buffer));
	return 0;
}
vote_ok
von kathleenw (3600 Punkte) - 08.07.2020 um 08:53 Uhr
Quellcode ausblenden C-Code
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>

int main(void)
{
    char wort[100];
    int i = 2;
    
    printf("Bitte gib ein Wort ein welches manipuliert werden soll: \n");
    if (fgets(wort,sizeof(wort),stdin)==NULL) {
        printf("Fehler beim Einlesen\n");
        return EXIT_FAILURE;
    }
    
    while(wort[i-2]) {
        if (i%2==0)
            putchar(toupper(wort[i-2]));
        else
            putchar(tolower(wort[i-2]));
        i++;
    }
 
    return EXIT_SUCCESS;
}