- Joined
- Apr 21, 2007
- Messages
- 2,585
- Reaction score
- 1
Hey, in der Schule sollten wir ein Programm schreiben, welches mehrere Dinge macht. Ausschlaggebend ist aber nur die Programmierung des Teils bei dem die Kleinbuchstaben, Großbuchstaben und Sonderzeichen gezählt werden. Das funktionierte auch, aber dann sollten wir das in einer externen Funktion schreiben.
Was sind meine Fehler? Hab das auch ohne Zeiger gemacht, aber kriegs nicht hin, dass es ausgegeben wird.
Hier ohne Funktion (läuft 1a)
und hier mit funktion
Was sind meine Fehler? Hab das auch ohne Zeiger gemacht, aber kriegs nicht hin, dass es ausgegeben wird.
Hier ohne Funktion (läuft 1a)
Code:
#include <iostream>
// #include <stdlib.h>
// #include <cstdlib>
using namespace std;
void zeichenkette(int *, int *, int *);
int main(void)
{ int zahl1,zahl2=55;
int count1, count2, count3;
cout << "Inhalt von zahl2 : " << zahl2 << endl;
cout << "Bitte zahl1 einlesen : ";
cin >> zahl1;
cout << "Inhalt von zahl1 : " << zahl1 << endl;
for (int i = 1; i <= 10; i++)
cout << i << " " << i*i << endl;
string name1="Meier",name2="Otto",name3;
// name2 += name1;
name3 = name2 + " " + name1;
if (name1 < name2)
cout << name1[2];
zeichenkette(&count1,&count2,&count3);
cout << "Die Zeichenkette hat " <<count1<< " Kleinbuchstaben" <<endl;
cout << "Die Zeichenkette hat " <<count2<< " Grossbuchstaben" <<endl;
cout << "Die Zeichenkette hat " <<count3<< " Sonderzeichen" <<endl;
return 0;
}
void zeichenkette(int *cou1, int *cou2, int *cou3)
{
for(int j = 0; j < name1.length(); j++)
{
int *cou1, *cou2, *cou3;
if ('a' <= name1[j] && name1[j] <= 'z')
{
*cou1 += 1;
}
else if('A' <= name1[j] && name1[j] <= 'Z')
{
*cou2 += 1;
}
else
{
*cou3 += 1;
}
}
}
und hier mit funktion
Code:
#include <iostream>
// #include <stdlib.h>
// #include <cstdlib>
using namespace std;
void zeichenkette(int *, int *, int *);
int main(void)
{ int zahl1,zahl2=55;
int count1, count2, count3;
cout << "Inhalt von zahl2 : " << zahl2 << endl;
cout << "Bitte zahl1 einlesen : ";
cin >> zahl1;
cout << "Inhalt von zahl1 : " << zahl1 << endl;
for (int i = 1; i <= 10; i++)
cout << i << " " << i*i << endl;
string name1="Meier",name2="Otto",name3;
// name2 += name1;
name3 = name2 + " " + name1;
if (name1 < name2)
cout << name1[2];
zeichenkette(&count1,&count2,&count3);
cout << "Die Zeichenkette hat " <<count1<< " Kleinbuchstaben" <<endl;
cout << "Die Zeichenkette hat " <<count2<< " Grossbuchstaben" <<endl;
cout << "Die Zeichenkette hat " <<count3<< " Sonderzeichen" <<endl;
return 0;
}
void zeichenkette(int *cou1, int *cou2, int *cou3)
{
for(int j = 0; j < name1.length(); j++)
{
int *cou1, *cou2, *cou3;
if ('a' <= name1[j] && name1[j] <= 'z')
{
*cou1 += 1;
}
else if('A' <= name1[j] && name1[j] <= 'Z')
{
*cou2 += 1;
}
else
{
*cou3 += 1;
}
}
}