C :: Aufgabe #17
2 Lösungen
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:
/********************************************
* 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;
}
#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;
}
