All pastes #912991 Raw Edit

Serie IX / Aufgabe 4

public c v1 · immutable
·published 2008-02-21 19:36 UTC
rendered paste body
#include <string.h>#include <stdio.h>#include <ctype.h>void scanZeile(char*, int*, int*, int*, int*, int*, int*);int istVokal(char);int istKonsonant(char);int istZiffer(char);int istZwischenraum(char);int istRest(char);int main(){    int i = 0;    int pvok = 0;    int pkons = 0;    int pziff = 0;    int pzwi = 0;    int pand = 0;    int gesamt = 0;    char zeile[1024];       printf("Geben Sie einen Satz zum Analysieren an: \n\n => ");       // scanf("%s", zeile);    gets(zeile);    scanZeile(zeile, &pvok, &pkons, &pziff, &pzwi, &pand, &gesamt);     printf("\n\n");    printf("====== Statistiken ====== \n");    printf("= Gesamtzeichen: %i \n", gesamt);    printf("= Vokale: %i \n", pvok);    printf("= Konsonanten: %i \n", pkons);    printf("= Ziffern: %i \n", pziff);    printf("= Zwischenraumzeichen: %i \n", pzwi);    printf("= Restliche Zeichen: %i \n", pand);    printf("========================= \n");    scanf("%");      return 0;}void scanZeile(char *zeile, int *pvok, int *pkons, int *pziff, int *pzwi, int *pand, int *gesamt){    int i;    char gross;        while(*zeile != '\0'){        gross = toupper(*zeile);                if(istVokal(gross) == 1) ++ * pvok;        if(istKonsonant(gross) == 1) ++ * pkons;        if(istZiffer(gross)) ++ * pziff;        if(istZwischenraum(gross)) ++ * pzwi;        if(istRest(gross)) ++ * pand;                ++ * gesamt;         zeile++;    }}int istKonsonant(char c){    int i;    int konsonatenRange[2] = {66, 90};        for(i = konsonatenRange[0]; i <= konsonatenRange[1]; i++){        if(istVokal(c) == 0){            if(c == (char)i)                return 1;            }    }        return 0;}int istVokal(char c){    int i;    int vokal[5] = {65, 69, 73, 79, 85};    for(i = 0; i < 5; i++)        if( (char)vokal[i] == c) return 1;        return 0;}int istZiffer(char c){    int i;    int zifferRange[2] = {48, 57};        for(i = zifferRange[0]; i <= zifferRange[1]; i++){        if( (char)i == c) return 1;    }        return 0;}int istZwischenraum(char c){    int i;    char zwischenraum[2] = {32, 9};        for(i = 0; i < 2; i++){        if( (char)zwischenraum[i] == c) return 1;        }        return 0;}int istRest(char c){    if(istVokal(c) == 0 && istKonsonant(c) == 0 && istZiffer(c) == 0 && istZwischenraum(c) == 0) return 1;    return 0;}